diff options
Diffstat (limited to 'devel/clanlib-devel/files/patch-aj')
-rw-r--r-- | devel/clanlib-devel/files/patch-aj | 304 |
1 files changed, 0 insertions, 304 deletions
diff --git a/devel/clanlib-devel/files/patch-aj b/devel/clanlib-devel/files/patch-aj deleted file mode 100644 index 6eeba9a1d4a1..000000000000 --- a/devel/clanlib-devel/files/patch-aj +++ /dev/null @@ -1,304 +0,0 @@ ---- Sources/Core/Input/TTY/keyboard_tty.cpp.orig Wed Apr 26 00:40:16 2000 -+++ Sources/Core/Input/TTY/keyboard_tty.cpp Mon Sep 25 00:44:59 2000 -@@ -40,8 +40,9 @@ - #endif - #ifdef HAVE_SYS_VT_H - #include <sys/vt.h> --#else --#include <linux/vt.h> -+#else /* FreeBSD :-P */ -+#include <vgakeyboard.h> -+#include <sys/consio.h> - #endif - - #include <linux/keyboard.h> -@@ -72,56 +73,14 @@ - // CL_System_Generic::keep_alives.add(this); - - /* open the tty */ -- fd = open("/dev/tty", O_RDWR | O_NONBLOCK); -+ fd = keyboard_init_return_fd(); - - if (fd < 0) - { - throw CL_Error("Couldn't open /dev/tty."); - } - -- /* put tty into "straight through" mode. */ -- struct termios newterm; -- -- if (tcgetattr(fd, &old_termios) < 0) -- { -- perror("tcgetattr failed"); -- } -- -- memcpy ( &newterm, &old_termios, sizeof(termios) ); -- -- newterm.c_lflag &= ~(ICANON | ECHO | ISIG); -- newterm.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON); -- newterm.c_iflag |= IGNBRK; -- newterm.c_cc[VMIN] = 0; -- newterm.c_cc[VTIME] = 0; -- -- if (tcsetattr(fd, TCSANOW, &newterm) < 0) -- { -- perror("tcsetattr failed"); -- } -- -- /* save old mode and set to mediumraw */ -- if (ioctl(fd, KDGKBMODE, &old_mode) < 0) -- { -- perror("Couldn't get keyboard mode"); -- old_mode = K_XLATE; -- } -- if (ioctl(fd, KDSKBMODE, K_MEDIUMRAW) < 0) -- { -- perror("Couldn't set keyboard mode to K_MEDIUMRAW"); -- } -- -- /* save old kd mode and set to graphics */ -- if (ioctl(fd, KDGETMODE, &old_kd) < 0) -- { -- perror("Couldn't get kd mode"); -- old_kd = KD_TEXT; -- } -- if (ioctl(fd, KDSETMODE, KD_GRAPHICS) < 0) -- { -- perror("Couldn't set kd mode to KD_GRAPHICS"); -- } -- -+ ioctl(fd, GIO_KEYMAP, &vga_keymap); - buttons = new CL_InputButton_TTYKeyboard*[CL_NUM_KEYS]; - for (int i=0; i<CL_NUM_KEYS; i++) buttons[i] = NULL; - } -@@ -144,13 +103,7 @@ - { - if (fd>=0) - { -- ioctl(fd, KDSKBMODE, old_mode); -- ioctl(fd, KDSETMODE, old_kd); -- if (tcsetattr(fd, TCSANOW, &old_termios) < 0) -- { -- std::cerr << "Could not restore old terminal input settings! Please run 'reset'!" << std::endl; -- perror( "System error message" ); -- } -+ keyboard_close(); - close(fd); - } - } -@@ -172,8 +125,8 @@ - void CL_TTYKeyboard::handle_code(char code) - { - bool keydown; -- kbentry entry; -- -+ struct keyent_t entry; -+ - if (code & 0x80) - { - code &= 0x7f; -@@ -183,109 +136,115 @@ - keydown = true; - } - -+ // Simple belt against out-of-range codes -+ if (code >= vga_keymap.n_keys) -+ return; -+ - //fetch the keycode -- entry.kb_table = 0; -- entry.kb_index = code; -- ioctl(fd,KDGKBENT,&entry); -+ entry = vga_keymap.key[code]; - - CL_Key key; -- key.id = translate(entry.kb_value); -+ key.id = translate(entry); - key.ascii = -1; - key.state = keydown ? CL_Key::Pressed : CL_Key::Released; - - if (keydown) CL_Input::chain_button_press.on_button_press(this, key); - else CL_Input::chain_button_release.on_button_release(this, key); - -- keymap[translate(entry.kb_value)] = keydown; -+ keymap[translate(entry)] = keydown; - } - --char CL_TTYKeyboard::translate(int kb_value) -+char CL_TTYKeyboard::translate(struct keyent_t kb_value) - { -- switch (kb_value) -- { -- case K_F1: return CL_KEY_F1; -- case K_F2: return CL_KEY_F2; -- case K_F3: return CL_KEY_F3; -- case K_F4: return CL_KEY_F4; -- case K_F5: return CL_KEY_F5; -- case K_F6: return CL_KEY_F6; -- case K_F7: return CL_KEY_F7; -- case K_F8: return CL_KEY_F8; -- case K_F9: return CL_KEY_F9; -- case K_F10: return CL_KEY_F10; -- case K_F11: return CL_KEY_F11; -- case K_F12: return CL_KEY_F12; -- -- case 2816+'a': return CL_KEY_A; -- case 2816+'b': return CL_KEY_B; -- case 2816+'c': return CL_KEY_C; -- case 2816+'d': return CL_KEY_D; -- case 2816+'e': return CL_KEY_E; -- case 2816+'f': return CL_KEY_F; -- case 2816+'g': return CL_KEY_G; -- case 2816+'h': return CL_KEY_H; -- case 2816+'i': return CL_KEY_I; -- case 2816+'j': return CL_KEY_J; -- case 2816+'k': return CL_KEY_K; -- case 2816+'l': return CL_KEY_L; -- case 2816+'m': return CL_KEY_M; -- case 2816+'n': return CL_KEY_N; -- case 2816+'o': return CL_KEY_O; -- case 2816+'p': return CL_KEY_P; -- case 2816+'q': return CL_KEY_Q; -- case 2816+'r': return CL_KEY_R; -- case 2816+'s': return CL_KEY_S; -- case 2816+'t': return CL_KEY_T; -- case 2816+'u': return CL_KEY_U; -- case 2816+'v': return CL_KEY_V; -- case 2816+'w': return CL_KEY_W; -- case 2816+'x': return CL_KEY_X; -- case 2816+'y': return CL_KEY_Y; -- case 2816+'z': return CL_KEY_Z; -+ if (kb_value.spcl & 0x80) -+ switch (kb_value.map[0]) -+ { -+ case F(1): return CL_KEY_F1; -+ case F(2): return CL_KEY_F2; -+ case F(3): return CL_KEY_F3; -+ case F(4): return CL_KEY_F4; -+ case F(5): return CL_KEY_F5; -+ case F(6): return CL_KEY_F6; -+ case F(7): return CL_KEY_F7; -+ case F(8): return CL_KEY_F8; -+ case F(9): return CL_KEY_F9; -+ case F(10): return CL_KEY_F10; -+ case F(11): return CL_KEY_F11; -+ case F(12): return CL_KEY_F12; -+ -+ case RCTR: return CL_KEY_LCTRL; -+ case LCTR: return CL_KEY_RCTRL; -+ case LSH: return CL_KEY_LSHIFT; -+ case RSH: return CL_KEY_RSHIFT; -+ case LALT: return CL_KEY_ALT; -+ case RALT: return CL_KEY_ALTGR; -+ -+ case CLK: return CL_KEY_CAPSLOCK; -+ case NLK: return CL_KEY_NUMLOCK; -+ case SLK: return CL_KEY_SCRLOCK; -+ -+ case F(49): return CL_KEY_HOME; -+ case F(50): return CL_KEY_UP; -+ case F(51): return CL_KEY_PAGEUP; -+ case F(53): return CL_KEY_LEFT; -+ case F(55): return CL_KEY_RIGHT; -+ case F(57): return CL_KEY_END; -+ case F(58): return CL_KEY_DOWN; -+ case F(59): return CL_KEY_PAGEDOWN; -+ case F(60): return CL_KEY_INSERT; -+ case F(61): return CL_KEY_DELETE; -+ -+ case NEXT: return CL_KEY_PRINT; -+ } -+ else switch (kb_value.map[0]) -+ { -+ case 'a': return CL_KEY_A; -+ case 'b': return CL_KEY_B; -+ case 'c': return CL_KEY_C; -+ case 'd': return CL_KEY_D; -+ case 'e': return CL_KEY_E; -+ case 'f': return CL_KEY_F; -+ case 'g': return CL_KEY_G; -+ case 'h': return CL_KEY_H; -+ case 'i': return CL_KEY_I; -+ case 'j': return CL_KEY_J; -+ case 'k': return CL_KEY_K; -+ case 'l': return CL_KEY_L; -+ case 'm': return CL_KEY_M; -+ case 'n': return CL_KEY_N; -+ case 'o': return CL_KEY_O; -+ case 'p': return CL_KEY_P; -+ case 'q': return CL_KEY_Q; -+ case 'r': return CL_KEY_R; -+ case 's': return CL_KEY_S; -+ case 't': return CL_KEY_T; -+ case 'u': return CL_KEY_U; -+ case 'v': return CL_KEY_V; -+ case 'w': return CL_KEY_W; -+ case 'x': return CL_KEY_X; -+ case 'y': return CL_KEY_Y; -+ case 'z': return CL_KEY_Z; -+ case ' ': return CL_KEY_SPACE; - -- case 48: return CL_KEY_0; -- case 49: return CL_KEY_1; -- case 50: return CL_KEY_2; -- case 51: return CL_KEY_3; -- case 52: return CL_KEY_4; -- case 53: return CL_KEY_5; -- case 54: return CL_KEY_6; -- case 55: return CL_KEY_7; -- case 56: return CL_KEY_8; -- case 57: return CL_KEY_9; -+ case '0': return CL_KEY_0; -+ case '1': return CL_KEY_1; -+ case '2': return CL_KEY_2; -+ case '3': return CL_KEY_3; -+ case '4': return CL_KEY_4; -+ case '5': return CL_KEY_5; -+ case '6': return CL_KEY_6; -+ case '7': return CL_KEY_7; -+ case '8': return CL_KEY_8; -+ case '9': return CL_KEY_9; - -- case 27: return CL_KEY_ESCAPE; -- case K_LEFT: return CL_KEY_LEFT; -- case K_RIGHT: return CL_KEY_RIGHT; -- case K_UP: return CL_KEY_UP; -- case K_DOWN: return CL_KEY_DOWN; -- case K_ENTER: return CL_KEY_ENTER; -- -- case K_CTRLL: return CL_KEY_LCTRL; -- case K_CTRLR: return CL_KEY_RCTRL; -- case K_SHIFTL: return CL_KEY_LSHIFT; -- case K_SHIFTR: return CL_KEY_RSHIFT; -- case K_ALT: return CL_KEY_ALT; -- case K_ALTGR: return CL_KEY_ALTGR; -- case 9: return CL_KEY_TAB; -- case 32: return CL_KEY_SPACE; -- case 127: return CL_KEY_BACKSPACE; -- case K_INSERT: return CL_KEY_INSERT; -- case K_REMOVE: return CL_KEY_DELETE; -- case K_FIND: return CL_KEY_HOME; -- case K_SELECT: return CL_KEY_END; -- case K_PGUP: return CL_KEY_PAGEUP; -- case K_PGDN: return CL_KEY_PAGEDOWN; -- case K_CAPS: return CL_KEY_CAPSLOCK; -- case K_NUM: return CL_KEY_NUMLOCK; -- case K_HOLD: return CL_KEY_SCRLOCK; -- case 28: return CL_KEY_PRINT; -- case K(1,29): return CL_KEY_PAUSE; -- case K_PSLASH: return CL_KEY_KP_DIV; -- case K_PSTAR: return CL_KEY_KP_MULT; -- case K_PMINUS: return CL_KEY_KP_MINUS; -- case K_PPLUS: return CL_KEY_KP_PLUS; -- case K_PENTER: return CL_KEY_KP_ENTER; -+ case 27: return CL_KEY_ESCAPE; -+ case 13: return CL_KEY_ENTER; -+ case 9: return CL_KEY_TAB; -+ case 8: return CL_KEY_BACKSPACE; -+ case '/': return CL_KEY_KP_DIV; -+ case '*': return CL_KEY_KP_MULT; -+ case '-': return CL_KEY_KP_MINUS; -+ case '+': return CL_KEY_KP_PLUS; - } - - return CL_KEY_NONE_OF_THE_ABOVE; |