Files
haiku-beta6/src/data/keymaps/Dvorak.keymap
T
X512 2141d2fe3a input: fix KEY_power key code conflict with japanese \_ key
- This key code is inherited from BeOS, where it was used for the power
  key on Apple ADB keyboards
- Since then, we have introduced a new system for "multimedia" keys,
  that uses HID key codes directly instead of defining our own mappings
- The PS2 driver was using the HID keycode, but the USB driver was still
  using the BeOS defined one
- Japanese keyboards, which have a few more keys than US and European
  ones, reused the same keycode for something else

Since the power key does not need to be mapped by the keymap, move it
out of the way by using the HID keycode (key codes larger than 0x7f
cannot be mapped to UTF8 symbols). Remove all mentions of the use of
0x6b as a keycode for the power key, but add a note in the documentation
that BeOS did this.

To avoid further confusions, complete the documentation of extra
keycodes, and remove some definitions from keyboard_mouse_driver.h that
should have been in InterfaceDefs.h.

While researching this, I also found that some keys specific to Korean
keyboards were declared in the wrong place, as mapped codes instead of
unmapped ones (checked that by looking at the HID driver, which emits
these raw keycodes, and confirming that the mapped ones are not used in
any keymaps. Also added a note about the mapping of the extra modifier
keys in Japanese keyboards, which I think may be a problem since these
map to invalid UTF-8 byte sequences, but this is what the existing
keymap does, so leaving it as is for now until we can determine if this
can be changed or if we have to keep it that way.

Change-Id: I6a198a0840cba7739bdc78e0c65e5d8fd23956c9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8047
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-08-19 16:00:25 +00:00

277 lines
17 KiB
Plaintext

#!/bin/keymap -l
#
# Contributed by: Daniel Bostwick
#
#
# Raw key numbering for 101 Dvorak 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] [ ' ] [ , ] [ . ] [ p ] [ y ] [ f ] [ g ] [ c ] [ r ] [ l ] [ / ] [ = ] [ \ ] [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 ] [ o ] [ e ] [ u ] [ i ] [ d ] [ h ] [ t ] [ n ] [ s ] [ - ] [ enter ] [ 4 ] [ 5 ] [ 6 ]
# 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a
#
# [shift] [ ; ] [ q ] [ j ] [ k ] [ x ] [ b ] [ m ] [ w ] [ v ] [ z ] [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
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 = '`' '~' '' ' ' '' '`' '~' ' ' ''
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 = '[' '{' 0x1b ' ' '' '[' '{' ' ' ''
Key 0x1d = ']' '}' 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 = '\'' '"' '' ' ' '' '\'' '"' ' ' ''
Key 0x28 = ',' '<' '' ' ' '' ',' '<' ' ' ''
Key 0x29 = '.' '>' '' ' ' '' '.' '>' ' ' ''
Key 0x2a = 'p' 'P' 0x10 ' ' '' 'P' 'p' ' ' ''
Key 0x2b = 'y' 'Y' 0x19 ' ' '' 'Y' 'y' ' ' ''
Key 0x2c = 'f' 'F' 0x06 ' ' '' 'F' 'f' ' ' ''
Key 0x2d = 'g' 'G' 0x07 ' ' '' 'G' 'g' ' ' ''
Key 0x2e = 'c' 'C' 0x03 ' ' '' 'C' 'c' ' ' ''
Key 0x2f = 'r' 'R' 0x12 ' ' '' 'R' 'r' ' ' ''
Key 0x30 = 'l' 'L' 0x0c ' ' '' 'L' 'l' ' ' ''
Key 0x31 = '/' '?' '' ' ' '' '/' '?' ' ' ''
Key 0x32 = '=' '+' '' ' ' '' '=' '+' ' ' ''
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 ' ' '' 'A' 'a' ' ' ''
Key 0x3d = 'o' 'O' 0x0f ' ' '' 'O' 'o' ' ' ''
Key 0x3e = 'e' 'E' 0x05 ' ' '' 'E' 'e' ' ' ''
Key 0x3f = 'u' 'U' 0x15 ' ' '' 'U' 'u' ' ' ''
Key 0x40 = 'i' 'I' 0x09 ' ' '' 'I' 'i' ' ' ''
Key 0x41 = 'd' 'D' 0x04 ' ' '' 'D' 'd' ' ' ''
Key 0x42 = 'h' 'H' 0x08 ' ' '' 'H' 'h' ' ' ''
Key 0x43 = 't' 'T' 0x14 ' ' '' 'T' 't' ' ' ''
Key 0x44 = 'n' 'N' 0x0e ' ' '' 'N' 'n' ' ' ''
Key 0x45 = 's' 'S' 0x13 ' ' '' 'S' 's' ' ' ''
Key 0x46 = '-' '_' 0x1f ' ' '' '-' '_' ' ' ''
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 = ';' ':' '' ' ' '' ';' ':' ' ' ''
Key 0x4d = 'q' 'Q' 0x11 ' ' '' 'Q' 'q' ' ' ''
Key 0x4e = 'j' 'J' 0x0a ' ' '' 'J' 'j' ' ' ''
Key 0x4f = 'k' 'K' 0x0b ' ' '' 'K' 'k' ' ' ''
Key 0x50 = 'x' 'X' 0x18 ' ' '' 'X' 'x' ' ' ''
Key 0x51 = 'b' 'B' 0x02 ' ' '' 'B' 'b' ' ' ''
Key 0x52 = 'm' 'M' 0x0d ' ' '' 'M' 'm' ' ' ''
Key 0x53 = 'w' 'W' 0x17 ' ' '' 'W' 'w' ' ' ''
Key 0x54 = 'v' 'V' 0x16 ' ' '' 'V' 'v' ' ' ''
Key 0x55 = 'z' 'Z' 0x1a ' ' '' 'Z' 'z' ' ' ''
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 =