qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] qemu cocoa.m


From: Fabrice Bellard
Subject: [Qemu-devel] qemu cocoa.m
Date: Wed, 14 Jun 2006 15:53:24 +0000

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);
                             }
                         }
                     }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]