diff --git a/src/keyboard.c b/src/keyboard.c index 5f73ed55..5c9a5ed0 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -446,8 +446,8 @@ const char * Key_name(word key) { SDLK_F13 , "F13" }, { SDLK_F14 , "F14" }, { SDLK_F15 , "F15" }, + { SDLK_NUMLOCK , "NumLock" }, #endif - { KEY_NUMLOCK , "NumLock" }, { KEY_CAPSLOCK , "CapsLck" }, { KEY_SCROLLOCK , "ScrlLock" }, { KEY_RSHIFT , "RShift" }, @@ -614,7 +614,7 @@ const char * Key_name(word key) sprintf(buffer+strlen(buffer), "'%c'", toupper(key)); return buffer; } -#if defined(USE_SDL) || defined(USE_SDL2) +#if defined(USE_SDL) // Touches 'World' if (key>=SDLK_WORLD_0 && key <= SDLK_WORLD_95) { diff --git a/src/keycodes.h b/src/keycodes.h index cb4ea340..a9c13745 100644 --- a/src/keycodes.h +++ b/src/keycodes.h @@ -58,12 +58,22 @@ #define KEY_KP_MINUS K2K(SDLK_KP_MINUS) #define KEY_KP_MULTIPLY K2K(SDLK_KP_MULTIPLY) #define KEY_KP_ENTER K2K(SDLK_KP_ENTER) +#define KEY_KP_DIVIDE K2K(SDLK_KP_DIVIDE) +#define KEY_KP_PERIOD K2K(SDLK_KP_PERIOD) +#define KEY_KP_EQUALS K2K(SDLK_KP_EQUALS) #define KEY_EQUALS K2K(SDLK_EQUALS) #define KEY_MINUS K2K(SDLK_MINUS) #define KEY_PERIOD K2K(SDLK_PERIOD) #define KEY_CAPSLOCK K2K(SDLK_CAPSLOCK) #define KEY_CLEAR K2K(SDLK_CLEAR) #define KEY_SPACE K2K(SDLK_SPACE) +#define KEY_PAUSE K2K(SDLK_PAUSE) +#define KEY_LSHIFT K2K(SDLK_LSHIFT) +#define KEY_RSHIFT K2K(SDLK_RSHIFT) +#define KEY_LCTRL K2K(SDLK_LCTRL) +#define KEY_RCTRL K2K(SDLK_RCTRL) +#define KEY_LALT K2K(SDLK_LALT) +#define KEY_RALT K2K(SDLK_RALT) #define KEY_0 K2K(SDLK_0) #define KEY_1 K2K(SDLK_1) #define KEY_2 K2K(SDLK_2) @@ -111,6 +121,7 @@ #define KEY_KP7 K2K(SDLK_KP7) #define KEY_KP8 K2K(SDLK_KP8) #define KEY_KP9 K2K(SDLK_KP9) +#define KEY_SCROLLOCK K2K(SDLK_SCROLLOCK) #else #define KEY_KP0 K2K(SDLK_KP_0) #define KEY_KP1 K2K(SDLK_KP_1) @@ -122,6 +133,7 @@ #define KEY_KP7 K2K(SDLK_KP_7) #define KEY_KP8 K2K(SDLK_KP_8) #define KEY_KP9 K2K(SDLK_KP_9) +#define KEY_SCROLLOCK K2K(SDLK_SCROLLLOCK) #endif #define KEY_F1 K2K(SDLK_F1) #define KEY_F2 K2K(SDLK_F2) @@ -161,70 +173,81 @@ #define KEY_KP_MINUS 20 #define KEY_KP_MULTIPLY 21 #define KEY_KP_ENTER 22 -#define KEY_EQUALS 23 -#define KEY_MINUS 24 -#define KEY_PERIOD 25 -#define KEY_CAPSLOCK 26 -#define KEY_CLEAR 27 -#define KEY_SPACE 28 -#define KEY_0 29 -#define KEY_1 30 -#define KEY_2 31 -#define KEY_3 32 -#define KEY_4 33 -#define KEY_5 34 -#define KEY_6 35 -#define KEY_7 36 -#define KEY_8 37 -#define KEY_9 38 -#define KEY_a 39 -#define KEY_b 40 -#define KEY_c 41 -#define KEY_d 42 -#define KEY_e 43 -#define KEY_f 44 -#define KEY_g 45 -#define KEY_h 46 -#define KEY_i 47 -#define KEY_j 48 -#define KEY_k 49 -#define KEY_l 50 -#define KEY_m 51 -#define KEY_n 52 -#define KEY_o 53 -#define KEY_p 54 -#define KEY_q 55 -#define KEY_r 56 -#define KEY_s 57 -#define KEY_t 58 -#define KEY_u 59 -#define KEY_v 60 -#define KEY_w 61 -#define KEY_x 62 -#define KEY_y 63 -#define KEY_z 64 -#define KEY_KP0 65 -#define KEY_KP1 66 -#define KEY_KP2 67 -#define KEY_KP3 68 -#define KEY_KP4 69 -#define KEY_KP5 70 -#define KEY_KP6 71 -#define KEY_KP7 72 -#define KEY_KP8 73 -#define KEY_KP9 74 -#define KEY_F1 75 -#define KEY_F2 76 -#define KEY_F3 77 -#define KEY_F4 78 -#define KEY_F5 79 -#define KEY_F6 80 -#define KEY_F7 81 -#define KEY_F8 82 -#define KEY_F9 83 -#define KEY_F10 84 -#define KEY_F11 85 -#define KEY_F12 86 +#define KEY_KP_DIVIDE 23 +#define KEY_KP_PERIOD 24 +#define KEY_KP_EQUALS 25 +#define KEY_EQUALS 26 +#define KEY_MINUS 27 +#define KEY_PERIOD 28 +#define KEY_CAPSLOCK 29 +#define KEY_CLEAR 30 +#define KEY_SPACE 31 +#define KEY_PAUSE 32 +#define KEY_LSHIFT 33 +#define KEY_RSHIFT 34 +#define KEY_LCTRL 35 +#define KEY_RCTRL 36 +#define KEY_LALT 37 +#define KEY_RALT 38 +#define KEY_0 39 +#define KEY_1 40 +#define KEY_2 41 +#define KEY_3 42 +#define KEY_4 43 +#define KEY_5 44 +#define KEY_6 45 +#define KEY_7 46 +#define KEY_8 47 +#define KEY_9 48 +#define KEY_a 49 +#define KEY_b 50 +#define KEY_c 51 +#define KEY_d 52 +#define KEY_e 53 +#define KEY_f 54 +#define KEY_g 55 +#define KEY_h 56 +#define KEY_i 57 +#define KEY_j 58 +#define KEY_k 59 +#define KEY_l 60 +#define KEY_m 61 +#define KEY_n 62 +#define KEY_o 63 +#define KEY_p 64 +#define KEY_q 65 +#define KEY_r 66 +#define KEY_s 67 +#define KEY_t 68 +#define KEY_u 69 +#define KEY_v 70 +#define KEY_w 71 +#define KEY_x 72 +#define KEY_y 73 +#define KEY_z 74 +#define KEY_KP0 75 +#define KEY_KP1 76 +#define KEY_KP2 77 +#define KEY_KP3 78 +#define KEY_KP4 79 +#define KEY_KP5 80 +#define KEY_KP6 81 +#define KEY_KP7 82 +#define KEY_KP8 83 +#define KEY_KP9 84 +#define KEY_SCROLLOCK 85 +#define KEY_F1 86 +#define KEY_F2 87 +#define KEY_F3 88 +#define KEY_F4 89 +#define KEY_F5 90 +#define KEY_F6 91 +#define KEY_F7 92 +#define KEY_F8 93 +#define KEY_F9 94 +#define KEY_F10 95 +#define KEY_F11 96 +#define KEY_F12 97 // end of KEY definitions for others #endif diff --git a/tools/generate_keycodes.py b/tools/generate_keycodes.py index 80ea4e2d..610864b5 100755 --- a/tools/generate_keycodes.py +++ b/tools/generate_keycodes.py @@ -12,8 +12,11 @@ keys = ['UNKNOWN', 'INSERT', 'DELETE', 'COMMA', 'BACKQUOTE', 'PAGEUP', 'PAGEDOWN', 'HOME', 'END', 'KP_PLUS', 'KP_MINUS', 'KP_MULTIPLY', 'KP_ENTER', + 'KP_DIVIDE', 'KP_PERIOD', 'KP_EQUALS', 'EQUALS', 'MINUS', 'PERIOD', - 'CAPSLOCK', 'CLEAR', 'SPACE'] + 'CAPSLOCK', 'CLEAR', 'SPACE', 'PAUSE', + 'LSHIFT', 'RSHIFT', 'LCTRL', 'RCTRL', + 'LALT', 'RALT'] def keycode_def(section, key, index, sdl_key=None): if section == 'SDL and SDL2': @@ -41,12 +44,15 @@ def add_keycodes_defs(section, lines): key = "KP%d" % (j) lines.append(keycode_def(section, key, i)) i = i + 1 + lines.append(keycode_def(section, 'SCROLLOCK', i)) + i = i + 1 if section == 'SDL and SDL2': lines.append('#else\n') for j in range(10): key = "KP%d" % (j) sdl_key = 'KP_%d' % (j) lines.append(keycode_def(section, key, 0, sdl_key)) + lines.append(keycode_def(section, 'SCROLLOCK', i, 'SCROLLLOCK')) lines.append('#endif\n') for j in range(1,13): key = "F%d" % (j)