-
-
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?