Skip to content

ISO International Keys

hasu@tmk edited this page Aug 16, 2021 · 6 revisions

USB HID

How computer handles keys of Keyboard/Keypad Page (0x07)

It seems that 0x31(Keyboard \ and |) and 0x32(Keyboard Non-US # and ˜) do not coexist on a keyboard and are handled equivalently by computer.

Linux

Xfce4/Xorg/Ubuntu

Usage US UK German French Norwegian Description
0x35 `~ ²~ Keyboard Grave Accent and Tilde
0x31 \| #~ #' '* Keyboard \ and |
0x32 \| #~ #' '* Keyboard Non-US # and ˜
0x64 <> \| <> <> <> Keyboard Non-US \ and |

Windows 10

Usage US UK German French Norwegian Description
0x35 `~ ² Keyboard Grave Accent and Tilde
0x31 \| #~ #' '* Keyboard \ and |
0x32 \| #~ #' '* Keyboard Non-US # and ˜
0x64 \| \| <> <> <> Keyboard Non-US \ and |

Japanese Specific Keys

Usage Japanese Description
0x89 \ | Keyboard International3 (JP_YEN)
0x87 \ _ Keyboard International1 (JP_RO)
0x32 ] } Keyboard Non-US # and ˜
0x35 全角/半角 Keyboard Grave Accent and Tilde

HID Usages of Keyboard/Keypad Page (0x07)

https://usb.org/sites/default/files/hut1_22.pdf

        ,-----------------------------------------------.
        |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
,---.   |-----------------------------------------------|     ,-----------. 
|Esc|   |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|     |PrS|ScL|Pau| 
`---'   `-----------------------------------------------'     `-----------'
,-----------------------------------------------------------. ,-----------. ,---------------.
|  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
|-----------------------------------------------------------| |-----------| |---------------|
|Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
|-----------------------------------------------------------| `-----------' |---------------|
|CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|Retn|               |  4|  5|  6|KP,|
|-----------------------------------------------------------|     ,---.     |---------------|       
|Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO|Shift |     |Up |     |  1|  2|  3|Ent|       
|-----------------------------------------------------------| ,-----------. |---------------|       
|Ctl|Gui|Alt|MHEN|     Space      |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|KP=|       
`-----------------------------------------------------------' `-----------' `---------------'       

        ,-----------------------------------------------. 
        | 68| 69| 6A| 6B| 6C| 6D| 6E| 6F| 70| 71| 72| 73|
,---.   |-----------------------------------------------|     ,-----------. 
| 29|   | 3A| 3B| 3C| 3D| 3E| 3F| 40| 41| 42| 43| 44| 45|     | 46| 47| 48| 
`---'   `-----------------------------------------------'     `-----------'
,-----------------------------------------------------------. ,-----------. ,---------------.
| 35| 1E| 1F| 20| 21| 22| 23| 24| 25| 26| 27| 2D| 2E| 89| 2A| | 49| 4A| 4B| | 53| 54| 55| 56|
|-----------------------------------------------------------| |-----------| |---------------|
|   2B| 14| 1A| 08| 15| 17| 1C| 18| 0C| 12| 13| 2F| 30|   31| | 4C| 4D| 4E| | 5F| 60| 61| 57|
|-----------------------------------------------------------| `-----------' |---------------|
|    39| 04| 16| 07| 09| 0A| 0B| 0D| 0E| 0F| 33| 34| 32|  28|               | 5C| 5D| 5E| 85|
|-----------------------------------------------------------|     ,---.     |---------------|
|  E1| 64| 1D| 1B| 06| 19| 05| 11| 10| 36| 37| 38| 87|    E5|     | 52|     | 59| 5A| 5B| 58|                          
|-----------------------------------------------------------| ,-----------. |---------------|                          
| E0| E3| E2|  8B|              2C|  8A|  88| E6| E7| 65| E4| | 50| 51| 4F| |     62| 63| 67|                          
`-----------------------------------------------------------' `-----------' `---------------'

Keyboard Layout

US Layout

UK Layout

German Layout

https://en.wikipedia.org/wiki/German_keyboard_layout

French Layout

https://en.wikipedia.org/wiki/AZERTY

Norwegian Layout

Japanese Layout

https://en.wikipedia.org/wiki/Language_input_keys#Keys_for_Japanese_Keyboards

ADB

ADB internatioanl key handling is complex.

https://github.com/tmk/tmk_keyboard/wiki/Apple-Desktop-Bus#apple-extended-keyboard-ii-iso-specific-keys

https://github.com/tmk/tmk_keyboard/issues/35

IBM PC XT

Original IBM XT keyboard has no ISO key but some clones do.

XT key XT code USB HID key USB HID code Desc
# ~ (| §) 0x29 ` ~ (| §) 0x35 near Enter on IBM XT
near 1 on Norwegian
\ | (` *) 0x2B US \ | (` *) 0x31 near Left Shift on IBM XT
near Backspace on Norwegian keyboard
(< >) 0x56 Non-US \ | (< >) 0x64 Not exist on IBM XT
near Left Shift on Norwegian keyboards

Charactors inside parenthesises indicates Norwegian keys.

https://github.com/tmk/tmk_keyboard/issues/702

Microsoft Scan Code Translate Table

XT(Code Set 1) <-> HID

https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf

MacOS Problem

If you use third-party USB keyboard you may have problem on ISO keys.

TBD

Clone this wiki locally