JP key to directx mode

This commit is contained in:
Wengier
2021-06-30 02:26:00 -04:00
parent 34cae019ca
commit fbfb9430fe

View File

@@ -46,6 +46,7 @@
#define MAX_INPUTS 2
#define INPUT_QSIZE 512 /* Buffer up to 512 input messages */
static HKL hLayout = NULL;
static LPDIRECTINPUT dinput = NULL;
static LPDIRECTINPUTDEVICE2 SDL_DIdev[MAX_INPUTS];
static HANDLE SDL_DIevt[MAX_INPUTS];
@@ -915,7 +916,7 @@ void DX5_InitOSKeymap(_THIS)
#define DIK_OEM_102 0x56 /* < > | on UK/Germany keyboards */
#endif
int i;
hLayout = GetKeyboardLayout(0);
/* Map the DIK scancodes to SDL keysyms */
for (i = 0; i < SDL_arraysize(DIK_keymap); ++i)
DIK_keymap[i] = 0;
@@ -1032,6 +1033,20 @@ void DX5_InitOSKeymap(_THIS)
DIK_keymap[DIK_LWIN] = SDLK_LMETA;
DIK_keymap[DIK_RWIN] = SDLK_RMETA;
DIK_keymap[DIK_APPS] = SDLK_MENU;
switch (LOWORD(hLayout)) {
case 0x411: /* JP */
// DIK_keymap[DIK_KANJI] = SDLK_WORLD_12; // Hankaku/Zenkaku (FIX ME: This key works as a toggle key)
DIK_keymap[DIK_CONVERT] = SDLK_WORLD_14;//henkan
DIK_keymap[DIK_NOCONVERT] = SDLK_WORLD_13; //muhenkan
// DIK_keymap[DIK_KANA] = SDLK_WORLD_15; // Hiragana/Katakana (FIX ME: This key works as a toggle key)
DIK_keymap[DIK_YEN] = SDLK_JP_YEN; // \ |
//DIK_keymap[DIK_AT] = SDLK_AT; // @ `
DIK_keymap[DIK_COLON] = SDLK_COLON; // : *
DIK_keymap[DIK_CIRCUMFLEX] = SDLK_CARET; // ^ ~
//DIK_keymap[DIK_BACKSLASH] = SDLK_JP_RO; // \ _
break;
}
}
static SDL_keysym *TranslateKey(UINT scancode, SDL_keysym *keysym, int pressed)