mirror of https://github.com/xqemu/xqemu.git
cocoa monitor fix regarding the handling of dead keys (Joachim Henke)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1975 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
ec3757de32
commit
5cbfcd00b0
47
cocoa.m
47
cocoa.m
|
@ -439,23 +439,40 @@ static void cocoa_refresh(DisplayState *ds)
|
||||||
kbd_put_keycode(keycode & 0x7f); //remove e0 bit in front
|
kbd_put_keycode(keycode & 0x7f); //remove e0 bit in front
|
||||||
/* handle monitor key events */
|
/* handle monitor key events */
|
||||||
} else {
|
} else {
|
||||||
|
int keysym = 0;
|
||||||
|
|
||||||
switch([event keyCode]) {
|
switch([event keyCode]) {
|
||||||
case 123:
|
case 115:
|
||||||
kbd_put_keysym(QEMU_KEY_LEFT);
|
keysym = QEMU_KEY_HOME;
|
||||||
break;
|
break;
|
||||||
case 124:
|
case 117:
|
||||||
kbd_put_keysym(QEMU_KEY_RIGHT);
|
keysym = QEMU_KEY_DELETE;
|
||||||
break;
|
break;
|
||||||
case 125:
|
case 119:
|
||||||
kbd_put_keysym(QEMU_KEY_DOWN);
|
keysym = QEMU_KEY_END;
|
||||||
break;
|
break;
|
||||||
case 126:
|
case 123:
|
||||||
kbd_put_keysym(QEMU_KEY_UP);
|
keysym = QEMU_KEY_LEFT;
|
||||||
break;
|
break;
|
||||||
default:
|
case 124:
|
||||||
kbd_put_keysym([[event characters] characterAtIndex:0]);
|
keysym = QEMU_KEY_RIGHT;
|
||||||
break;
|
break;
|
||||||
|
case 125:
|
||||||
|
keysym = QEMU_KEY_DOWN;
|
||||||
|
break;
|
||||||
|
case 126:
|
||||||
|
keysym = QEMU_KEY_UP;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
NSString *ks = [event characters];
|
||||||
|
|
||||||
|
if ([ks length] > 0)
|
||||||
|
keysym = [ks characterAtIndex:0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (keysym)
|
||||||
|
kbd_put_keysym(keysym);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue