187,188c187,188 < // special scancode override for some keys that do not map correctly on foreign keyboards < switch (keysym->scancode) --- > // these happen to match the ASCII chars. > if ((keysym->sym >= ' ') && (keysym->sym <= '~')) 190,269c190 < case 49: *key = '~'; break; < case 10: *key = '1'; break; < case 11: *key = '2'; break; < case 12: *key = '3'; break; < case 13: *key = '4'; break; < case 14: *key = '5'; break; < case 15: *key = '6'; break; < case 16: *key = '7'; break; < case 17: *key = '8'; break; < case 18: *key = '9'; break; < case 19: *key = '0'; break; < default: < // these happen to match the ASCII chars. < if ((keysym->sym >= ' ') && (keysym->sym <= '~')) < { < *key = (int) keysym->sym; < } < else < switch (keysym->sym) < { < case SDLK_PAGEUP: *key = K_PGUP; break; < case SDLK_KP9: *key = K_KP_PGUP; break; < case SDLK_PAGEDOWN: *key = K_PGDN; break; < case SDLK_KP3: *key = K_KP_PGDN; break; < case SDLK_KP7: *key = K_KP_HOME; break; < case SDLK_HOME: *key = K_HOME; break; < case SDLK_KP1: *key = K_KP_END; break; < case SDLK_END: *key = K_END; break; < case SDLK_KP4: *key = K_KP_LEFTARROW; break; < case SDLK_LEFT: *key = K_LEFTARROW; break; < case SDLK_KP6: *key = K_KP_RIGHTARROW; break; < case SDLK_RIGHT: *key = K_RIGHTARROW; break; < case SDLK_KP2: *key = K_KP_DOWNARROW; break; < case SDLK_DOWN: *key = K_DOWNARROW; break; < case SDLK_KP8: *key = K_KP_UPARROW; break; < case SDLK_UP: *key = K_UPARROW; break; < case SDLK_ESCAPE: *key = K_ESCAPE; break; < case SDLK_KP_ENTER: *key = K_KP_ENTER; break; < case SDLK_RETURN: *key = K_ENTER; break; < case SDLK_TAB: *key = K_TAB; break; < case SDLK_F1: *key = K_F1; break; < case SDLK_F2: *key = K_F2; break; < case SDLK_F3: *key = K_F3; break; < case SDLK_F4: *key = K_F4; break; < case SDLK_F5: *key = K_F5; break; < case SDLK_F6: *key = K_F6; break; < case SDLK_F7: *key = K_F7; break; < case SDLK_F8: *key = K_F8; break; < case SDLK_F9: *key = K_F9; break; < case SDLK_F10: *key = K_F10; break; < case SDLK_F11: *key = K_F11; break; < case SDLK_F12: *key = K_F12; break; < < // bk001206 - from Ryan's Fakk2 < case SDLK_BACKSPACE: *key = K_BACKSPACE; break; // ctrl-h < case SDLK_KP_PERIOD: *key = K_KP_DEL; break; < case SDLK_DELETE: *key = K_DEL; break; < case SDLK_PAUSE: *key = K_PAUSE; break; < < case SDLK_LSHIFT: < case SDLK_RSHIFT: *key = K_SHIFT; break; < < case SDLK_LCTRL: < case SDLK_RCTRL: *key = K_CTRL; break; < < case SDLK_RMETA: < case SDLK_LMETA: < case SDLK_RALT: < case SDLK_LALT: *key = K_ALT; break; < < case SDLK_KP5: *key = K_KP_5; break; < case SDLK_INSERT: *key = K_INS; break; < case SDLK_KP0: *key = K_KP_INS; break; < case SDLK_KP_MULTIPLY: *key = K_KP_STAR; break; < case SDLK_KP_PLUS: *key = K_KP_PLUS; break; < case SDLK_KP_MINUS: *key = K_KP_MINUS; break; < case SDLK_KP_DIVIDE: *key = K_KP_SLASH; break; < < default: break; < } --- > *key = (int) keysym->sym; 270a192,254 > else > switch (keysym->sym) > { > case SDLK_PAGEUP: *key = K_PGUP; break; > case SDLK_KP9: *key = K_KP_PGUP; break; > case SDLK_PAGEDOWN: *key = K_PGDN; break; > case SDLK_KP3: *key = K_KP_PGDN; break; > case SDLK_KP7: *key = K_KP_HOME; break; > case SDLK_HOME: *key = K_HOME; break; > case SDLK_KP1: *key = K_KP_END; break; > case SDLK_END: *key = K_END; break; > case SDLK_KP4: *key = K_KP_LEFTARROW; break; > case SDLK_LEFT: *key = K_LEFTARROW; break; > case SDLK_KP6: *key = K_KP_RIGHTARROW; break; > case SDLK_RIGHT: *key = K_RIGHTARROW; break; > case SDLK_KP2: *key = K_KP_DOWNARROW; break; > case SDLK_DOWN: *key = K_DOWNARROW; break; > case SDLK_KP8: *key = K_KP_UPARROW; break; > case SDLK_UP: *key = K_UPARROW; break; > case SDLK_ESCAPE: *key = K_ESCAPE; break; > case SDLK_KP_ENTER: *key = K_KP_ENTER; break; > case SDLK_RETURN: *key = K_ENTER; break; > case SDLK_TAB: *key = K_TAB; break; > case SDLK_F1: *key = K_F1; break; > case SDLK_F2: *key = K_F2; break; > case SDLK_F3: *key = K_F3; break; > case SDLK_F4: *key = K_F4; break; > case SDLK_F5: *key = K_F5; break; > case SDLK_F6: *key = K_F6; break; > case SDLK_F7: *key = K_F7; break; > case SDLK_F8: *key = K_F8; break; > case SDLK_F9: *key = K_F9; break; > case SDLK_F10: *key = K_F10; break; > case SDLK_F11: *key = K_F11; break; > case SDLK_F12: *key = K_F12; break; > > // bk001206 - from Ryan's Fakk2 > case SDLK_BACKSPACE: *key = K_BACKSPACE; break; // ctrl-h > case SDLK_KP_PERIOD: *key = K_KP_DEL; break; > case SDLK_DELETE: *key = K_DEL; break; > case SDLK_PAUSE: *key = K_PAUSE; break; > > case SDLK_LSHIFT: > case SDLK_RSHIFT: *key = K_SHIFT; break; > > case SDLK_LCTRL: > case SDLK_RCTRL: *key = K_CTRL; break; > > case SDLK_RMETA: > case SDLK_LMETA: > case SDLK_RALT: > case SDLK_LALT: *key = K_ALT; break; > > case SDLK_KP5: *key = K_KP_5; break; > case SDLK_INSERT: *key = K_INS; break; > case SDLK_KP0: *key = K_KP_INS; break; > case SDLK_KP_MULTIPLY: *key = '*'; break; > case SDLK_KP_PLUS: *key = K_KP_PLUS; break; > case SDLK_KP_MINUS: *key = K_KP_MINUS; break; > case SDLK_KP_DIVIDE: *key = K_KP_SLASH; break; > > default: break; > }