-
-
Save rickyzhang82/8581a762c9f9fc6ddb8390872552c250 to your computer and use it in GitHub Desktop.
| # /usr/share/BasiliskII/keycodes | |
| # | |
| # Basilisk II (C) 1997-2005 Christian Bauer | |
| # | |
| # This file is used to translate the (server-specific) scancodes to | |
| # Mac keycodes depending on the window server being used. | |
| # | |
| # The format of this file is as follows: | |
| # | |
| # sdl <driver string> | |
| # <SDL scancode> <Mac keycode> | |
| # <SDL scancode> <Mac keycode> | |
| # <SDL scancode> <Mac keycode> | |
| # ... | |
| # sdl <driver string> | |
| # <SDL scancode> <Mac keycode> | |
| # <SDL scancode> <Mac keycode> | |
| # ... | |
| # | |
| # The "driver string" must match the first part of the SDL driver vendor | |
| # description as reported by SDL_VideoDriverName(). If a match is found, | |
| # the keycode translation table is constructed from the following | |
| # lines. Each line contains an SDL scancode followed by its associated | |
| # Mac keycode. Both keycodes have to be given in decimal. Lines | |
| # beginning with "#" or ";" are treated as comments and ignored. | |
| # | |
| # | |
| # X11 server | |
| # | |
| sdl x11 | |
| sdl dga | |
| 9 53 # Esc | |
| 67 122 # F1 | |
| 68 120 # F2 | |
| 69 99 # F3 | |
| 70 118 # F4 | |
| 71 96 # F5 | |
| 72 97 # F6 | |
| 73 98 # F7 | |
| 74 100 # F8 | |
| 75 101 # F9 | |
| 76 109 # F10 | |
| 95 103 # F11 | |
| 96 127 # F12 | |
| 111 105 # PrintScrn | |
| 78 107 # Scroll Lock | |
| 110 113 # Pause | |
| 49 50 # ` | |
| 10 18 # 1 | |
| 11 19 # 2 | |
| 12 20 # 3 | |
| 13 21 # 4 | |
| 14 23 # 5 | |
| 15 22 # 6 | |
| 16 26 # 7 | |
| 17 28 # 8 | |
| 18 25 # 9 | |
| 19 29 # 0 | |
| 20 27 # - | |
| 21 24 # = | |
| 22 51 # Backspace | |
| 106 114 # Insert | |
| 97 115 # Home | |
| 99 116 # Page Up | |
| 77 71 # Num Lock | |
| 112 75 # KP / | |
| 63 67 # KP * | |
| 82 78 # KP - | |
| 23 48 # Tab | |
| 24 12 # Q | |
| 25 13 # W | |
| 26 14 # E | |
| 27 15 # R | |
| 28 17 # T | |
| 29 16 # Y | |
| 30 32 # U | |
| 31 34 # I | |
| 32 31 # O | |
| 33 35 # P | |
| 34 33 # [ | |
| 35 30 # ] | |
| 36 36 # Return | |
| 107 117 # Delete | |
| 103 119 # End | |
| 105 121 # Page Down | |
| 79 89 # KP 7 | |
| 80 91 # KP 8 | |
| 81 92 # KP 9 | |
| 86 69 # KP + | |
| 66 57 # Caps Lock | |
| 38 0 # A | |
| 39 1 # S | |
| 40 2 # D | |
| 41 3 # F | |
| 42 5 # G | |
| 43 4 # H | |
| 44 38 # J | |
| 45 40 # K | |
| 46 37 # L | |
| 47 41 # ; | |
| 48 39 # ' | |
| 83 86 # KP 4 | |
| 84 87 # KP 5 | |
| 85 88 # KP 6 | |
| 50 56 # Shift Left | |
| 94 50 # International | |
| 52 6 # Z | |
| 53 7 # X | |
| 54 8 # C | |
| 55 9 # V | |
| 56 11 # B | |
| 57 45 # N | |
| 58 46 # M | |
| 59 43 # , | |
| 60 47 # . | |
| 61 44 # / | |
| 62 56 # Shift Right | |
| 51 42 # \ | |
| 98 62 # Cursor Up | |
| 87 83 # KP 1 | |
| 88 84 # KP 2 | |
| 89 85 # KP 3 | |
| 108 76 # KP Enter | |
| 37 54 # Ctrl Left | |
| 115 58 # Logo Left (-> Option) | |
| 64 55 # Alt Left (-> Command) | |
| 65 49 # Space | |
| 113 55 # Alt Right (-> Command) | |
| 116 58 # Logo Right (-> Option) | |
| 117 50 # Menu (-> International) | |
| 109 54 # Ctrl Right | |
| 100 59 # Cursor Left | |
| 104 61 # Cursor Down | |
| 102 60 # Cursor Right | |
| 90 82 # KP 0 | |
| 91 65 # KP . | |
| # | |
| # Linux Framebuffer Console | |
| # | |
| sdl fbcon | |
| 1 53 # Esc | |
| 59 122 # F1 | |
| 60 120 # F2 | |
| 61 99 # F3 | |
| 62 118 # F4 | |
| 63 96 # F5 | |
| 64 97 # F6 | |
| 65 98 # F7 | |
| 66 100 # F8 | |
| 67 101 # F9 | |
| 68 109 # F10 | |
| 87 103 # F11 | |
| 88 111 # F12 | |
| 99 105 # PrintScrn | |
| 70 107 # Scroll Lock | |
| 119 113 # Pause | |
| 41 50 # ` | |
| 2 18 # 1 | |
| 3 19 # 2 | |
| 4 20 # 3 | |
| 5 21 # 4 | |
| 6 23 # 5 | |
| 7 22 # 6 | |
| 8 26 # 7 | |
| 9 28 # 8 | |
| 10 25 # 9 | |
| 11 29 # 0 | |
| 12 27 # - | |
| 13 24 # = | |
| 14 51 # Backspace | |
| 110 114 # Insert | |
| 102 115 # Home | |
| 104 116 # Page Up | |
| 69 71 # Num Lock | |
| 98 75 # KP / | |
| 55 67 # KP * | |
| 74 78 # KP - | |
| 15 48 # Tab | |
| 16 12 # Q | |
| 17 13 # W | |
| 18 14 # E | |
| 19 15 # R | |
| 20 17 # T | |
| 21 16 # Y | |
| 22 32 # U | |
| 23 34 # I | |
| 24 31 # O | |
| 25 35 # P | |
| 26 33 # [ | |
| 27 30 # ] | |
| 28 36 # Return | |
| 111 117 # Delete | |
| 107 119 # End | |
| 109 121 # Page Down | |
| 71 89 # KP 7 | |
| 72 91 # KP 8 | |
| 73 92 # KP 9 | |
| 78 69 # KP + | |
| 58 57 # Caps Lock | |
| 30 0 # A | |
| 31 1 # S | |
| 32 2 # D | |
| 33 3 # F | |
| 34 5 # G | |
| 35 4 # H | |
| 36 38 # J | |
| 37 40 # K | |
| 38 37 # L | |
| 39 41 # ; | |
| 40 39 # ' | |
| 75 86 # KP 4 | |
| 76 87 # KP 5 | |
| 77 88 # KP 6 | |
| 42 56 # Shift Left | |
| 86 50 # International | |
| 44 6 # Z | |
| 45 7 # X | |
| 46 8 # C | |
| 47 9 # V | |
| 48 11 # B | |
| 49 45 # N | |
| 50 46 # M | |
| 51 43 # , | |
| 52 47 # . | |
| 53 44 # / | |
| 54 56 # Shift Right | |
| 43 42 # \ | |
| 103 62 # Cursor Up | |
| 79 83 # KP 1 | |
| 80 84 # KP 2 | |
| 81 85 # KP 3 | |
| 96 76 # KP Enter | |
| 29 54 # Ctrl Left | |
| 125 58 # Logo Left (-> Option) | |
| 56 55 # Alt Left (-> Command) | |
| 57 49 # Space | |
| 100 55 # Alt Right (-> Command) | |
| 126 58 # Logo Right (-> Option) | |
| 97 54 # Ctrl Right | |
| 105 59 # Cursor Left | |
| 108 61 # Cursor Down | |
| 106 60 # Cursor Right | |
| 82 82 # KP 0 | |
| 83 65 # KP . | |
| # | |
| # Quartz (1:1 translation actually) | |
| # | |
| sdl Quartz | |
| 53 53 # Esc | |
| 122 122 # F1 | |
| 120 120 # F2 | |
| 99 99 # F3 | |
| 118 118 # F4 | |
| 96 96 # F5 | |
| 97 97 # F6 | |
| 98 98 # F7 | |
| 100 100 # F8 | |
| 101 101 # F9 | |
| 109 109 # F10 | |
| 103 103 # F11 | |
| 111 111 # F12 | |
| 105 105 # F13/PrintScrn | |
| 107 107 # F14/Scroll Lock | |
| 113 113 # F15/Pause | |
| 10 10 # ` | |
| 18 18 # 1 | |
| 19 19 # 2 | |
| 20 20 # 3 | |
| 21 21 # 4 | |
| 23 23 # 5 | |
| 22 22 # 6 | |
| 26 26 # 7 | |
| 28 28 # 8 | |
| 25 25 # 9 | |
| 29 29 # 0 | |
| 27 27 # - | |
| 24 24 # = | |
| 51 51 # Backspace | |
| 114 114 # Help/Insert | |
| 115 115 # Home | |
| 116 116 # Page Up | |
| 71 71 # Num Lock | |
| 81 81 # KP = | |
| 75 75 # KP / | |
| 67 67 # KP * | |
| 48 48 # Tab | |
| 12 12 # Q | |
| 13 13 # W | |
| 14 14 # E | |
| 15 15 # R | |
| 17 17 # T | |
| 16 16 # Y | |
| 32 32 # U | |
| 34 34 # I | |
| 31 31 # O | |
| 35 35 # P | |
| 33 33 # [ | |
| 30 30 # ] | |
| 36 36 # Return | |
| 117 117 # Delete | |
| 119 119 # End | |
| 121 121 # Page Down | |
| 89 89 # KP 7 | |
| 91 91 # KP 8 | |
| 92 92 # KP 9 | |
| 78 78 # KP - | |
| 57 57 # Caps Lock | |
| 0 0 # A | |
| 1 1 # S | |
| 2 2 # D | |
| 3 3 # F | |
| 5 5 # G | |
| 4 4 # H | |
| 38 38 # J | |
| 40 40 # K | |
| 37 37 # L | |
| 41 41 # ; | |
| 39 39 # ' | |
| 42 42 # \ | |
| 86 86 # KP 4 | |
| 87 87 # KP 5 | |
| 88 88 # KP 6 | |
| 69 69 # KP + | |
| 56 56 # Shift | |
| 50 50 # International | |
| 6 6 # Z | |
| 7 7 # X | |
| 8 8 # C | |
| 9 9 # V | |
| 11 11 # B | |
| 45 45 # N | |
| 46 46 # M | |
| 43 43 # , | |
| 47 47 # . | |
| 44 44 # / | |
| 126 62 # Cursor Up | |
| 123 59 # Cursor Left | |
| 125 61 # Cursor Down | |
| 124 60 # Cursor Right | |
| 83 83 # KP 1 | |
| 84 84 # KP 2 | |
| 85 85 # KP 3 | |
| 76 76 # KP Enter | |
| 54 54 # Ctrl | |
| 58 58 # Option | |
| 55 55 # Command | |
| 54 54 # Ctrl Left | |
| 49 49 # Space | |
| 82 82 # KP 0 | |
| 65 65 # KP . | |
| # | |
| # Windows | |
| # | |
| sdl windib | |
| sdl directx | |
| 1 53 # Esc | |
| 59 122 # F1 | |
| 60 120 # F2 | |
| 61 99 # F3 | |
| 62 118 # F4 | |
| 63 96 # F5 | |
| 64 97 # F6 | |
| 65 98 # F7 | |
| 66 100 # F8 | |
| 67 101 # F9 | |
| 68 109 # F10 | |
| 87 103 # F11 | |
| 88 111 # F12 | |
| 183 105 # PrintScrn | |
| 70 107 # Scroll Lock | |
| 197 113 # Pause | |
| 41 50 # ` | |
| 2 18 # 1 | |
| 3 19 # 2 | |
| 4 20 # 3 | |
| 5 21 # 4 | |
| 6 23 # 5 | |
| 7 22 # 6 | |
| 8 26 # 7 | |
| 9 28 # 8 | |
| 10 25 # 9 | |
| 11 29 # 0 | |
| 12 27 # - | |
| 13 24 # = | |
| 14 51 # Backspace | |
| 210 114 # Insert | |
| 199 115 # Home | |
| 201 116 # Page Up | |
| 69 71 # Num Lock | |
| 181 75 # KP / | |
| 55 67 # KP * | |
| 74 78 # KP - | |
| 15 48 # Tab | |
| 16 12 # Q | |
| 17 13 # W | |
| 18 14 # E | |
| 19 15 # R | |
| 20 17 # T | |
| 21 16 # Y | |
| 22 32 # U | |
| 23 34 # I | |
| 24 31 # O | |
| 25 35 # P | |
| 26 33 # [ | |
| 27 30 # ] | |
| 28 36 # Return | |
| 211 117 # Delete | |
| 207 119 # End | |
| 209 121 # Page Down | |
| 71 89 # KP 7 | |
| 72 91 # KP 8 | |
| 73 92 # KP 9 | |
| 78 69 # KP + | |
| 58 57 # Caps Lock | |
| 30 0 # A | |
| 31 1 # S | |
| 32 2 # D | |
| 33 3 # F | |
| 34 5 # G | |
| 35 4 # H | |
| 36 38 # J | |
| 37 40 # K | |
| 38 37 # L | |
| 39 41 # ; | |
| 40 39 # ' | |
| 75 86 # KP 4 | |
| 76 87 # KP 5 | |
| 77 88 # KP 6 | |
| 42 56 # Shift Left | |
| 86 50 # International | |
| 44 6 # Z | |
| 45 7 # X | |
| 46 8 # C | |
| 47 9 # V | |
| 48 11 # B | |
| 49 45 # N | |
| 50 46 # M | |
| 51 43 # , | |
| 52 47 # . | |
| 53 44 # / | |
| 54 56 # Shift Right | |
| 43 42 # \ | |
| 200 62 # Cursor Up | |
| 79 83 # KP 1 | |
| 80 84 # KP 2 | |
| 81 85 # KP 3 | |
| 156 76 # KP Enter | |
| 29 54 # Ctrl Left | |
| 219 58 # Logo Left (-> Option) | |
| 56 55 # Alt Left (-> Command) | |
| 57 49 # Space | |
| 184 55 # Alt Right (-> Command) | |
| 220 58 # Logo Right (-> Option) | |
| 221 50 # Menu (-> International) | |
| 157 54 # Ctrl Right | |
| 203 59 # Cursor Left | |
| 208 61 # Cursor Down | |
| 205 60 # Cursor Right | |
| 82 82 # KP 0 | |
| 83 65 # KP . |
I've never looked at the Basilisk II code at all prior to today so don't necessarily know the answer, but, honestly, it looks like the best solution with SDL 2 is not to try to use a keycode remapping at all — my reading of video_sdl2.cpp is that if either keycodes is false in wherever Basilisk II gets preferences from, or if keycodefile names a file that doesn't exist, then use_keycodes will be false and Basilisk II will use event2keycode rather than keycode_table, trusting SDL itself to do the proper mapping.
Having prior experience of SDL 2's source code, I think it always gets the US keyboard exactly right under X11.
I see. Disabling the keycodes works great in my Mac. Thanks!
do you have codes for media keys? volume up / down / mute / play / pause etc?
I've been looking for this for sooooo long, you're a messiah.
now I don't have to manually test every key, you've made my day less annoying and less tedious...
👍
Worth noting that F13-24 are actual keys, and they are not alternate names for Print/ScrollLock/Pause.
hey guys,
I found that the keycodes doesn't work in SDL2. Anywhere that I can get a fix for US keyboard?