From ce71f06f13b85d9558510ce955718fa50163e6be Mon Sep 17 00:00:00 2001 From: James Liu <17558260+JamesLewisLiu@users.noreply.github.com> Date: Sat, 23 Dec 2023 22:12:25 +0800 Subject: [PATCH] Fix missing keys and config.toml Fix missing keys in poll.cpp and add key binding description in keyconfig.toml --- dist/keyconfig.toml | 12 +++++--- src/poll.cpp | 73 +++++++++++++++++++++++---------------------- 2 files changed, 45 insertions(+), 40 deletions(-) diff --git a/dist/keyconfig.toml b/dist/keyconfig.toml index aaa4205..71f0fdd 100644 --- a/dist/keyconfig.toml +++ b/dist/keyconfig.toml @@ -21,11 +21,15 @@ P2_LEFT_RED = [] P2_RIGHT_RED = [] P2_RIGHT_BLUE = [] -# F1 through F12 -# NUM0 through NUM9 -# QWERTYUIOPASDFGHJKLZXCVBNM +# ESCAPE F1 through F12 +# ` 1 through 0 -= BACKSPACE +# TAB QWERTYUIOP [ ] BACKSLASH +# CAPS_LOCK ASDFGHJKL ;' ENTER +# SHIFT ZXCVBNM , . SLASH +# CONTROL L_WIN ALT SPACE R_WIN MENU +# SCROLL_LOCK PAUSE INSERT DELETE HOME END PAGE_UP PAGE_DOWN # UPARROW LEFTARROW DOWNARROW RIGHTARROW -# ENTER SPACE CONTROL SHIFT TAB +# NUM0 through NUM9 NUM_LOCK DIVIDE MULTIPLY SUBTRACT ADD DECIMAL # SCROLL_UP SCROLL_DOWN # SDL_A SDL_B SDL_X SDL_Y # SDL_BACK SDL_GUIDE SDL_START diff --git a/src/poll.cpp b/src/poll.cpp index 01c9f06..1c75896 100644 --- a/src/poll.cpp +++ b/src/poll.cpp @@ -6,6 +6,8 @@ struct { const char *string; uint8_t keycode; } ConfigKeyboardButtons[] = { + //Reference:https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes + //Wayback Machine:https://web.archive.org/web/20231223135232/https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes //Row 1 {"ESCAPE", VK_ESCAPE}, {"F1", VK_F1}, @@ -20,12 +22,7 @@ struct { {"F10", VK_F10}, {"F11", VK_F11}, {"F12", VK_F12}, -//PrtSc is more important when making snapshots, therefore comment it as reserved -// {"PRINT_SCREEN", VK_SNAPSHOT}, - - {"SCROLL_LOCK", VK_SCROLL}, - {"PAUSE", VK_PAUSE}, - + //Row 2 {"`", VK_OEM_3}, {"1", '1'}, @@ -41,13 +38,6 @@ struct { {"-", VK_OEM_MINUS}, {"=", VK_OEM_PLUS}, {"BACKSPACE", VK_BACK}, - {"INS", VK_INSERT}, - {"HOME", VK_HOME}, - {"PAGE_UP", VK_PRIOR}, - {"NUM_LOCK", VK_NUMLOCK}, - {"DIVIDE", VK_DIVIDE}, - {"MULTIPLY", VK_MULTIPLY}, - {"SUBTRACT", VK_SUBTRACT}, //Row 3 {"TAB", VK_TAB}, @@ -63,14 +53,7 @@ struct { {"P", 'P'}, {"[", VK_OEM_4}, {"]", VK_OEM_6}, - {"\", VK_OEM_5}, - {"DELETE", VK_DELETE}, - {"END", VK_END}, - {"PAGE_DOWN", VK_NEXT}, - {"NUM7", VK_NUMPAD7}, - {"NUM8", VK_NUMPAD8}, - {"NUM9", VK_NUMPAD9}, - {"ADD", VK_ADD}, + {"BACKSLASH", VK_OEM_5}, //Row 4 {"CAPS_LOCK", VK_CAPITAL}, @@ -86,10 +69,6 @@ struct { {";", VK_OEM_1}, {"'", VK_OEM_7}, {"ENTER", VK_RETURN}, - {"NUM4", VK_NUMPAD4}, - {"NUM5", VK_NUMPAD5}, - {"NUM6", VK_NUMPAD6}, - //ADD is already defined //Row 5 {"SHIFT", VK_SHIFT}, @@ -102,29 +81,51 @@ struct { {"M", 'M'}, {",", VK_OEM_COMMA}, {".", VK_OEM_PERIOD}, - {"/", VK_OEM_2}, - //SHIFT is already defined - {"UPARROW", VK_UP}, - {"NUM1", VK_NUMPAD1}, - {"NUM2", VK_NUMPAD2}, - {"NUM3", VK_NUMPAD3}, - //ENTER is already defined + {"SLASH", VK_OEM_2}, //Row 6 {"CONTROL", VK_CONTROL}, {"L_WIN", VK_LWIN}, {"ALT", VK_MENU}, {"SPACE", VK_SPACE}, - //ALT is already defined {"R_WIN", VK_RWIN}, {"MENU", VK_APPS}, - //CONTROL is already defined + + //Other Keys + //PrtSc is more important when making snapshots, therefore comment it as reserved + //{"PRINT_SCREEN", VK_SNAPSHOT}, + {"SCROLL_LOCK", VK_SCROLL}, + {"PAUSE", VK_PAUSE}, + {"INSERT", VK_INSERT}, + {"DELETE", VK_DELETE}, + {"HOME", VK_HOME}, + {"END", VK_END}, + {"PAGE_UP", VK_PRIOR}, + {"PAGE_DOWN", VK_NEXT}, + + //Arrow Keys + {"UPARROW", VK_UP}, {"LEFTARROW", VK_LEFT}, {"DOWNARROW", VK_DOWN}, {"RIGHTARROW", VK_RIGHT}, + + //NUMPAD Keys + {"NUM_LOCK", VK_NUMLOCK}, + {"DIVIDE", VK_DIVIDE}, + {"MULTIPLY", VK_MULTIPLY}, + {"SUBTRACT", VK_SUBTRACT}, + {"NUM7", VK_NUMPAD7}, + {"NUM8", VK_NUMPAD8}, + {"NUM9", VK_NUMPAD9}, + {"ADD", VK_ADD}, + {"NUM4", VK_NUMPAD4}, + {"NUM5", VK_NUMPAD5}, + {"NUM6", VK_NUMPAD6}, + {"NUM1", VK_NUMPAD1}, + {"NUM2", VK_NUMPAD2}, + {"NUM3", VK_NUMPAD3}, {"NUM0", VK_NUMPAD0}, - {"DECIMAL", VK_DECIMAL}, - //ENTER is already defined + {"DECIMAL", VK_DECIMAL}, };