# /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>
# ...
# <vendor string>
# <X11 keycode> <Mac keycode>
# <X11 keycode> <Mac keycode>
# <X11 keycode> <Mac keycode>
# ...
#
# The "driver string" must match the first part of the SDL driver
# vendor description as reported by SDL_VideoDriverName(), while the
# "vendor string" must match the first part of the X11 server vendor
# description as reported by ServerVendor(). If a match is found,
# the keycode translation table is constructed from the following
# lines. Each line contains an SDL scancode or X11 keycode 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
# X.Org
# Wayland
#
sdl x11
sdl wayland
sdl dga
The X.Org Foundation
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	111	# 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 .

#
# cocoa (SDL2)
#
sdl cocoa
41	53	# Esc
58	122	# F1
59	120	# F2
60	99	# F3
61	118	# F4
62	96	# F5
63	97	# F6
64	98	# F7
65	100	# F8
66	101	# F9
67	109	# F10
68	103	# F11
69	111	# F12
70	105	# F13/PrintScrn
71	107	# F14/Scroll Lock
72	113	# F15/Pause
53	10	# `
30	18	# 1
31	19	# 2
32	20	# 3
33	21	# 4
34	23	# 5
35	22	# 6
36	26	# 7
37	28	# 8
38	25	# 9
39	29	# 0
45	27	# -
46	24	# =
42	51	# Backspace
73	114	# Help/Insert
74	115	# Home
75	116	# Page Up
83	71	# Num Lock
103	81	# KP =
84	75	# KP /
85	67	# KP *
43	48	# Tab
20	12	# Q
26	13	# W
8	14	# E
21	15	# R
23	17	# T
28	16	# Y
24	32	# U
12	34	# I
18	31	# O
19	35	# P
47	33	# [
48	30	# ]
40	36	# Return
76	117	# Delete
77	119	# End
78	121	# Page Down
95	89	# KP 7
96	91	# KP 8
97	92	# KP 9
86	78	# KP -
57	57	# Caps Lock
4	0	# A
22	1	# S
7	2	# D
9	3	# F
10	5	# G
11	4	# H
13	38	# J
14	40	# K
15	37	# L
51	41	# ;
52	39	# '
49	42	# \
92	86	# KP 4
93	87	# KP 5
94	88	# KP 6
87	69	# KP +
100	50	# International
29	6	# Z
27	7	# X
6	8	# C
25	9	# V
5	11	# B
17	45	# N
16	46	# M
54	43	# ,
55	47	# .
56	44	# /
82	62	# Cursor Up
80	59	# Cursor Left
81	61	# Cursor Down
79	60	# Cursor Right
89	83	# KP 1
90	84	# KP 2
91	85	# KP 3
88	76	# KP Enter
225	56	# Shift Left
224	54	# Ctrl Left
226	58	# Option Left
227	55	# Command Left
44	49	# Space
231	55	# Command Right
230	58	# Option Right
228	54	# Ctrl Right
229	56	# Shift Right
98	82	# KP 0
99	65	# KP .

#
# Windows (SDL2)
#
sdl windows
41	53	# Esc
58	122	# F1
59	120	# F2
60	99	# F3
61	118	# F4
62	96	# F5
63	97	# F6
64	98	# F7
65	100	# F8
66	101	# F9
67	109	# F10
68	103	# F11
69	111	# F12
70	105	# F13/PrintScrn
71	107	# F14/Scroll Lock
72	113	# F15/Pause
53	50	# `
30	18	# 1
31	19	# 2
32	20	# 3
33	21	# 4
34	23	# 5
35	22	# 6
36	26	# 7
37	28	# 8
38	25	# 9
39	29	# 0
45	27	# -
46	24	# =
42	51	# Backspace
73	114	# Help/Insert
74	115	# Home
75	116	# Page Up
83	71	# Num Lock
103	81	# KP =
84	75	# KP /
85	67	# KP *
43	48	# Tab
20	12	# Q
26	13	# W
8	14	# E
21	15	# R
23	17	# T
28	16	# Y
24	32	# U
12	34	# I
18	31	# O
19	35	# P
47	33	# [
48	30	# ]
40	36	# Return
76	117	# Delete
77	119	# End
78	121	# Page Down
95	89	# KP 7
96	91	# KP 8
97	92	# KP 9
86	78	# KP -
57	57	# Caps Lock
4	0	# A
22	1	# S
7	2	# D
9	3	# F
10	5	# G
11	4	# H
13	38	# J
14	40	# K
15	37	# L
51	41	# ;
52	39	# '
49	42	# \
92	86	# KP 4
93	87	# KP 5
94	88	# KP 6
87	69	# KP +
100	50	# International
29	6	# Z
27	7	# X
6	8	# C
25	9	# V
5	11	# B
17	45	# N
16	46	# M
54	43	# ,
55	47	# .
56	44	# /
82	62	# Cursor Up
80	59	# Cursor Left
81	61	# Cursor Down
79	60	# Cursor Right
89	83	# KP 1
90	84	# KP 2
91	85	# KP 3
88	76	# KP Enter
225	56	# Shift Left
224	58	# Ctrl Left (--> Option)
# 227		# Logo Left
226	55	# Alt Left (--> Command)
44	49	# Space
230	58	# Alt Right (--> Option)
# 231		# Logo Right
101	50	# Menu (--> International)
228	54	# Ctrl Right
229	56	# Shift Right
98	82	# KP 0
99	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 .

#
# XFree86
#
The XFree86 Project, Inc
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	111	# F12
111	105	# PrintScrn
78	107	# Scroll Lock
110	113	# Pause
49	10	# `
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 .

#
# MacX (keycodes depend on Mac keymap, so this doesn't make much sense...)
#
MacX
61	53	# Esc
130	122	# F1
128	120	# F2
107	99	# F3
126	118	# F4
104	96	# F5
105	97	# F6
106	98	# F7
108	100	# F8
109	101	# F9
117	109	# F10
111	103	# F11
119	111	# F12
113	105	# F13/PrintScrn
115	107	# F14/Scroll Lock
121	113	# F15/Pause
18	10	# `
26	18	# 1
27	19	# 2
28	20	# 3
29	21	# 4
31	23	# 5
30	22	# 6
34	26	# 7
36	28	# 8
33	25	# 9
37	29	# 0
35	27	# -
32	24	# =
59	51	# Backspace
122	114	# Help/Insert
123	115	# Home
124	116	# Page Up
79	71	# Num Lock
89	81	# KP =
83	75	# KP /
75	67	# KP *
56	48	# Tab
20	12	# Q
21	13	# W
22	14	# E
23	15	# R
25	17	# T
24	16	# Y
40	32	# U
42	34	# I
39	31	# O
43	35	# P
41	33	# [
38	30	# ]
44	36	# Return
125	117	# Delete
127	119	# End
129	121	# Page Down
97	89	# KP 7
99	91	# KP 8
100	92	# KP 9
86	78	# KP -
65	57	# Caps Lock
8	0	# A
9	1	# S
10	2	# D
11	3	# F
13	5	# G
12	4	# H
46	38	# J
48	40	# K
45	37	# L
49	41	# ;
47	39	# '
50	42	# \
94	86	# KP 4
95	87	# KP 5
96	88	# KP 6
77	69	# KP +
64	56	# Shift
58	50	# International
14	6	# Z
15	7	# X
16	8	# C
17	9	# V
19	11	# B
53	45	# N
54	46	# M
51	43	# ,
55	47	# .
52	44	# /
134	62	# Cursor Up
91	83	# KP 1
92	84	# KP 2
93	85	# KP 3
84	76	# KP Enter
62	54	# Ctrl
66	58	# Option
63	55	# Command
67	54	# Ctrl Left
57	49	# Space
131	59	# Cursor Left
133	61	# Cursor Down
132	60	# Cursor Right
90	82	# KP 0
73	65	# KP .

#
# SunOS/OpenWindows
#
Sun Microsystems, Inc.
36	53	# Esc
12	122	# F1
13	120	# F2
15	99	# F3
17	118	# F4
19	96	# F5
21	97	# F6
23	98	# F7
24	100	# F8
25	101	# F9
14	109	# F10
16	103	# F11
18	111	# F12
29	105	# PrintScrn
30	107	# Scroll Lock
28	113	# Pause
49	10	# `
37	18	# 1
38	19	# 2
39	20	# 3
40	21	# 4
41	23	# 5
42	22	# 6
43	26	# 7
44	28	# 8
45	25	# 9
46	29	# 10
47	27	# -
48	24	# =
50	51	# Backspace
51	114	# Help/Insert
59	115	# Home
103	116	# Page Up
105	71	# Num Lock
53	75	# KP /
54	67	# KP *
78	78	# KP -
60	48	# Tab
61	12	# Q
62	13	# W
63	14	# E
64	15	# R
65	17	# T
66	16	# Y
67	32	# U
68	34	# I
69	31	# O
70	35	# P
71	33	# [
72	30	# ]
96	36	# Return
73	117	# Delete
81	119	# End
130	121	# Page Down
75	89	# KP 7
76	91	# KP 8
77	92	# KP 9
132	69	# KP +
126	57	# Caps Lock
84	0	# A
85	1	# S
86	2	# D
87	3	# F
88	5	# G
89	4	# H
90	38	# J
91	40	# K
92	37	# L
93	41	# ;
94	39	# '
98	86	# KP 4
99	87	# KP 5
100	88	# KP 6
106	56	# Shift Left
131	50	# International
107	6	# Z
108	7	# X
109	8	# C
110	9	# V
111	11	# B
112	45	# N
113	46	# M
114	43	# ,
115	47	# .
116	44	# /
117	56	# Shift Right
95	42	# \
27	62	# Cursor Up
119	83	# KP 1
120	84	# KP 2
121	85	# KP 3
97	76	# KP Enter
83	54	# Ctrl Left
26	58	# Option Left
127	55	# Command Left
128	49	# Space
129	55	# Command Right
74	58	# Option Right
20	54	# Ctrl Right
31	59	# Cursor Left
34	61	# Cursor Down
35	60	# Cursor Right
101	82	# KP 0
57	65	# KP .

#
# AmiWin
#
AmiWin
77	53	# Esc
88	122	# F1
89	120	# F2
90	99	# F3
91	118	# F4
92	96	# F5
93	97	# F6
94	98	# F7
95	100	# F8
96	101	# F9
97	109	# F10
8	10	# `
9	18	# 1
10	19	# 2
11	20	# 3
12	21	# 4
13	23	# 5
14	22	# 6
15	26	# 7
16	28	# 8
17	25	# 9
18	29	# 10
19	27	# -
20	24	# =
21	42	# \
73	51	# Backspace
78	117	# Delete
103	114	# Help (-> Help/Insert)
98	71	# KP [ (-> Num Lock)
99	81	# KP ] (-> KP =)
100	75	# KP /
101	67	# KP *
74	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	# ]
76	36	# Return
69	89	# KP 7
70	91	# KP 8
71	92	# KP 9
82	78	# KP -
107	54	# Ctrl
106	57	# Caps Lock
40	0	# A
41	1	# S
42	2	# D
43	3	# F
44	5	# G
45	4	# H
46	38	# J
47	40	# K
48	37	# L
49	41	# ;
50	39	# '
51	42	# International (-> \)
84	62	# Cursor Up
53	86	# KP 4
54	87	# KP 5
55	88	# KP 6
102	69	# KP +
104	56	# Shift Left
56	50	# International
57	6	# Z
58	7	# X
59	8	# C
60	9	# V
61	11	# B
62	45	# N
63	46	# M
64	43	# ,
65	47	# .
66	44	# /
105	56	# Shift Right
87	59	# Cursor Left
85	61	# Cursor Down
86	60	# Cursor Right
37	83	# KP 1
38	84	# KP 2
39	85	# KP 3
75	76	# KP Enter
108	58	# Alt Left (-> Option)
110	55	# Amiga Left (-> Command)
72	49	# Space
111	55	# Amiga Right (-> Command)
109	58	# Alt Right (-> Option)
23	82	# KP 0
68	65	# KP .
