File tree Expand file tree Collapse file tree 2 files changed +9
-8
lines changed Expand file tree Collapse file tree 2 files changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -434,12 +434,13 @@ void fb_hCocoaWaitVSync() {
434434 dispatch_semaphore_wait (vsyncSema, DISPATCH_TIME_FOREVER);
435435}
436436
437- static inline int translate_key (unsigned char key, int scancode) {
438- if (key == 0 ) {
439- return scancode;
440- } else {
441- return fb_hScancodeToExtendedKey (scancode);
442- }
437+ // TODO: Handle all extended keys properly
438+ static inline int translate_key (NSEvent * event, int scancode) {
439+ unsigned char key = [event charactersIgnoringModifiers ].UTF8String [0 ];
440+ int extendedKey = fb_hScancodeToExtendedKey (scancode);
441+ if (extendedKey) return extendedKey;
442+
443+ return key;
443444}
444445
445446static void driver_poll_events () {
@@ -459,7 +460,7 @@ static void driver_poll_events() {
459460 e.scancode = fb_cocoakeycode_to_scancode[event.keyCode];
460461 __fb_gfx->key [e.scancode] = TRUE ;
461462
462- key = translate_key ([ event charactersIgnoringModifiers ]. UTF8String [ 0 ] , e.scancode );
463+ key = translate_key (event, e.scancode );
463464 if (key) {
464465 fb_hPostKey (key);
465466 e.ascii = (key > 0 && key < 0xFF ) ? key : 0 ;
Original file line number Diff line number Diff line change 11#include "../fb.h"
22
3- static const int fb_cocoakeycode_to_scancode [] = {
3+ static const int fb_cocoakeycode_to_scancode [256 ] = {
44 [0x35 ] = SC_ESCAPE ,
55 [0x7A ] = SC_F1 ,
66 [0x78 ] = SC_F2 ,
You can’t perform that action at this time.
0 commit comments