CVSROOT: /sources/qemu Module name: qemu Changes by: Fabrice Bellard <bellard> 06/06/14 15:53:24
Modified files: . : cocoa.m Log message: cocoa monitor fix regarding the handling of dead keys (Joachim Henke) CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/cocoa.m?cvsroot=qemu&r1=1.9&r2=1.10 Patches: Index: cocoa.m =================================================================== RCS file: /sources/qemu/qemu/cocoa.m,v retrieving revision 1.9 retrieving revision 1.10 diff -u -b -r1.9 -r1.10 --- cocoa.m 22 May 2006 21:25:04 -0000 1.9 +++ cocoa.m 14 Jun 2006 15:53:24 -0000 1.10 @@ -439,23 +439,40 @@ kbd_put_keycode(keycode & 0x7f); //remove e0 bit in front /* handle monitor key events */ } else { + int keysym = 0; + switch([event keyCode]) { + case 115: + keysym = QEMU_KEY_HOME; + break; + case 117: + keysym = QEMU_KEY_DELETE; + break; + case 119: + keysym = QEMU_KEY_END; + break; case 123: - kbd_put_keysym(QEMU_KEY_LEFT); + keysym = QEMU_KEY_LEFT; break; case 124: - kbd_put_keysym(QEMU_KEY_RIGHT); + keysym = QEMU_KEY_RIGHT; break; case 125: - kbd_put_keysym(QEMU_KEY_DOWN); + keysym = QEMU_KEY_DOWN; break; case 126: - kbd_put_keysym(QEMU_KEY_UP); + keysym = QEMU_KEY_UP; break; default: - kbd_put_keysym([[event characters] characterAtIndex:0]); - break; + { + NSString *ks = [event characters]; + + if ([ks length] > 0) + keysym = [ks characterAtIndex:0]; + } } + if (keysym) + kbd_put_keysym(keysym); } } } _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel