99 lines
2.9 KiB
Diff
99 lines
2.9 KiB
Diff
diff --git forkSrcPrefix/src/video/fbcon/SDL_fbkeys.h forkDstPrefix/src/video/fbcon/SDL_fbkeys.h
|
|
index 2b01b6b2e3588426e50dbf109e09e0fdb8755091..4acd13df4302185d27964859a58f8b09c25f13f3 100644
|
|
--- forkSrcPrefix/src/video/fbcon/SDL_fbkeys.h
|
|
+++ forkDstPrefix/src/video/fbcon/SDL_fbkeys.h
|
|
@@ -114,6 +114,15 @@
|
|
#define SCANCODE_F11 87
|
|
#define SCANCODE_F12 88
|
|
|
|
+/* RG35XX */
|
|
+#define SCANCODE_KATAKANA 90
|
|
+#define SCANCODE_HIRAGANA 91
|
|
+#define SCANCODE_HENKAN 92
|
|
+#define SCANCODE_KATAKANAHIRAGANA 93
|
|
+#define SCANCODE_MUHENKAN 94
|
|
+#define SCANCODE_KPJPCOMMA 95
|
|
+#define SCANCODE_POWER 116
|
|
+
|
|
#define SCANCODE_KEYPADENTER 96
|
|
#define SCANCODE_RIGHTCONTROL 97
|
|
#define SCANCODE_CONTROL 97
|
|
diff --git forkSrcPrefix/include/SDL_keysym.h forkDstPrefix/include/SDL_keysym.h
|
|
index f2ad12b81ef5725e3d975c9ad3a775fa50aa6cb6..7c348322a4d0434f4cd7349fdbd62026d4e65911 100644
|
|
--- forkSrcPrefix/include/SDL_keysym.h
|
|
+++ forkDstPrefix/include/SDL_keysym.h
|
|
@@ -296,6 +296,19 @@ typedef enum {
|
|
SDLK_UNDO = 322, /**< Atari keyboard has Undo */
|
|
/*@}*/
|
|
|
|
+ /** @name RG35XX keys */
|
|
+ /*@{*/
|
|
+ SDLK_KATAKANA = 323,
|
|
+ SDLK_HIRAGANA = 324,
|
|
+ SDLK_HENKAN = 325,
|
|
+ SDLK_KATAKANAHIRAGANA = 326,
|
|
+ SDLK_MUHENKAN = 327,
|
|
+ SDLK_KP_JPCOMMA = 328,
|
|
+ SDLK_KP_SLASH = 329,
|
|
+ SDLK_CURSORBLOCKUP = 330,
|
|
+ SDLK_CURSORBLOCKDOWN = 331,
|
|
+ /*@}*/
|
|
+
|
|
/* Add any other keys here */
|
|
|
|
SDLK_LAST
|
|
diff --git forkSrcPrefix/src/video/fbcon/SDL_fbevents.c forkDstPrefix/src/video/fbcon/SDL_fbevents.c
|
|
index 5e369a4a89c3157206abed1f4c4b8e27aef17024..c15d1b85b7f06757b24fb7f17dc73e6bab1c2148 100644
|
|
--- forkSrcPrefix/src/video/fbcon/SDL_fbevents.c
|
|
+++ forkDstPrefix/src/video/fbcon/SDL_fbevents.c
|
|
@@ -1133,6 +1133,41 @@ void FB_InitOSKeymap(_THIS)
|
|
case 127:
|
|
keymap[i] = SDLK_MENU;
|
|
break;
|
|
+
|
|
+ /* RG35XX */
|
|
+ case SCANCODE_KATAKANA:
|
|
+ keymap[i] = SDLK_KATAKANA;
|
|
+ break;
|
|
+ case SCANCODE_HIRAGANA:
|
|
+ keymap[i] = SDLK_HIRAGANA;
|
|
+ break;
|
|
+ case SCANCODE_HENKAN:
|
|
+ keymap[i] = SDLK_HENKAN;
|
|
+ break;
|
|
+ case SCANCODE_KATAKANAHIRAGANA:
|
|
+ keymap[i] = SDLK_KATAKANAHIRAGANA;
|
|
+ break;
|
|
+ case SCANCODE_MUHENKAN:
|
|
+ keymap[i] = SDLK_MUHENKAN;
|
|
+ break;
|
|
+ case SCANCODE_KPJPCOMMA:
|
|
+ keymap[i] = SDLK_KP_JPCOMMA;
|
|
+ break;
|
|
+ case SCANCODE_KEYPADENTER:
|
|
+ keymap[i] = SDLK_KP_ENTER;
|
|
+ break;
|
|
+ case SCANCODE_CURSORBLOCKUP:
|
|
+ keymap[i] = SDLK_CURSORBLOCKUP;
|
|
+ break;
|
|
+ case SCANCODE_CURSORBLOCKDOWN:
|
|
+ keymap[i] = SDLK_CURSORBLOCKDOWN;
|
|
+ break;
|
|
+ case SCANCODE_POWER: // this doesn't stick so we override below
|
|
+ keymap[i] = SDLK_POWER; // leaving this in just in case
|
|
+ break;
|
|
+
|
|
+
|
|
+
|
|
/* this should take care of all standard ascii keys */
|
|
default:
|
|
keymap[i] = KVAL(vga_keymap[0][i]);
|
|
@@ -1208,6 +1243,8 @@ void FB_InitOSKeymap(_THIS)
|
|
default: break;
|
|
}
|
|
}
|
|
+
|
|
+ keymap[116] = SDLK_POWER; // requires hard override for some reason
|
|
}
|
|
|
|
static SDL_keysym *TranslateKey(int scancode, SDL_keysym *keysym)
|