Skip to content

Instantly share code, notes, and snippets.

@suhr
Created September 3, 2024 14:02
Show Gist options
  • Save suhr/984af0762d9469d3def0bc3949c38783 to your computer and use it in GitHub Desktop.
Save suhr/984af0762d9469d3def0bc3949c38783 to your computer and use it in GitHub Desktop.
#!/bin/keymap -l
#
# Raw key numbering for 101 keyboard...
# [sys] [brk]
# 0x7e 0x7f
# [esc] [ f1] [ f2] [ f3] [ f4] [ f5] [ f6] [ f7] [ f8] [ f9] [f10] [f11] [f12] [prn] [scr] [pau]
# 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 K E Y P A D K E Y S
#
# [ ` ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 0 ] [ - ] [ = ] [bck] [ins] [hme] [pup] [num] [ / ] [ * ] [ - ]
# 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25
#
# [tab] [ q ] [ w ] [ e ] [ r ] [ t ] [ y ] [ u ] [ i ] [ o ] [ p ] [ [ ] [ ] ] [ \ ] [del] [end] [pdn] [ 7 ] [ 8 ] [ 9 ] [ + ]
# 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a
#
# [cap] [ a ] [ s ] [ d ] [ f ] [ g ] [ h ] [ j ] [ k ] [ l ] [ ; ] [ ' ] [ enter ] [ 4 ] [ 5 ] [ 6 ]
# 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a
#
# [shift] [ z ] [ x ] [ c ] [ v ] [ b ] [ n ] [ m ] [ , ] [ . ] [ / ] [shift] [ up] [ 1 ] [ 2 ] [ 3 ] [ent]
# 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b
#
# [ctr] [cmd] [ space ] [cmd] [ctr] [lft] [dwn] [rgt] [ 0 ] [ . ]
# 0x5c 0x5d 0x5e 0x5f 0x60 0x61 0x62 0x63 0x64 0x65
#
# NOTE: On a Microsoft Natural Keyboard:
# left option = 0x66
# right option = 0x67
# menu key = 0x68
# NOTE: On an Apple Extended Keyboard:
# left option = 0x66
# right option = 0x67
# keypad '=' = 0x6a
# power key = 0x6b
Version = 3
CapsLock = 0x3b
ScrollLock = 0x0f
NumLock = 0x22
LShift = 0x4b
RShift = 0x56
LCommand = 0x5d
RCommand = 0x5f
LControl = 0x5c
RControl = 0x60
LOption = 0x66
ROption = 0x67
Menu = 0x68
#
# Lock settings
# To set NumLock, do the following:
# LockSettings = NumLock
#
# To set everything, do the following:
# LockSettings = CapsLock NumLock ScrollLock
#
LockSettings =
# Legend:
# n = Normal
# s = Shift
# c = Control
# C = CapsLock
# o = Option
# Key n s c o os C Cs Co Cos
Key 0x00 = '' '' '' '' '' '' '' '' ''
Key 0x01 = 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b
Key 0x02 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x03 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x04 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x05 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x06 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x07 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x08 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x09 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x0a = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x0b = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x0c = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x0d = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x0e = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x0f = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x10 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
Key 0x11 = '`' '~' '' '' '' 0xd191 0xd081 '' ''
Key 0x12 = '1' '!' '' '' '' '1' '!' '' ''
Key 0x13 = '2' '@' 0x00 '' '' '2' '"' '' ''
Key 0x14 = '3' '#' '' '' '' '3' '#' '' ''
Key 0x15 = '4' '$' '' '' '' '4' ';' '' ''
Key 0x16 = '5' '%' '' '' '' '5' '%' '' ''
Key 0x17 = '6' '^' 0x1e '' '' '6' ':' '' ''
Key 0x18 = '7' '&' '' '' '' '7' '?' '' ''
Key 0x19 = '8' '*' '' '' '' '8' '*' '' ''
Key 0x1a = '9' '(' '' '' '' '9' '(' '' ''
Key 0x1b = '0' ')' '' '' '' '0' ')' '' ''
Key 0x1c = '-' '_' 0x1f '' '' '-' '_' '' ''
Key 0x1d = '=' '+' '' '' '' '=' '+' '' ''
Key 0x1e = 0x08 0x08 0x7f 0x08 0x08 0x08 0x08 0x08 0x08
Key 0x1f = 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05
Key 0x20 = 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01
Key 0x21 = 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b
Key 0x22 = '' '' '' '' '' '' '' '' ''
Key 0x23 = '/' '/' '/' '/' '/' '/' '/' '/' '/'
Key 0x24 = '*' '*' '*' '*' '*' '*' '*' '*' '*'
Key 0x25 = '-' '-' '-' '-' '-' '-' '-' '-' '-'
Key 0x26 = 0x09 0x09 0x09 0x09 0x09 0x09 0x09 0x09 0x09
Key 0x27 = 'q' 'Q' 0x11 '' '' 0xd0b9 0xd099 '' ''
Key 0x28 = 'w' 'W' 0x17 '' '' 0xd186 0xd0a6 '' ''
Key 0x29 = 'e' 'E' 0x05 '' '' 0xd183 0xd0a3 '' ''
Key 0x2a = 'r' 'R' 0x12 '' '' 0xd0ba 0xd09a '' ''
Key 0x2b = 't' 'T' 0x14 '' '' 0xd0b5 0xd095 '' ''
Key 0x2c = 'y' 'Y' 0x19 '' '' 0xd0bd 0xd09d '' ''
Key 0x2d = 'u' 'U' 0x15 '' '' 0xd0b3 0xd093 '' ''
Key 0x2e = 'i' 'I' 0x09 '' '' 0xd188 0xd0a8 '' ''
Key 0x2f = 'o' 'O' 0x0f '' '' 0xd189 0xd0a9 '' ''
Key 0x30 = 'p' 'P' 0x10 '' '' 0xd0b7 0xd097 '' ''
Key 0x31 = '[' '{' 0x1b '' '' 0xd185 0xd0a5 '' ''
Key 0x32 = ']' '}' 0x1d '' '' 0xd18a 0xd0aa '' ''
Key 0x33 = '\\' '|' 0x1c '' '' '\\' '/' '' ''
Key 0x34 = 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f
Key 0x35 = 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
Key 0x36 = 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c
Key 0x37 = 0x01 '7' 0x01 0x01 '7' 0x01 '7' 0x01 '7'
Key 0x38 = 0x1e '8' 0x1e 0x1e '8' 0x1e '8' 0x1e '8'
Key 0x39 = 0x0b '9' 0x0b 0x0b '9' 0x0b '9' 0x0b '9'
Key 0x3a = '+' '+' '+' '+' '+' '+' '+' '+' '+'
Key 0x3b = '' '' '' '' '' '' '' '' ''
Key 0x3c = 'a' 'A' 0x01 '' '' 0xd184 0xd0a4 '' ''
Key 0x3d = 's' 'S' 0x13 '' '' 0xd18b 0xd0ab '' ''
Key 0x3e = 'd' 'D' 0x04 '' '' 0xd0b2 0xd092 '' ''
Key 0x3f = 'f' 'F' 0x06 '' '' 0xd0b0 0xd090 '' ''
Key 0x40 = 'g' 'G' 0x07 '' '' 0xd0bf 0xd09f '' ''
Key 0x41 = 'h' 'H' 0x08 '' '' 0xd180 0xd0a0 '' ''
Key 0x42 = 'j' 'J' 0x0a '' '' 0xd0be 0xd09e '' ''
Key 0x43 = 'k' 'K' 0x0b '' '' 0xd0bb 0xd09b '' ''
Key 0x44 = 'l' 'L' 0x0c '' '' 0xd0b4 0xd094 '' ''
Key 0x45 = ';' ':' '' '' '' 0xd0b6 0xd096 '' ''
Key 0x46 = '\'' '"' '' '' '' 0xd18d 0xd0ad '' ''
Key 0x47 = 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a
Key 0x48 = 0x1c '4' 0x1c 0x1c '4' 0x1c '4' 0x1c '4'
Key 0x49 = '' '5' '' '' '5' '' '5' '' '5'
Key 0x4a = 0x1d '6' 0x1d 0x1d '6' 0x1d '6' 0x1d '6'
Key 0x4b = '' '' '' '' '' '' '' '' ''
Key 0x4c = 'z' 'Z' 0x1a '' '' 0xd18f 0xd0af '' ''
Key 0x4d = 'x' 'X' 0x18 '' '' 0xd187 0xd0a7 '' ''
Key 0x4e = 'c' 'C' 0x03 '' '' 0xd181 0xd0a1 '' ''
Key 0x4f = 'v' 'V' 0x16 '' '' 0xd0bc 0xd09c '' ''
Key 0x50 = 'b' 'B' 0x02 '' '' 0xd0b8 0xd098 '' ''
Key 0x51 = 'n' 'N' 0x0e '' '' 0xd182 0xd0a2 '' ''
Key 0x52 = 'm' 'M' 0x0d '' '' 0xd18c 0xd0ac '' ''
Key 0x53 = ',' '<' '' '' '' 0xd0b1 0xd091 '' ''
Key 0x54 = '.' '>' '' '' '' 0xd18e 0xd0ae '' ''
Key 0x55 = '/' '?' '' '' '' '.' ',' '' ''
Key 0x56 = '' '' '' '' '' '' '' '' ''
Key 0x57 = 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e
Key 0x58 = 0x04 '1' 0x04 0x04 '1' 0x04 '1' 0x04 '1'
Key 0x59 = 0x1f '2' 0x1f 0x1f '2' 0x1f '2' 0x1f '2'
Key 0x5a = 0x0c '3' 0x0c 0x0c '3' 0x0c '3' 0x0c '3'
Key 0x5b = 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a
Key 0x5c = '' '' '' '' '' '' '' '' ''
Key 0x5d = '' '' '' '' '' '' '' '' ''
Key 0x5e = ' ' ' ' 0x00 ' ' ' ' ' ' ' ' ' ' ' '
Key 0x5f = '' '' '' '' '' '' '' '' ''
Key 0x60 = '' '' '' '' '' '' '' '' ''
Key 0x61 = 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c
Key 0x62 = 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f
Key 0x63 = 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d
Key 0x64 = 0x05 '0' 0x05 0x05 '0' 0x05 '0' 0x05 '0'
Key 0x65 = 0x7f '.' 0x7f 0x7f '.' 0x7f ',' 0x7f '.'
Key 0x66 = '' '' '' '' '' '' '' '' ''
Key 0x67 = '' '' '' '' '' '' '' '' ''
Key 0x68 = '' '' '' '' '' '' '' '' ''
Key 0x69 = '\\' '|' 0x1c '' '' '\\' '/' '' ''
Key 0x6a = '' '' '' '' '' '' '' '' ''
Key 0x6b = '' '' '' '' '' '' '' '' ''
Key 0x6c = '' '' '' '' '' '' '' '' ''
Key 0x6d = '' '' '' '' '' '' '' '' ''
Key 0x6e = '' '' '' '' '' '' '' '' ''
Key 0x6f = '' '' '' '' '' '' '' '' ''
Key 0x70 = '' '' '' '' '' '' '' '' ''
Key 0x71 = '' '' '' '' '' '' '' '' ''
Key 0x72 = '' '' '' '' '' '' '' '' ''
Key 0x73 = '' '' '' '' '' '' '' '' ''
Key 0x74 = '' '' '' '' '' '' '' '' ''
Key 0x75 = '' '' '' '' '' '' '' '' ''
Key 0x76 = '' '' '' '' '' '' '' '' ''
Key 0x77 = '' '' '' '' '' '' '' '' ''
Key 0x78 = '' '' '' '' '' '' '' '' ''
Key 0x79 = '' '' '' '' '' '' '' '' ''
Key 0x7a = '' '' '' '' '' '' '' '' ''
Key 0x7b = '' '' '' '' '' '' '' '' ''
Key 0x7c = '' '' '' '' '' '' '' '' ''
Key 0x7d = '' '' '' '' '' '' '' '' ''
Key 0x7e = '' '' '' '' '' '' '' '' ''
Key 0x7f = '' '' '' '' '' '' '' '' ''
Acute ' ' = '\''
Acute 'A' = 0xc381
Acute 'E' = 0xc389
Acute 'I' = 0xc38d
Acute 'O' = 0xc393
Acute 'U' = 0xc39a
Acute 'Y' = 0xc39d
Acute 'a' = 0xc3a1
Acute 'e' = 0xc3a9
Acute 'i' = 0xc3ad
Acute 'o' = 0xc3b3
Acute 'u' = 0xc3ba
Acute 'y' = 0xc3bd
Acute '' = ''
Acute '' = ''
Acute '' = ''
AcuteTab =
Grave ' ' = '`'
Grave 'A' = 0xc380
Grave 'E' = 0xc388
Grave 'I' = 0xc38c
Grave 'O' = 0xc392
Grave 'U' = 0xc399
Grave 'a' = 0xc3a0
Grave 'e' = 0xc3a8
Grave 'i' = 0xc3ac
Grave 'o' = 0xc3b2
Grave 'u' = 0xc3b9
Grave '' = ''
Grave '' = ''
Grave '' = ''
Grave '' = ''
Grave '' = ''
GraveTab =
Circumflex ' ' = '^'
Circumflex 'A' = 0xc382
Circumflex 'E' = 0xc38a
Circumflex 'I' = 0xc38e
Circumflex 'O' = 0xc394
Circumflex 'U' = 0xc39b
Circumflex 'a' = 0xc3a2
Circumflex 'e' = 0xc3aa
Circumflex 'i' = 0xc3ae
Circumflex 'o' = 0xc3b4
Circumflex 'u' = 0xc3bb
Circumflex '' = ''
Circumflex '' = ''
Circumflex '' = ''
Circumflex '' = ''
Circumflex '' = ''
CircumflexTab =
Diaeresis ' ' = '"'
Diaeresis 'A' = 0xc384
Diaeresis 'E' = 0xc38b
Diaeresis 'I' = 0xc38f
Diaeresis 'O' = 0xc396
Diaeresis 'U' = 0xc39c
Diaeresis 'Y' = 0xc5b8
Diaeresis 'a' = 0xc3a4
Diaeresis 'e' = 0xc3ab
Diaeresis 'i' = 0xc3af
Diaeresis 'o' = 0xc3b6
Diaeresis 'u' = 0xc3bc
Diaeresis 'y' = 0xc3bf
Diaeresis '' = ''
Diaeresis '' = ''
Diaeresis '' = ''
DiaeresisTab =
Tilde ' ' = '~'
Tilde 'A' = 0xc383
Tilde 'O' = 0xc395
Tilde 'N' = 0xc391
Tilde 'a' = 0xc3a3
Tilde 'o' = 0xc3b5
Tilde 'n' = 0xc3b1
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
Tilde '' = ''
TildeTab =
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment