diff --git a/modules/NIGHTDLL/nt_event.c b/modules/NIGHTDLL/nt_event.c index 200d5c3..607ab10 100644 --- a/modules/NIGHTDLL/nt_event.c +++ b/modules/NIGHTDLL/nt_event.c @@ -7,7 +7,6 @@ #include "menu.h" #include "input.h" #include "nact.h" -#include "key.h" #include "night.h" #include "sprite.h" diff --git a/modules/SACT/sactlog.c b/modules/SACT/sactlog.c index f95bb7c..0bae4ff 100644 --- a/modules/SACT/sactlog.c +++ b/modules/SACT/sactlog.c @@ -33,7 +33,6 @@ #include "menu.h" #include "input.h" #include "nact.h" -#include "key.h" #include "sact.h" #include "sprite.h" #include "ngraph.h" diff --git a/modules/SACT/sprite_event.c b/modules/SACT/sprite_event.c index 2293773..23dcc84 100644 --- a/modules/SACT/sprite_event.c +++ b/modules/SACT/sprite_event.c @@ -34,7 +34,6 @@ #include "menu.h" #include "input.h" #include "nact.h" -#include "key.h" #include "sact.h" #include "sprite.h" #include "sactsound.h" @@ -389,7 +388,7 @@ static void cb_waitkey_backlog(agsevent_t *e) { switch (e->type) { case AGSEVENT_KEY_RELEASE: switch (e->code) { - case KEY_ESC: + case KEY_ESCAPE: sblog_end(); sact.waittype = KEYWAIT_MESSAGE; break; diff --git a/modules/SACT/sprite_sel.c b/modules/SACT/sprite_sel.c index 01c0143..dc396c1 100644 --- a/modules/SACT/sprite_sel.c +++ b/modules/SACT/sprite_sel.c @@ -31,7 +31,6 @@ #include "nact.h" #include "ags.h" #include "input.h" -#include "key.h" #include "sact.h" #include "sprite.h" #include "ngraph.h" diff --git a/modules/ShPort/ShPort.c b/modules/ShPort/ShPort.c index 0b07925..dd01bab 100644 --- a/modules/ShPort/ShPort.c +++ b/modules/ShPort/ShPort.c @@ -37,6 +37,7 @@ #include "modules.h" #include "sdl_core.h" #include "sdl_private.h" +#include "input.h" #include "menu.h" // キー変換テーブル @@ -162,7 +163,7 @@ static void GetKeyStatus(void) { } *var = 0; - for (i = 0; i < 256; i++) { + for (i = 0; i < NUM_KEYCODES; i++) { *var |= (keymap[no -1][i] * RawKeyInfo[i]); } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fda2431..2538ca9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -142,10 +142,3 @@ else() # non-emscripten, non-android add_test(NAME src_tests COMMAND src_tests) configure_file(testdata/test.gr ${CMAKE_CURRENT_BINARY_DIR}/testdata/test.gr COPYONLY) endif() - -# FIXME: set up dependency for xsystem35 on this -if (NOT EMSCRIPTEN AND NOT ANDROID) - add_custom_target(sdl_keytable.h - COMMAND perl ../tools/xsyskey.pl ${SDL2_INCLUDE_DIRS} > sdl_keytable.h - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) -endif() diff --git a/src/input.h b/src/input.h index 6a18de4..e72e527 100644 --- a/src/input.h +++ b/src/input.h @@ -41,6 +41,123 @@ #define KEYWAIT_CANCELABLE 1 #define KEYWAIT_SKIPPABLE 2 +// System3.x key codes (IG command, etc.) +// These are originated from Windows virtual key codes (VK_*). +#define NUM_KEYCODES 256 +enum keycode { + KEY_MOUSE_LEFT = 0x01, // マウスの左ボタン + KEY_MOUSE_RIGHT = 0x02, // マウスの右ボタン + KEY_CONTROL = 0x03, // コントロール ブレーク処理に使用 + KEY_MOUSE_MIDDLE = 0x04, // マウスの中央ボタン (3つボタンのマウス) + KEY_BACKSPACE = 0x08, // BackSpaceキー + KEY_TAB = 0x09, // Tabキー + KEY_CLEAR = 0x0c, // Clearキー + KEY_RETURN = 0x0d, // Enterキー + KEY_SHIFT = 0x10, // Shiftキー + KEY_CTRL = 0x11, // Ctrlキー + KEY_ALT = 0x12, // Altキー + KEY_PAUSE = 0x13, // Pauseキー + KEY_CAPSLOCK = 0x14, // Caps Lockキー + KEY_KANAKAN = 0x15, // 英数カナキー + KEY_ESCAPE = 0x1b, // Escキー + KEY_SPACE = 0x20, // Spaceキー + KEY_PAGEUP = 0x21, // Page Upキー + KEY_PAGEDOWN = 0x22, // Page Downキー + KEY_END = 0x23, // Endキー + KEY_HOME = 0x24, // Homeキー + KEY_LEFT = 0x25, // ←キー + KEY_UP = 0x26, // ↑キー + KEY_RIGHT = 0x27, // →キー + KEY_DOWN = 0x28, // ↓キー + KEY_SELECT = 0x29, // Selectキー + KEY_EXECUTE = 0x2b, // Executeキー + KEY_PRINTSCREEN = 0x2c, // Print Screenキー (Windows 3.0以降用) + KEY_INSERT = 0x2d, // Insキー + KEY_DELETE = 0x2e, // Delキー + KEY_HELP = 0x2f, // Helpキー + KEY_0 = 0x30, // 0キー + KEY_1 = 0x31, // 1キー + KEY_2 = 0x32, // 2キー + KEY_3 = 0x33, // 3キー + KEY_4 = 0x34, // 4キー + KEY_5 = 0x35, // 5キー + KEY_6 = 0x36, // 6キー + KEY_7 = 0x37, // 7キー + KEY_8 = 0x38, // 8キー + KEY_9 = 0x39, // 9キー + KEY_PAD_EQUALS = 0x3d, + KEY_A = 0x41, // Aキー + KEY_B = 0x42, // Bキー + KEY_C = 0x43, // Cキー + KEY_D = 0x44, // Dキー + KEY_E = 0x45, // Eキー + KEY_F = 0x46, // Fキー + KEY_G = 0x47, // Gキー + KEY_H = 0x48, // Hキー + KEY_I = 0x49, // Iキー + KEY_J = 0x4a, // Jキー + KEY_K = 0x4b, // Kキー + KEY_L = 0x4c, // Lキー + KEY_M = 0x4d, // Mキー + KEY_N = 0x4e, // Nキー + KEY_O = 0x4f, // Oキー + KEY_P = 0x50, // Pキー + KEY_Q = 0x51, // Qキー + KEY_R = 0x52, // Rキー + KEY_S = 0x53, // Sキー + KEY_T = 0x54, // Tキー + KEY_U = 0x55, // Uキー + KEY_V = 0x56, // Vキー + KEY_W = 0x57, // Wキー + KEY_X = 0x58, // Xキー + KEY_Y = 0x59, // Yキー + KEY_Z = 0x5a, // Zキー + KEY_PAD_0 = 0x60, // テンキーの0キー + KEY_PAD_1 = 0x61, // テンキーの1キー + KEY_PAD_2 = 0x62, // テンキーの2キー + KEY_PAD_3 = 0x63, // テンキーの3キー + KEY_PAD_4 = 0x64, // テンキーの4キー + KEY_PAD_5 = 0x65, // テンキーの5キー + KEY_PAD_6 = 0x66, // テンキーの6キー + KEY_PAD_7 = 0x67, // テンキーの7キー + KEY_PAD_8 = 0x68, // テンキーの8キー + KEY_PAD_9 = 0x69, // テンキーの9キー + KEY_PAD_MULTIPLY = 0x6a, // テンキーの*キー + KEY_PAD_PLUS = 0x6b, // テンキーの+キー + KEY_SEPARATOR = 0x6c, // Separatorキー + KEY_PAD_MINUS = 0x6d, // テンキーの-キー + KEY_PAD_PERIOD = 0x6e, // テンキーの.キー + KEY_PAD_DIVIDE = 0x6f, // テンキーの/キー + KEY_F1 = 0x70, // F1キー + KEY_F2 = 0x71, // F2キー + KEY_F3 = 0x72, // F3キー + KEY_F4 = 0x73, // F4キー + KEY_F5 = 0x74, // F5キー + KEY_F6 = 0x75, // F6キー + KEY_F7 = 0x76, // F7キー + KEY_F8 = 0x77, // F8キー + KEY_F9 = 0x78, // F9キー + KEY_F10 = 0x79, // F10キー + KEY_F11 = 0x7a, // F11キー + KEY_F12 = 0x7b, // F12キー + KEY_F13 = 0x7c, // F13キー + KEY_F14 = 0x7d, // F14キー + KEY_F15 = 0x7e, // F15キー + KEY_F16 = 0x7f, // F16キー + KEY_F17 = 0x80, // F17キー + KEY_F18 = 0x81, // F18キー + KEY_F19 = 0x82, // F19キー + KEY_F20 = 0x83, // F20キー + KEY_F21 = 0x84, // F21キー + KEY_F22 = 0x85, // F22キー + KEY_F23 = 0x86, // F23キー + KEY_F24 = 0x87, // F24キー + KEY_NUMLOCK = 0x90, // Num Lockキー + KEY_SCROLLLOCK = 0x91, // Scroll Lockキー +}; + +extern boolean RawKeyInfo[NUM_KEYCODES]; + extern int sys_keywait(int msec, unsigned flags); extern int sys_getMouseInfo(MyPoint *p, boolean is_dibgeo); extern int sys_getInputInfo(void); diff --git a/src/key.h b/src/key.h deleted file mode 100644 index fa0b508..0000000 --- a/src/key.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * key.h keycode definition - * - * Copyright (C) 2000- Masaki Chikama (Wren) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * -*/ -/* $Id: key.h,v 1.2 2000/08/11 18:55:51 chikama Exp $ */ - -#ifndef __KEYCODE__ -#define __KEYCODE__ - -#define KEY_UNDEFINED (0x00) -#define KEY_MOUSE_LEFT (0x01) -#define KEY_MOUSE_RIGHT (0x02) -#define KEY_CONTROL (0x03) -#define KEY_MOUSE_MIDDLE (0x04) -#define KEY_BS (0x08) -#define KEY_BACKSPACE (0x08) -#define KEY_TAB (0x09) -#define KEY_CLEAR (0x0c) -#define KEY_ENTER (0x0d) -#define KEY_PAD_ENTER (0x0d) -#define KEY_RETURN (0x0d) -#define KEY_SHIFT (0x10) -#define KEY_LSHIFT (0x10) -#define KEY_RSHIFT (0x10) -#define KEY_CTRL (0x11) -#define KEY_LCTRL (0x11) -#define KEY_RCTRL (0x11) -#define KEY_ALT (0x12) -#define KEY_LALT (0x12) -#define KEY_RALT (0x12) -#define KEY_PAUSE (0x13) -#define KEY_CAPSLOCK (0x14) -#define KEY_KANAKAN (0x15) -#define KEY_ESC (0x1b) -#define KEY_ESCAPE (0x1b) -#define KEY_SPACE (0x20) -#define KEY_PAGEUP (0x21) -#define KEY_PAGEDOWN (0x22) -#define KEY_END (0x23) -#define KEY_HOME (0x24) -#define KEY_LEFT (0x25) -#define KEY_UP (0x26) -#define KEY_RIGHT (0x27) -#define KEY_DOWN (0x28) -#define KEY_SELECT (0x29) -#define KEY_EXECUTE (0x2b) -#define KEY_PRINTSCREEN (0x2c) -#define KEY_INS (0x2d) -#define KEY_INSERT (0x2d) -#define KEY_DEL (0x2e) -#define KEY_DELETE (0x2e) -#define KEY_HELP (0x2f) -#define KEY_0 (0x30) -#define KEY_1 (0x31) -#define KEY_2 (0x32) -#define KEY_3 (0x33) -#define KEY_4 (0x34) -#define KEY_5 (0x35) -#define KEY_6 (0x36) -#define KEY_7 (0x37) -#define KEY_8 (0x38) -#define KEY_9 (0x39) -#define KEY_PAD_EQUALS (0x3d) -#define KEY_A (0x41) -#define KEY_B (0x42) -#define KEY_C (0x43) -#define KEY_D (0x44) -#define KEY_E (0x45) -#define KEY_F (0x46) -#define KEY_G (0x47) -#define KEY_H (0x48) -#define KEY_I (0x49) -#define KEY_J (0x4a) -#define KEY_K (0x4b) -#define KEY_L (0x4c) -#define KEY_M (0x4d) -#define KEY_N (0x4e) -#define KEY_O (0x4f) -#define KEY_P (0x50) -#define KEY_Q (0x51) -#define KEY_R (0x52) -#define KEY_S (0x53) -#define KEY_T (0x54) -#define KEY_U (0x55) -#define KEY_V (0x56) -#define KEY_W (0x57) -#define KEY_X (0x58) -#define KEY_Y (0x59) -#define KEY_Z (0x5a) -#define KEY_PAD_0 (0x60) -#define KEY_PAD_1 (0x61) -#define KEY_PAD_2 (0x62) -#define KEY_PAD_3 (0x63) -#define KEY_PAD_4 (0x64) -#define KEY_PAD_5 (0x65) -#define KEY_PAD_6 (0x66) -#define KEY_PAD_7 (0x67) -#define KEY_PAD_8 (0x68) -#define KEY_PAD_9 (0x69) -#define KEY_PAD_STAR (0x6a) -#define KEY_PAD_MULTIPLY (0x6a) -#define KEY_PAD_PLUS (0x6b) -#define KEY_PAD_SEP (0x6c) -#define KEY_PAD_MINUS (0x6d) -#define KEY_PAD_DOT (0x6e) -#define KEY_PAD_PERIOD (0x6e) -#define KEY_PAD_SLASH (0x6f) -#define KEY_PAD_DIVIDE (0x6f) -#define KEY_F1 (0x70) -#define KEY_F2 (0x71) -#define KEY_F3 (0x72) -#define KEY_F4 (0x73) -#define KEY_F5 (0x74) -#define KEY_F6 (0x75) -#define KEY_F7 (0x76) -#define KEY_F8 (0x77) -#define KEY_F9 (0x78) -#define KEY_F10 (0x79) -#define KEY_F11 (0x7a) -#define KEY_F12 (0x7b) -#define KEY_F13 (0x7c) -#define KEY_F14 (0x7d) -#define KEY_F15 (0x7e) -#define KEY_F16 (0x7f) -#define KEY_F17 (0x80) -#define KEY_F18 (0x81) -#define KEY_F19 (0x82) -#define KEY_F20 (0x83) -#define KEY_F21 (0x84) -#define KEY_F22 (0x85) -#define KEY_F23 (0x86) -#define KEY_F24 (0x87) -#define KEY_NUMLOCK (0x90) -#define KEY_SCROLL_LOCK (0x91) -#define KEY_SCROLLOCK (0x91) - -#endif /* __KEYCODE__ */ diff --git a/src/sdl_core.h b/src/sdl_core.h index 350ddb5..98e29e5 100644 --- a/src/sdl_core.h +++ b/src/sdl_core.h @@ -106,7 +106,6 @@ extern MyPoint sdl_translateMouseCoords(int x, int y); /* misc */ extern void sdl_mainIteration(); -extern boolean RawKeyInfo[]; extern uint32_t sdl_getTicks(void); extern void sdl_sleep(int msec); extern void sdl_wait_vsync(); diff --git a/src/sdl_event.c b/src/sdl_event.c index c92c456..eae1075 100644 --- a/src/sdl_event.c +++ b/src/sdl_event.c @@ -36,11 +36,9 @@ #include "nact.h" #include "sdl_core.h" #include "sdl_private.h" -#include "key.h" #include "menu.h" #include "input.h" #include "msgskip.h" -#include "sdl_keytable.h" static void sdl_getEvent(void); static void keyEventProsess(SDL_KeyboardEvent *e, boolean pressed); @@ -59,6 +57,128 @@ boolean RawKeyInfo[256]; /* SDL Joystick */ static int joyinfo=0; +static int sdl_keytable[SDL_NUM_SCANCODES] = { + [SDL_SCANCODE_A] = KEY_A, + [SDL_SCANCODE_B] = KEY_B, + [SDL_SCANCODE_C] = KEY_C, + [SDL_SCANCODE_D] = KEY_D, + [SDL_SCANCODE_E] = KEY_E, + [SDL_SCANCODE_F] = KEY_F, + [SDL_SCANCODE_G] = KEY_G, + [SDL_SCANCODE_H] = KEY_H, + [SDL_SCANCODE_I] = KEY_I, + [SDL_SCANCODE_J] = KEY_J, + [SDL_SCANCODE_K] = KEY_K, + [SDL_SCANCODE_L] = KEY_L, + [SDL_SCANCODE_M] = KEY_M, + [SDL_SCANCODE_N] = KEY_N, + [SDL_SCANCODE_O] = KEY_O, + [SDL_SCANCODE_P] = KEY_P, + [SDL_SCANCODE_Q] = KEY_Q, + [SDL_SCANCODE_R] = KEY_R, + [SDL_SCANCODE_S] = KEY_S, + [SDL_SCANCODE_T] = KEY_T, + [SDL_SCANCODE_U] = KEY_U, + [SDL_SCANCODE_V] = KEY_V, + [SDL_SCANCODE_W] = KEY_W, + [SDL_SCANCODE_X] = KEY_X, + [SDL_SCANCODE_Y] = KEY_Y, + [SDL_SCANCODE_Z] = KEY_Z, + [SDL_SCANCODE_1] = KEY_1, + [SDL_SCANCODE_2] = KEY_2, + [SDL_SCANCODE_3] = KEY_3, + [SDL_SCANCODE_4] = KEY_4, + [SDL_SCANCODE_5] = KEY_5, + [SDL_SCANCODE_6] = KEY_6, + [SDL_SCANCODE_7] = KEY_7, + [SDL_SCANCODE_8] = KEY_8, + [SDL_SCANCODE_9] = KEY_9, + [SDL_SCANCODE_0] = KEY_0, + [SDL_SCANCODE_RETURN] = KEY_RETURN, + [SDL_SCANCODE_ESCAPE] = KEY_ESCAPE, + [SDL_SCANCODE_BACKSPACE] = KEY_BACKSPACE, + [SDL_SCANCODE_TAB] = KEY_TAB, + [SDL_SCANCODE_SPACE] = KEY_SPACE, + // SDL_SCANCODE_MINUS + // SDL_SCANCODE_EQUALS + // SDL_SCANCODE_LEFTBRACKET + // SDL_SCANCODE_RIGHTBRACKET + // SDL_SCANCODE_BACKSLASH + // SDL_SCANCODE_NONUSHASH + // SDL_SCANCODE_SEMICOLON + // SDL_SCANCODE_APOSTROPHE + // SDL_SCANCODE_GRAVE + // SDL_SCANCODE_COMMA + // SDL_SCANCODE_PERIOD + // SDL_SCANCODE_SLASH + [SDL_SCANCODE_CAPSLOCK] = KEY_CAPSLOCK, + [SDL_SCANCODE_F1] = KEY_F1, + [SDL_SCANCODE_F2] = KEY_F2, + [SDL_SCANCODE_F3] = KEY_F3, + [SDL_SCANCODE_F4] = KEY_F4, + [SDL_SCANCODE_F5] = KEY_F5, + [SDL_SCANCODE_F6] = KEY_F6, + [SDL_SCANCODE_F7] = KEY_F7, + [SDL_SCANCODE_F8] = KEY_F8, + [SDL_SCANCODE_F9] = KEY_F9, + [SDL_SCANCODE_F10] = KEY_F10, + [SDL_SCANCODE_F11] = KEY_F11, + [SDL_SCANCODE_F12] = KEY_F12, + [SDL_SCANCODE_PRINTSCREEN] = KEY_PRINTSCREEN, + [SDL_SCANCODE_SCROLLLOCK] = KEY_SCROLLLOCK, + [SDL_SCANCODE_PAUSE] = KEY_PAUSE, + [SDL_SCANCODE_INSERT] = KEY_INSERT, + [SDL_SCANCODE_HOME] = KEY_HOME, + [SDL_SCANCODE_PAGEUP] = KEY_PAGEUP, + [SDL_SCANCODE_DELETE] = KEY_DELETE, + [SDL_SCANCODE_END] = KEY_END, + [SDL_SCANCODE_PAGEDOWN] = KEY_PAGEDOWN, + [SDL_SCANCODE_RIGHT] = KEY_RIGHT, + [SDL_SCANCODE_LEFT] = KEY_LEFT, + [SDL_SCANCODE_DOWN] = KEY_DOWN, + [SDL_SCANCODE_UP] = KEY_UP, + [SDL_SCANCODE_KP_DIVIDE] = KEY_PAD_DIVIDE, + [SDL_SCANCODE_KP_MULTIPLY] = KEY_PAD_MULTIPLY, + [SDL_SCANCODE_KP_MINUS] = KEY_PAD_MINUS, + [SDL_SCANCODE_KP_PLUS] = KEY_PAD_PLUS, + [SDL_SCANCODE_KP_ENTER] = KEY_RETURN, + [SDL_SCANCODE_KP_1] = KEY_PAD_1, + [SDL_SCANCODE_KP_2] = KEY_PAD_2, + [SDL_SCANCODE_KP_3] = KEY_PAD_3, + [SDL_SCANCODE_KP_4] = KEY_PAD_4, + [SDL_SCANCODE_KP_5] = KEY_PAD_5, + [SDL_SCANCODE_KP_6] = KEY_PAD_6, + [SDL_SCANCODE_KP_7] = KEY_PAD_7, + [SDL_SCANCODE_KP_8] = KEY_PAD_8, + [SDL_SCANCODE_KP_9] = KEY_PAD_9, + [SDL_SCANCODE_KP_0] = KEY_PAD_0, + [SDL_SCANCODE_KP_PERIOD] = KEY_PAD_PERIOD, + [SDL_SCANCODE_KP_EQUALS] = KEY_PAD_EQUALS, + [SDL_SCANCODE_F13] = KEY_F13, + [SDL_SCANCODE_F14] = KEY_F14, + [SDL_SCANCODE_F15] = KEY_F15, + [SDL_SCANCODE_F16] = KEY_F16, + [SDL_SCANCODE_F17] = KEY_F17, + [SDL_SCANCODE_F18] = KEY_F18, + [SDL_SCANCODE_F19] = KEY_F19, + [SDL_SCANCODE_F20] = KEY_F20, + [SDL_SCANCODE_F21] = KEY_F21, + [SDL_SCANCODE_F22] = KEY_F22, + [SDL_SCANCODE_F23] = KEY_F23, + [SDL_SCANCODE_F24] = KEY_F24, + [SDL_SCANCODE_EXECUTE] = KEY_EXECUTE, + [SDL_SCANCODE_HELP] = KEY_HELP, + [SDL_SCANCODE_SELECT] = KEY_SELECT, + [SDL_SCANCODE_CLEAR] = KEY_CLEAR, + [SDL_SCANCODE_SEPARATOR] = KEY_SEPARATOR, + [SDL_SCANCODE_LCTRL] = KEY_CTRL, + [SDL_SCANCODE_LSHIFT] = KEY_SHIFT, + [SDL_SCANCODE_LALT] = KEY_ALT, + [SDL_SCANCODE_RCTRL] = KEY_CTRL, + [SDL_SCANCODE_RSHIFT] = KEY_SHIFT, + [SDL_SCANCODE_RALT] = KEY_ALT, +}; + void sdl_event_init(void) { if (custom_event_type == (uint32_t)-1) custom_event_type = SDL_RegisterEvents(1); @@ -331,7 +451,7 @@ int sdl_getKeyInfo() { ((RawKeyInfo[KEY_RIGHT] || RawKeyInfo[KEY_PAD_6]) << 3) | (RawKeyInfo[KEY_RETURN] << 4) | (RawKeyInfo[KEY_SPACE ] << 5) | - (RawKeyInfo[KEY_ESC] << 6) | + (RawKeyInfo[KEY_ESCAPE] << 6) | (RawKeyInfo[KEY_TAB] << 7)); return rt; diff --git a/src/sdl_keytable.h b/src/sdl_keytable.h deleted file mode 100644 index 7206d58..0000000 --- a/src/sdl_keytable.h +++ /dev/null @@ -1,73 +0,0 @@ -static int sdl_keytable[SDL_NUM_SCANCODES] = { - 0, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_A, KEY_B, KEY_C, KEY_D, - KEY_E, KEY_F, KEY_G, KEY_H, - KEY_I, KEY_J, KEY_K, KEY_L, - KEY_M, KEY_N, KEY_O, KEY_P, - KEY_Q, KEY_R, KEY_S, KEY_T, - KEY_U, KEY_V, KEY_W, KEY_X, - KEY_Y, KEY_Z, KEY_1, KEY_2, - KEY_3, KEY_4, KEY_5, KEY_6, - KEY_7, KEY_8, KEY_9, KEY_0, - KEY_RETURN, KEY_ESCAPE, KEY_BACKSPACE, KEY_TAB, - KEY_SPACE, 45, 46, 47, - 48, 49, 50, 51, - 52, 53, 54, 55, - 56, KEY_CAPSLOCK, KEY_F1, KEY_F2, - KEY_F3, KEY_F4, KEY_F5, KEY_F6, - KEY_F7, KEY_F8, KEY_F9, KEY_F10, - KEY_F11, KEY_F12, KEY_PRINTSCREEN, 71, - KEY_PAUSE, KEY_INSERT, KEY_HOME, KEY_PAGEUP, - KEY_DELETE, KEY_END, KEY_PAGEDOWN, KEY_RIGHT, - KEY_LEFT, KEY_DOWN, KEY_UP, 83, - KEY_PAD_DIVIDE, KEY_PAD_MULTIPLY, KEY_PAD_MINUS, KEY_PAD_PLUS, - KEY_PAD_ENTER, KEY_PAD_1, KEY_PAD_2, KEY_PAD_3, - KEY_PAD_4, KEY_PAD_5, KEY_PAD_6, KEY_PAD_7, - KEY_PAD_8, KEY_PAD_9, KEY_PAD_0, KEY_PAD_PERIOD, - 0 /* SDL_NONUSBACKSLASH */, 0 /* SDL_APPLICATION */, 0 /* SDL_POWER */, KEY_PAD_EQUALS, - KEY_F13, KEY_F14, KEY_F15, KEY_F16, - KEY_F17, KEY_F18, KEY_F19, KEY_F20, - KEY_F21, KEY_F22, KEY_F23, KEY_F24, - KEY_EXECUTE, KEY_HELP, 0 /* SDL_MENU */, KEY_SELECT, - 0 /* SDL_STOP */, 0 /* SDL_AGAIN */, 0 /* SDL_UNDO */, 0 /* SDL_CUT */, - 0 /* SDL_COPY */, 0 /* SDL_PASTE */, 0 /* SDL_FIND */, 0 /* SDL_MUTE */, - 0 /* SDL_VOLUMEUP */, 0 /* SDL_VOLUMEDOWN */, 0 /* SDL_LOCKINGCAPSLOCK */, 0 /* SDL_LOCKINGNUMLOCK */, - 0 /* SDL_LOCKINGSCROLLLOCK */, 0 /* SDL_PAD_COMMA */, 0 /* SDL_PAD_EQUALSAS400 */, 0 /* SDL_INTERNATIONAL1 */, - 0 /* SDL_INTERNATIONAL2 */, 0 /* SDL_INTERNATIONAL3 */, 0 /* SDL_INTERNATIONAL4 */, 0 /* SDL_INTERNATIONAL5 */, - 0 /* SDL_INTERNATIONAL6 */, 0 /* SDL_INTERNATIONAL7 */, 0 /* SDL_INTERNATIONAL8 */, 0 /* SDL_INTERNATIONAL9 */, - 0 /* SDL_LANG1 */, 0 /* SDL_LANG2 */, 0 /* SDL_LANG3 */, 0 /* SDL_LANG4 */, - 0 /* SDL_LANG5 */, 0 /* SDL_LANG6 */, 0 /* SDL_LANG7 */, 0 /* SDL_LANG8 */, - 0 /* SDL_LANG9 */, 0 /* SDL_ALTERASE */, 0 /* SDL_SYSREQ */, 0 /* SDL_CANCEL */, - KEY_CLEAR, 0 /* SDL_PRIOR */, 0 /* SDL_RETURN2 */, 0 /* SDL_SEPARATOR */, - 0 /* SDL_OUT */, 0 /* SDL_OPER */, 0 /* SDL_CLEARAGAIN */, 0 /* SDL_CRSEL */, - 0 /* SDL_EXSEL */, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - 0 /* SDL_PAD_00 */, 0 /* SDL_PAD_000 */, 0 /* SDL_THOUSANDSSEPARATOR */, 0 /* SDL_DECIMALSEPARATOR */, - 0 /* SDL_CURRENCYUNIT */, 0 /* SDL_CURRENCYSUBUNIT */, 0 /* SDL_PAD_LEFTPAREN */, 0 /* SDL_PAD_RIGHTPAREN */, - 0 /* SDL_PAD_LEFTBRACE */, 0 /* SDL_PAD_RIGHTBRACE */, 0 /* SDL_PAD_TAB */, 0 /* SDL_PAD_BACKSPACE */, - 0 /* SDL_PAD_A */, 0 /* SDL_PAD_B */, 0 /* SDL_PAD_C */, 0 /* SDL_PAD_D */, - 0 /* SDL_PAD_E */, 0 /* SDL_PAD_F */, 0 /* SDL_PAD_XOR */, 0 /* SDL_PAD_POWER */, - 0 /* SDL_PAD_PERCENT */, 0 /* SDL_PAD_LESS */, 0 /* SDL_PAD_GREATER */, 0 /* SDL_PAD_AMPERSAND */, - 0 /* SDL_PAD_DBLAMPERSAND */, 0 /* SDL_PAD_VERTICALBAR */, 0 /* SDL_PAD_DBLVERTICALBAR */, 0 /* SDL_PAD_COLON */, - 0 /* SDL_PAD_HASH */, 0 /* SDL_PAD_SPACE */, 0 /* SDL_PAD_AT */, 0 /* SDL_PAD_EXCLAM */, - 0 /* SDL_PAD_MEMSTORE */, 0 /* SDL_PAD_MEMRECALL */, 0 /* SDL_PAD_MEMCLEAR */, 0 /* SDL_PAD_MEMADD */, - 0 /* SDL_PAD_MEMSUBTRACT */, 0 /* SDL_PAD_MEMMULTIPLY */, 0 /* SDL_PAD_MEMDIVIDE */, 0 /* SDL_PAD_PLUSMINUS */, - 0 /* SDL_PAD_CLEAR */, 0 /* SDL_PAD_CLEARENTRY */, 0 /* SDL_PAD_BINARY */, 0 /* SDL_PAD_OCTAL */, - 0 /* SDL_PAD_DECIMAL */, 0 /* SDL_PAD_HEXADECIMAL */, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_RCTRL, KEY_RSHIFT, KEY_RALT, 0 /* SDL_LGUI */, - KEY_RCTRL, KEY_RSHIFT, KEY_RALT, 0 /* SDL_RGUI */, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, KEY_UNDEFINED, - KEY_UNDEFINED, 0 /* SDL_MODE */, 0 /* SDL_AUDIONEXT */, 0 /* SDL_AUDIOPREV */, - 0 /* SDL_AUDIOSTOP */, 0 /* SDL_AUDIOPLAY */, 0 /* SDL_AUDIOMUTE */, 0 /* SDL_MEDIASELECT */, - 0 /* SDL_WWW */, 0 /* SDL_MAIL */, 0 /* SDL_CALCULATOR */, 0 /* SDL_COMPUTER */, - 0 /* SDL_AC_SEARCH */, 0 /* SDL_AC_HOME */, 0 /* SDL_AC_BACK */, 0 /* SDL_AC_FORWARD */, - 0 /* SDL_AC_STOP */, 0 /* SDL_AC_REFRESH */, 0 /* SDL_AC_BOOKMARKS */, 0 /* SDL_BRIGHTNESSDOWN */, - 0 /* SDL_BRIGHTNESSUP */, 0 /* SDL_DISPLAYSWITCH */, 0 /* SDL_KBDILLUMTOGGLE */, 0 /* SDL_KBDILLUMDOWN */, - 0 /* SDL_KBDILLUMUP */, 0 /* SDL_EJECT */, 0 /* SDL_SLEEP */, 0 /* SDL_APP1 */, - 0 /* SDL_APP2 */, }; diff --git a/tools/xsyskey.pl b/tools/xsyskey.pl deleted file mode 100755 index 5ef7e5f..0000000 --- a/tools/xsyskey.pl +++ /dev/null @@ -1,50 +0,0 @@ -#! /usr/bin/perl - -@key_list=(); -%keyh_list=(); -open(FX,") { - if( /^#define KEY_([^\s]*)\s+[(]([^)]*)[)]/ ) { - $key_list[eval($2)]="$1"; - $keyh_list{$1}=eval($2); - } -} -close(fp); - -@sdlk_list=(); -open(FS,"<$ARGV[0]/SDL_scancode.h") || exit; -while() { - if( /SDL_SCANCODE_([^\s]+)\s+=\s*([^,]*),/ ) { - $sdlk_list[eval($2)]="$1"; - } -} -close(FS); - - -print "static int sdl_keytable[SDL_NUM_SCANCODES] = {\n\t"; -for( $i = 0 ; $i < scalar(@sdlk_list) ; $i ++ ) { - #print "$i @sdlk_list[$i] $keyh_list{@sdlk_list[$i]}\n"; - $x = @sdlk_list[$i]; - if( length($x) == 0 ) { - print "KEY_UNDEFINED, "; - } elsif ( $keyh_list{$x} ) { - print "KEY_@key_list[$keyh_list{$x}], "; - } elsif ( $x =~ /[a-z]/ ) { - print "KEY_".uc($x).", "; - } elsif ( $x =~ /KP_/ ) { - $x =~ s/^KP_/PAD_/; - if ( $keyh_list{$x} ) { - print "KEY_$x, "; - } else { - print "0 /* SDL_$x */, "; - } - } elsif ( $i < 0x61) { - print "$i, "; - } else { - print "0 /* SDL_$x */, "; - } - if(($i % 4) == 3 ) { - print "\n\t"; - } -} -print "};\n";