| 89 | KEY_R, KEY_S, KEY_T, KEY_U, KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z}; |
| 90 | |
| 91 | static inline uint8_t sdlkeycode_to_keycode(uint32_t sdlkeycode) { |
| 92 | // unceremoniously taken from Heretic source code with a few modifications. |
| 93 | // (by Outrage. Not Loki. We know better. :) --ryan.) |
| 94 | int rc = sdlkeycode; |
| 95 | |
| 96 | switch (rc) { |
| 97 | case SDLK_DELETE: |
| 98 | rc = KEY_DELETE; |
| 99 | break; |
| 100 | case SDLK_INSERT: |
| 101 | rc = KEY_INSERT; |
| 102 | break; |
| 103 | case SDLK_PAGEUP: |
| 104 | rc = KEY_PAGEUP; |
| 105 | break; |
| 106 | case SDLK_PAGEDOWN: |
| 107 | rc = KEY_PAGEDOWN; |
| 108 | break; |
| 109 | case SDLK_HOME: |
| 110 | rc = KEY_HOME; |
| 111 | break; |
| 112 | case SDLK_END: |
| 113 | rc = KEY_END; |
| 114 | break; |
| 115 | case SDLK_LEFT: |
| 116 | rc = KEY_LEFT; |
| 117 | break; |
| 118 | case SDLK_RIGHT: |
| 119 | rc = KEY_RIGHT; |
| 120 | break; |
| 121 | case SDLK_DOWN: |
| 122 | rc = KEY_DOWN; |
| 123 | break; |
| 124 | case SDLK_UP: |
| 125 | rc = KEY_UP; |
| 126 | break; |
| 127 | case SDLK_ESCAPE: |
| 128 | rc = KEY_ESC; |
| 129 | break; |
| 130 | case SDLK_RETURN: |
| 131 | rc = KEY_ENTER; |
| 132 | break; |
| 133 | case SDLK_TAB: |
| 134 | rc = KEY_TAB; |
| 135 | break; |
| 136 | case SDLK_F1: |
| 137 | rc = KEY_F1; |
| 138 | break; |
| 139 | case SDLK_F2: |
| 140 | rc = KEY_F2; |
| 141 | break; |
| 142 | case SDLK_F3: |
| 143 | rc = KEY_F3; |
| 144 | break; |
| 145 | case SDLK_F4: |
| 146 | rc = KEY_F4; |
| 147 | break; |
| 148 | case SDLK_F5: |