diff options
70 files changed, 28455 insertions, 102 deletions
@@ -53,6 +53,7 @@ tox: testenv --volume `pwd`/testenv/tests:/src/testenv/tests:ro \ --volume `pwd`/extras:/usr/share/kvmd/extras:ro \ --volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \ + --volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \ -it $(TESTENV_IMAGE) bash -c " \ cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \ && cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \ @@ -72,6 +73,7 @@ run: testenv --volume `pwd`/web:/usr/share/kvmd/web:ro \ --volume `pwd`/extras:/usr/share/kvmd/extras:ro \ --volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \ + --volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \ --device $(TESTENV_LOOP):/dev/kvmd-msd \ --device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \ --publish 8080:80/tcp \ @@ -98,6 +100,7 @@ run-ipmi: testenv --volume `pwd`/kvmd:/kvmd:ro \ --volume `pwd`/extras:/usr/share/kvmd/extras:ro \ --volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \ + --volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \ --publish 6230:623/udp \ -it $(TESTENV_IMAGE) /bin/bash -c " \ cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \ @@ -108,6 +111,24 @@ run-ipmi: testenv " +run-vnc: testenv + - docker run --rm --name kvmd-vnc \ + --volume `pwd`/testenv/run:/run/kvmd:rw \ + --volume `pwd`/testenv:/testenv:ro \ + --volume `pwd`/kvmd:/kvmd:ro \ + --volume `pwd`/extras:/usr/share/kvmd/extras:ro \ + --volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \ + --volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \ + --publish 5900:5900/tcp \ + -it $(TESTENV_IMAGE) /bin/bash -c " \ + cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \ + && cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \ + && cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \ + && cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \ + && $(if $(CMD),$(CMD),python -m kvmd.apps.vnc) \ + " + + regen: testenv for file in kvmd/keymap.py hid/src/keymap.h; do \ docker run --user `id -u`:`id -g` --rm \ @@ -39,6 +39,8 @@ depends=( python-pygments python-pyghmi python-pam + python-pillow + python-xlib v4l-utils nginx-mainline openssl @@ -79,7 +81,7 @@ package_kvmd() { install -DTm644 configs/os/tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/kvmd.conf" mkdir -p "$pkgdir/usr/share/kvmd" - cp -r {hid,web,extras} "$pkgdir/usr/share/kvmd" + cp -r {hid,web,extras,contrib/keymaps} "$pkgdir/usr/share/kvmd" local _cfg_default="$pkgdir/usr/share/kvmd/configs.default" mkdir -p "$_cfg_default" diff --git a/configs/kvmd/main/v0-hdmi-rpi2.yaml b/configs/kvmd/main/v0-hdmi-rpi2.yaml index ba532e8b..c9e77162 100644 --- a/configs/kvmd/main/v0-hdmi-rpi2.yaml +++ b/configs/kvmd/main/v0-hdmi-rpi2.yaml @@ -53,3 +53,13 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v0-hdmi-rpi3.yaml b/configs/kvmd/main/v0-hdmi-rpi3.yaml index ba532e8b..9901bc4e 100644 --- a/configs/kvmd/main/v0-hdmi-rpi3.yaml +++ b/configs/kvmd/main/v0-hdmi-rpi3.yaml @@ -53,3 +53,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v0-vga-rpi2.yaml b/configs/kvmd/main/v0-vga-rpi2.yaml index dd8cf024..bb45a9cf 100644 --- a/configs/kvmd/main/v0-vga-rpi2.yaml +++ b/configs/kvmd/main/v0-vga-rpi2.yaml @@ -54,3 +54,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v0-vga-rpi3.yaml b/configs/kvmd/main/v0-vga-rpi3.yaml index dd8cf024..bb45a9cf 100644 --- a/configs/kvmd/main/v0-vga-rpi3.yaml +++ b/configs/kvmd/main/v0-vga-rpi3.yaml @@ -54,3 +54,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v1-hdmi-rpi2.yaml b/configs/kvmd/main/v1-hdmi-rpi2.yaml index b2bca70e..a8f8d5d2 100644 --- a/configs/kvmd/main/v1-hdmi-rpi2.yaml +++ b/configs/kvmd/main/v1-hdmi-rpi2.yaml @@ -58,3 +58,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v1-hdmi-rpi3.yaml b/configs/kvmd/main/v1-hdmi-rpi3.yaml index b2bca70e..a8f8d5d2 100644 --- a/configs/kvmd/main/v1-hdmi-rpi3.yaml +++ b/configs/kvmd/main/v1-hdmi-rpi3.yaml @@ -58,3 +58,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v1-vga-rpi2.yaml b/configs/kvmd/main/v1-vga-rpi2.yaml index 1316ac8f..c658abfb 100644 --- a/configs/kvmd/main/v1-vga-rpi2.yaml +++ b/configs/kvmd/main/v1-vga-rpi2.yaml @@ -62,3 +62,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v1-vga-rpi3.yaml b/configs/kvmd/main/v1-vga-rpi3.yaml index 1316ac8f..c658abfb 100644 --- a/configs/kvmd/main/v1-vga-rpi3.yaml +++ b/configs/kvmd/main/v1-vga-rpi3.yaml @@ -62,3 +62,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v2-hdmi-rpi4.yaml b/configs/kvmd/main/v2-hdmi-rpi4.yaml index 3c9dc927..c78e3726 100644 --- a/configs/kvmd/main/v2-hdmi-rpi4.yaml +++ b/configs/kvmd/main/v2-hdmi-rpi4.yaml @@ -55,3 +55,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/kvmd/main/v2-hdmi-zerow.yaml b/configs/kvmd/main/v2-hdmi-zerow.yaml index 4d9cd5fd..9b23cad5 100644 --- a/configs/kvmd/main/v2-hdmi-zerow.yaml +++ b/configs/kvmd/main/v2-hdmi-zerow.yaml @@ -55,3 +55,12 @@ kvmd: ipmi: kvmd: unix: /run/kvmd/kvmd.sock + +vnc: + keymap: /usr/share/kvmd/keymaps/en-us + + kvmd: + unix: /run/kvmd/kvmd.sock + + streamer: + unix: /run/kvmd/ustreamer.sock diff --git a/configs/os/services/kvmd-vnc.service b/configs/os/services/kvmd-vnc.service new file mode 100644 index 00000000..f72fc44e --- /dev/null +++ b/configs/os/services/kvmd-vnc.service @@ -0,0 +1,16 @@ +[Unit] +Description=Pi-KVM - VNC to KVMD/Streamer proxy +After=kvmd.service + +[Service] +User=kvmd-vnc +Group=kvmd-vnc +Type=simple +Restart=always +RestartSec=3 + +ExecStart=/usr/bin/kvmd-vnc +TimeoutStopSec=3 + +[Install] +WantedBy=multi-user.target diff --git a/configs/os/sysusers.conf b/configs/os/sysusers.conf index 2714ae70..84c465bd 100644 --- a/configs/os/sysusers.conf +++ b/configs/os/sysusers.conf @@ -1,9 +1,11 @@ g kvmd - - g kvmd-ipmi - - +g kvmd-vnc - - g kvmd-nginx - - u kvmd - "Pi-KVM - The main daemon" - u kvmd-ipmi - "Pi-KVM - IPMI to KVMD proxy" - +u kvmd-vnc - "Pi-KVM - VNC to KVMD/Streamer proxy" - u kvmd-nginx - "Pi-KVM - HTTP entrypoint" - m kvmd gpio @@ -11,5 +13,6 @@ m kvmd uucp m kvmd systemd-journal m kvmd-ipmi kvmd +m kvmd-vnc kvmd m kvmd-nginx kvmd diff --git a/contrib/README b/contrib/README new file mode 100644 index 00000000..14381c44 --- /dev/null +++ b/contrib/README @@ -0,0 +1 @@ +* keymaps -> https://github.com/qemu/qemu/blob/master/pc-bios/keymaps diff --git a/contrib/keymaps/ar b/contrib/keymaps/ar new file mode 100644 index 00000000..f62b297c --- /dev/null +++ b/contrib/keymaps/ar @@ -0,0 +1,796 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : ar +# variant : - +# options : - + +# name: "Arabic" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +Arabic_1 0x02 altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +at 0x03 shift +Arabic_2 0x03 altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +Arabic_3 0x04 altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +Arabic_4 0x05 altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +Arabic_5 0x06 altgr +U2030 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +asciicircum 0x07 shift +Arabic_6 0x07 altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift +Arabic_7 0x08 altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +Arabic_8 0x09 altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +Arabic_9 0x0a altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenleft 0x0b shift +Arabic_0 0x0b altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +endash 0x0c altgr +U2011 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +notequal 0x0d altgr +approxeq 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +Arabic_dad 0x10 +Arabic_fatha 0x10 shift +U2066 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +Arabic_sad 0x11 +Arabic_fathatan 0x11 shift +U2067 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +Arabic_theh 0x12 +Arabic_damma 0x12 shift +U2068 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +Arabic_qaf 0x13 +Arabic_dammatan 0x13 shift +U2069 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +Arabic_feh 0x14 +UFEF9 0x14 shift +Arabic_veh 0x14 altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +Arabic_ghain 0x15 +Arabic_hamzaunderalef 0x15 shift +U202A 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +Arabic_ain 0x16 +grave 0x16 shift +U202B 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +Arabic_ha 0x17 +division 0x17 shift +U202C 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +Arabic_khah 0x18 +multiply 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +Arabic_hah 0x19 +Arabic_semicolon 0x19 shift +U200E 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +Arabic_jeem 0x1a +less 0x1a shift +Arabic_tcheh 0x1a altgr +U200F 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +Arabic_dal 0x1b +greater 0x1b shift +U061C 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +Arabic_sheen 0x1e +Arabic_kasra 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +Arabic_seen 0x1f +Arabic_kasratan 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +Arabic_yeh 0x20 +bracketright 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +Arabic_beh 0x21 +bracketleft 0x21 shift +Arabic_peh 0x21 altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +Arabic_lam 0x22 +UFEF7 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +Arabic_alef 0x23 +Arabic_hamzaonalef 0x23 shift +U0671 0x23 altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +Arabic_teh 0x24 +Arabic_tatweel 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +Arabic_noon 0x25 +Arabic_comma 0x25 shift +U066B 0x25 altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +Arabic_meem 0x26 +slash 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +Arabic_kaf 0x27 +colon 0x27 shift +Arabic_gaf 0x27 altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +Arabic_tah 0x28 +quotedbl 0x28 shift +U27E9 0x28 altgr +U200D 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +Arabic_thal 0x29 +Arabic_shadda 0x29 shift +Arabic_percent 0x29 altgr +U0609 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +backslash 0x2b +ellipsis 0x2b shift +U27E8 0x2b altgr +U202F 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +Arabic_hamzaonyeh 0x2c +asciitilde 0x2c shift +guillemotright 0x2c altgr +U203A 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +Arabic_hamza 0x2d +Arabic_sukun 0x2d shift +guillemotleft 0x2d altgr +U2039 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +Arabic_hamzaonwaw 0x2e +braceright 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +Arabic_ra 0x2f +braceleft 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +UFEFB 0x30 +UFEF5 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +Arabic_alefmaksura 0x31 +Arabic_maddaonalef 0x31 shift +Arabic_superscript_alef 0x31 altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +Arabic_tehmarbuta 0x32 +apostrophe 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +Arabic_waw 0x33 +comma 0x33 shift +U066C 0x33 altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +Arabic_zain 0x34 +period 0x34 shift +Arabic_jeh 0x34 altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +Arabic_zah 0x35 +Arabic_question_mark 0x35 shift +U066D 0x35 altgr +U200C 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +bar 0x56 +brokenbar 0x56 shift + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/bepo b/contrib/keymaps/bepo new file mode 100644 index 00000000..2292cbc4 --- /dev/null +++ b/contrib/keymaps/bepo @@ -0,0 +1,787 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : fr +# variant : dvorak +# options : - + +# name: "French (Dvorak)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +equal 0x02 +1 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +slash 0x03 +2 0x03 shift +plusminus 0x03 altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +minus 0x04 +3 0x04 shift +onequarter 0x04 altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +egrave 0x05 +4 0x05 shift +onehalf 0x05 altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +backslash 0x06 +5 0x06 shift +threequarters 0x06 altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +dead_circumflex 0x07 +6 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +parenleft 0x08 +7 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +ISO_Level3_Latch 0x09 +8 0x09 shift +grave 0x09 altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +parenright 0x0a +9 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +quotedbl 0x0b +0 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +bracketleft 0x0c +plus 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +bracketright 0x0d +percent 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +colon 0x10 +question 0x10 shift +ae 0x10 altgr +AE 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +apostrophe 0x11 +less 0x11 shift +dollar 0x11 altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +eacute 0x12 +greater 0x12 shift +Eacute 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +g 0x13 +G 0x13 shift +EuroSign 0x13 altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +period 0x14 +exclam 0x14 shift +degree 0x14 altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +h 0x15 +H 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +v 0x16 +V 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +c 0x17 +C 0x17 shift +ccedilla 0x17 altgr +Ccedilla 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +m 0x18 +M 0x18 shift +mu 0x18 altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +k 0x19 +K 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +z 0x1a +Z 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_diaeresis 0x1b +ampersand 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +o 0x1e +O 0x1e shift +ograve 0x1e altgr +Ograve 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +a 0x1f +A 0x1f shift +agrave 0x1f altgr +Agrave 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +u 0x20 +U 0x20 shift +ugrave 0x20 altgr +Ugrave 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +e 0x21 +E 0x21 shift +egrave 0x21 altgr +Egrave 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +b 0x22 +B 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +f 0x23 +F 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +s 0x24 +S 0x24 shift +guillemotleft 0x24 altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +t 0x25 +T 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +n 0x26 +N 0x26 shift +guillemotright 0x26 altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +d 0x27 +D 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +w 0x28 +W 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +underscore 0x29 +asterisk 0x29 shift + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +asciitilde 0x2b +numbersign 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +semicolon 0x2c +bar 0x2c shift +oe 0x2c altgr +OE 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +q 0x2d +Q 0x2d shift +braceleft 0x2d altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +comma 0x2e +at 0x2e shift +braceright 0x2e altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +i 0x2f +I 0x2f shift +igrave 0x2f altgr +Igrave 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +y 0x30 +Y 0x30 shift +sterling 0x30 altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +x 0x31 +X 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +r 0x32 +R 0x32 shift +masculine 0x32 altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +l 0x33 +L 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +p 0x34 +P 0x34 shift +section 0x34 altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +j 0x35 +J 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 +nobreakspace 0x39 altgr + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +agrave 0x56 +ccedilla 0x56 shift +Agrave 0x56 altgr +Ccedilla 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/cz b/contrib/keymaps/cz new file mode 100644 index 00000000..29cf2b05 --- /dev/null +++ b/contrib/keymaps/cz @@ -0,0 +1,843 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : cz +# variant : - +# options : - + +# name: "Czech" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +plus 0x02 +1 0x02 shift +exclam 0x02 altgr +dead_tilde 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +ecaron 0x03 +2 0x03 shift +at 0x03 altgr +dead_caron 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +scaron 0x04 +3 0x04 shift +numbersign 0x04 altgr +dead_circumflex 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +ccaron 0x05 +4 0x05 shift +dollar 0x05 altgr +dead_breve 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +rcaron 0x06 +5 0x06 shift +percent 0x06 altgr +dead_abovering 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +zcaron 0x07 +6 0x07 shift +asciicircum 0x07 altgr +dead_ogonek 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +yacute 0x08 +7 0x08 shift +ampersand 0x08 altgr +dead_grave 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +aacute 0x09 +8 0x09 shift +asterisk 0x09 altgr +dead_abovedot 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +iacute 0x0a +9 0x0a shift +braceleft 0x0a altgr +dead_acute 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +eacute 0x0b +0 0x0b shift +braceright 0x0b altgr +dead_doubleacute 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +equal 0x0c +percent 0x0c shift +backslash 0x0c altgr +dead_diaeresis 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +dead_acute 0x0d +dead_caron 0x0d shift +dead_macron 0x0d altgr +dead_cedilla 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +backslash 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +bar 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +z 0x15 +Z 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +uacute 0x1a +slash 0x1a shift +bracketleft 0x1a altgr +division 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +parenright 0x1b +parenleft 0x1b shift +bracketright 0x1b altgr +multiply 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +asciitilde 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +dstroke 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +Dstroke 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +bracketleft 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +bracketright 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +grave 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +apostrophe 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +lstroke 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +Lstroke 0x26 altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +uring 0x27 +quotedbl 0x27 shift +dollar 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +section 0x28 +exclam 0x28 shift +apostrophe 0x28 altgr +ssharp 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +semicolon 0x29 +dead_abovering 0x29 shift +grave 0x29 altgr +asciitilde 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +dead_diaeresis 0x2b +apostrophe 0x2b shift +backslash 0x2b altgr +bar 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +y 0x2c +Y 0x2c shift +degree 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +numbersign 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +ampersand 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +at 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +braceleft 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +braceright 0x31 altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +asciicircum 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +question 0x33 shift +less 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +greater 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +asterisk 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +backslash 0x56 +bar 0x56 shift +slash 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/da b/contrib/keymaps/da new file mode 100644 index 00000000..547d8c71 --- /dev/null +++ b/contrib/keymaps/da @@ -0,0 +1,842 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : dk +# variant : - +# options : - + +# name: "Danish" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +exclamdown 0x02 altgr +onesuperior 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +twosuperior 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +sterling 0x04 altgr +threesuperior 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +currency 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +cent 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +yen 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +division 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +guillemotleft 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +guillemotright 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +plus 0x0c +question 0x0c shift +plusminus 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +dead_acute 0x0d +dead_grave 0x0d shift +bar 0x0d altgr +brokenbar 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +registered 0x13 altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +thorn 0x14 altgr +THORN 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr +dead_caron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ordfeminine 0x1e altgr +masculine 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ae 0x27 +AE 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +oslash 0x28 +Oslash 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +onehalf 0x29 +section 0x29 shift +threequarters 0x29 altgr +paragraph 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +apostrophe 0x2b +asterisk 0x2b shift +dead_doubleacute 0x2b altgr +multiply 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +copyright 0x2e altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +dead_cedilla 0x33 altgr +dead_ogonek 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +dead_abovedot 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +backslash 0x56 altgr +notsign 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym 0x0edd0160) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym 0x0edd0270) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/de b/contrib/keymaps/de new file mode 100644 index 00000000..261243ed --- /dev/null +++ b/contrib/keymaps/de @@ -0,0 +1,840 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : de +# variant : nodeadkeys +# options : - + +# name: "German (no dead keys)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +section 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +onequarter 0x05 altgr +currency 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +ssharp 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +acute 0x0d +grave 0x0d shift +cedilla 0x0d altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +z 0x15 +Z 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +udiaeresis 0x1a +Udiaeresis 0x1a shift +diaeresis 0x1a altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +plus 0x1b +asterisk 0x1b shift +asciitilde 0x1b altgr +macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +U017F 0x1f altgr +U1E9E 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_belowdot 0x24 altgr +dead_abovedot 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +odiaeresis 0x27 +Odiaeresis 0x27 shift +doubleacute 0x27 altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +adiaeresis 0x28 +Adiaeresis 0x28 shift +asciicircum 0x28 altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +asciicircum 0x29 +degree 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +numbersign 0x2b +apostrophe 0x2b shift +rightsinglequotemark 0x2b altgr +grave 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +y 0x2c +Y 0x2c shift +guillemotright 0x2c altgr +U203A 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotleft 0x2d altgr +U2039 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +doublelowquotemark 0x2f altgr +singlelowquotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +leftdoublequotemark 0x30 altgr +leftsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +rightdoublequotemark 0x31 altgr +rightsinglequotemark 0x31 shift altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +periodcentered 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +U2026 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +endash 0x35 altgr +emdash 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +dead_belowmacron 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/de-ch b/contrib/keymaps/de-ch new file mode 100644 index 00000000..ed3da058 --- /dev/null +++ b/contrib/keymaps/de-ch @@ -0,0 +1,842 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : ch +# variant : - +# options : - + +# name: "German (Switzerland)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +plus 0x02 shift +bar 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +asterisk 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +ccedilla 0x05 shift +onequarter 0x05 altgr +dollar 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +bar 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +cent 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +apostrophe 0x0c +question 0x0c shift +dead_acute 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +dead_circumflex 0x0d +dead_grave 0x0d shift +dead_tilde 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +z 0x15 +Z 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +udiaeresis 0x1a +egrave 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_diaeresis 0x1b +exclam 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +odiaeresis 0x27 +eacute 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +adiaeresis 0x28 +agrave 0x28 shift +braceleft 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +section 0x29 +degree 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +dollar 0x2b +sterling 0x2b shift +braceright 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +y 0x2c +Y 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +backslash 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/en-gb b/contrib/keymaps/en-gb new file mode 100644 index 00000000..18d8fce4 --- /dev/null +++ b/contrib/keymaps/en-gb @@ -0,0 +1,841 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : gb +# variant : - +# options : - + +# name: "English (UK)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +sterling 0x04 shift +threesuperior 0x04 altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +EuroSign 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +asciicircum 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +bracketleft 0x1a +braceleft 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketright 0x1b +braceright 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +colon 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +apostrophe 0x28 +at 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +grave 0x29 +notsign 0x29 shift +bar 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +numbersign 0x2b +asciitilde 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +backslash 0x56 +bar 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 +Multi_key 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/en-us b/contrib/keymaps/en-us new file mode 100644 index 00000000..06762cfc --- /dev/null +++ b/contrib/keymaps/en-us @@ -0,0 +1,753 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : us +# variant : - +# options : - + +# name: "English (US)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +at 0x03 shift + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +asciicircum 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +bracketleft 0x1a +braceleft 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketright 0x1b +braceright 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +colon 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +apostrophe 0x28 +quotedbl 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +grave 0x29 +asciitilde 0x29 shift + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +backslash 0x2b +bar 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/es b/contrib/keymaps/es new file mode 100644 index 00000000..fde44149 --- /dev/null +++ b/contrib/keymaps/es @@ -0,0 +1,841 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : es +# variant : - +# options : - + +# name: "Spanish" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +bar 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +periodcentered 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +asciitilde 0x05 altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +apostrophe 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +exclamdown 0x0d +questiondown 0x0d shift +dead_tilde 0x0d altgr +asciitilde 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +dead_grave 0x1a +dead_circumflex 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +plus 0x1b +asterisk 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ntilde 0x27 +Ntilde 0x27 shift +asciitilde 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +dead_acute 0x28 +dead_diaeresis 0x28 shift +braceleft 0x28 altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +masculine 0x29 +ordfeminine 0x29 shift +backslash 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +ccedilla 0x2b +Ccedilla 0x2b shift +braceright 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/et b/contrib/keymaps/et new file mode 100644 index 00000000..a5dcbd18 --- /dev/null +++ b/contrib/keymaps/et @@ -0,0 +1,751 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : et +# variant : - +# options : - + +# name: "Amharic" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +U1369 0x02 +U1372 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +U136A 0x03 +U1373 0x03 shift + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +U136B 0x04 +U1374 0x04 shift + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +U136C 0x05 +U1375 0x05 shift + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +U136D 0x06 +U1376 0x06 shift + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +U136E 0x07 +U1377 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +U136F 0x08 +U1378 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +U1370 0x09 +U1379 0x09 shift + +# evdev 10 (0xa), QKeyCode "9", number 0xa +U1371 0x0a +U137A 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +U137B 0x0b +U137C 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +U1240 0x10 +U1250 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +U12C8 0x11 +VoidSymbol 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +UFE69 0x12 +UFE70 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +U1228 0x13 +VoidSymbol 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +U1270 0x14 +U1320 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +U12E8 0x15 +VoidSymbol 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +UFE75 0x16 +UFE76 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +UFE71 0x17 +UFE72 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +UFE73 0x18 +UFE74 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +U1350 0x19 +U1330 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +U1340 0x1a +U1338 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +U1328 0x1b +U1280 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +UFE67 0x1e +UFE68 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +U1230 0x1f +U1220 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +U12F0 0x20 +U12F8 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +U1348 0x21 +VoidSymbol 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +U1308 0x22 +U1318 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +U1200 0x23 +U1210 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +U1300 0x24 +VoidSymbol 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +U12A8 0x25 +U12B8 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +U1208 0x26 +VoidSymbol 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +U1362 0x27 +U1361 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +U1366 0x28 +U1365 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +VoidSymbol 0x2b +U2010 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +U12D8 0x2c +U12E0 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +U12A0 0x2d +U12D0 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +U1278 0x2e +UFE78 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +U1238 0x2f +U1268 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +U1260 0x30 +VoidSymbol 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +U1290 0x31 +U1298 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +U1218 0x32 +VoidSymbol 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +U1363 0x33 +VoidSymbol 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +U1364 0x34 +VoidSymbol 0x34 shift + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +U1367 0x35 +question 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym ISO_Next_Group) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/fi b/contrib/keymaps/fi new file mode 100644 index 00000000..81674942 --- /dev/null +++ b/contrib/keymaps/fi @@ -0,0 +1,816 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : fi +# variant : - +# options : - + +# name: "Finnish" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +rightdoublequotemark 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +sterling 0x04 altgr +guillemotright 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +currency 0x05 shift +dollar 0x05 altgr +guillemotleft 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +permille 0x06 altgr +leftdoublequotemark 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +singlelowquotemark 0x07 altgr +doublelowquotemark 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +less 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +greater 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +plus 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +dead_acute 0x0d +dead_grave 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +thorn 0x14 altgr +THORN 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +idotless 0x17 altgr +bar 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +dead_horn 0x19 altgr +dead_hook 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +aring 0x1a +Aring 0x1a shift +dead_doubleacute 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +schwa 0x1e altgr +SCHWA 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +dead_stroke 0x26 altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +odiaeresis 0x27 +Odiaeresis 0x27 shift +oslash 0x27 altgr +Oslash 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +adiaeresis 0x28 +Adiaeresis 0x28 shift +ae 0x28 altgr +AE 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +section 0x29 +onehalf 0x29 shift +dead_stroke 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +apostrophe 0x2b +asterisk 0x2b shift +dead_caron 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +ezh 0x2c altgr +EZH 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +multiply 0x2d altgr +periodcentered 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +eng 0x31 altgr +ENG 0x31 shift altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +emdash 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +rightsinglequotemark 0x33 altgr +leftsinglequotemark 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +dead_belowdot 0x34 altgr +dead_abovedot 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +endash 0x35 altgr +dead_belowcomma 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 +nobreakspace 0x39 altgr + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/fo b/contrib/keymaps/fo new file mode 100644 index 00000000..8bb6f97b --- /dev/null +++ b/contrib/keymaps/fo @@ -0,0 +1,843 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : fo +# variant : - +# options : - + +# name: "Faroese" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +exclamdown 0x02 altgr +onesuperior 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +twosuperior 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +sterling 0x04 altgr +threesuperior 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +currency 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +cent 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +yen 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +division 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +guillemotleft 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +guillemotright 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +plus 0x0c +question 0x0c shift +plusminus 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +dead_acute 0x0d +dead_grave 0x0d shift +bar 0x0d altgr +brokenbar 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +registered 0x13 altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +thorn 0x14 altgr +THORN 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1a altgr +dead_circumflex 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +eth 0x1b +ETH 0x1b shift +dead_tilde 0x1b altgr +dead_caron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ordfeminine 0x1e altgr +masculine 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ae 0x27 +AE 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +oslash 0x28 +Oslash 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +onehalf 0x29 +section 0x29 shift +threequarters 0x29 altgr +paragraph 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +apostrophe 0x2b +asterisk 0x2b shift +dead_doubleacute 0x2b altgr +multiply 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +copyright 0x2e altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +dead_cedilla 0x33 altgr +dead_ogonek 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +dead_abovedot 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +hyphen 0x35 altgr +macron 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 +nobreakspace 0x39 altgr + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +backslash 0x56 altgr +notsign 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/fr b/contrib/keymaps/fr new file mode 100644 index 00000000..82ca812c --- /dev/null +++ b/contrib/keymaps/fr @@ -0,0 +1,843 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : fr +# variant : nodeadkeys +# options : - + +# name: "French (no dead keys)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +ampersand 0x02 +1 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +eacute 0x03 +2 0x03 shift +asciitilde 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +quotedbl 0x04 +3 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +apostrophe 0x05 +4 0x05 shift +braceleft 0x05 altgr +dollar 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +parenleft 0x06 +5 0x06 shift +bracketleft 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +minus 0x07 +6 0x07 shift +bar 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +egrave 0x08 +7 0x08 shift +grave 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +underscore 0x09 +8 0x09 shift +backslash 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +ccedilla 0x0a +9 0x0a shift +asciicircum 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +agrave 0x0b +0 0x0b shift +at 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +parenright 0x0c +degree 0x0c shift +bracketright 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +braceright 0x0d altgr +ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +a 0x10 +A 0x10 shift +ae 0x10 altgr +AE 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +z 0x11 +Z 0x11 shift +guillemotleft 0x11 altgr +less 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +asciicircum 0x1a +diaeresis 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dollar 0x1b +sterling 0x1b shift +currency 0x1b altgr +macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +q 0x1e +Q 0x1e shift +at 0x1e altgr +Greek_OMEGA 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +m 0x27 +M 0x27 shift +mu 0x27 altgr +masculine 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +ugrave 0x28 +percent 0x28 shift +asciicircum 0x28 altgr +caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +twosuperior 0x29 +asciitilde 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +asterisk 0x2b +mu 0x2b shift +grave 0x2b altgr +breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +w 0x2c +W 0x2c shift +lstroke 0x2c altgr +Lstroke 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +comma 0x32 +question 0x32 shift +acute 0x32 altgr +doubleacute 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +semicolon 0x33 +period 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +colon 0x34 +slash 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +exclam 0x35 +section 0x35 shift +dead_belowdot 0x35 altgr +abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/fr-be b/contrib/keymaps/fr-be new file mode 100644 index 00000000..f225f179 --- /dev/null +++ b/contrib/keymaps/fr-be @@ -0,0 +1,842 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : be +# variant : - +# options : - + +# name: "Belgian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +ampersand 0x02 +1 0x02 shift +bar 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +eacute 0x03 +2 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +quotedbl 0x04 +3 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +apostrophe 0x05 +4 0x05 shift +onequarter 0x05 altgr +dollar 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +parenleft 0x06 +5 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +section 0x07 +6 0x07 shift +asciicircum 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +egrave 0x08 +7 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +exclam 0x09 +8 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +ccedilla 0x0a +9 0x0a shift +braceleft 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +agrave 0x0b +0 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +parenright 0x0c +degree 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +minus 0x0d +underscore 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +a 0x10 +A 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +z 0x11 +Z 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +dead_circumflex 0x1a +dead_diaeresis 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dollar 0x1b +asterisk 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +q 0x1e +Q 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +m 0x27 +M 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +ugrave 0x28 +percent 0x28 shift +dead_acute 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +twosuperior 0x29 +threesuperior 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +mu 0x2b +sterling 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +w 0x2c +W 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +comma 0x32 +question 0x32 shift +dead_cedilla 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +semicolon 0x33 +period 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +colon 0x34 +slash 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +equal 0x35 +plus 0x35 shift +dead_tilde 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +backslash 0x56 altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/fr-ca b/contrib/keymaps/fr-ca new file mode 100644 index 00000000..f264d0a9 --- /dev/null +++ b/contrib/keymaps/fr-ca @@ -0,0 +1,774 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : ca +# variant : fr +# options : - + +# name: "French (Canada)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +plusminus 0x02 altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +slash 0x04 shift +sterling 0x04 altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +cent 0x05 altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +currency 0x06 altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +question 0x07 shift +notsign 0x07 altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift +brokenbar 0x08 altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +twosuperior 0x09 altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift +threesuperior 0x0a altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift +onequarter 0x0b altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +onehalf 0x0c altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +threequarters 0x0d altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +section 0x18 altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +paragraph 0x19 altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +dead_circumflex 0x1a +bracketleft 0x1a altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_cedilla 0x1b +dead_diaeresis 0x1b shift +bracketright 0x1b altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +colon 0x27 shift +asciitilde 0x27 altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +dead_grave 0x28 +braceleft 0x28 altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +numbersign 0x29 +bar 0x29 shift +backslash 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +less 0x2b +greater 0x2b shift +braceright 0x2b altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +apostrophe 0x33 shift +macron 0x33 altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +hyphen 0x34 altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +eacute 0x35 +Eacute 0x35 shift +dead_acute 0x35 altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 +nobreakspace 0x39 altgr + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +guillemotleft 0x56 +guillemotright 0x56 shift +degree 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/fr-ch b/contrib/keymaps/fr-ch new file mode 100644 index 00000000..bdd944da --- /dev/null +++ b/contrib/keymaps/fr-ch @@ -0,0 +1,842 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : ch +# variant : fr +# options : - + +# name: "French (Switzerland)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +plus 0x02 shift +bar 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +asterisk 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +ccedilla 0x05 shift +onequarter 0x05 altgr +dollar 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +bar 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +cent 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +apostrophe 0x0c +question 0x0c shift +dead_acute 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +dead_circumflex 0x0d +dead_grave 0x0d shift +dead_tilde 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +z 0x15 +Z 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +egrave 0x1a +udiaeresis 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_diaeresis 0x1b +exclam 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +eacute 0x27 +odiaeresis 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +agrave 0x28 +adiaeresis 0x28 shift +braceleft 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +section 0x29 +degree 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +dollar 0x2b +sterling 0x2b shift +braceright 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +y 0x2c +Y 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +backslash 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/hr b/contrib/keymaps/hr new file mode 100644 index 00000000..252936c3 --- /dev/null +++ b/contrib/keymaps/hr @@ -0,0 +1,843 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : hr +# variant : - +# options : - + +# name: "Croatian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +asciitilde 0x02 altgr +dead_tilde 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +dead_caron 0x03 altgr +caron 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +asciicircum 0x04 altgr +dead_circumflex 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +dead_breve 0x05 altgr +breve 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +degree 0x06 altgr +dead_abovering 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +dead_ogonek 0x07 altgr +ogonek 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +grave 0x08 altgr +dead_grave 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +dead_abovedot 0x09 altgr +abovedot 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +dead_acute 0x0a altgr +apostrophe 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +dead_doubleacute 0x0b altgr +doubleacute 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +apostrophe 0x0c +question 0x0c shift +dead_diaeresis 0x0c altgr +diaeresis 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +plus 0x0d +asterisk 0x0d shift +dead_cedilla 0x0d altgr +cedilla 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +backslash 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +bar 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +z 0x15 +Z 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +scaron 0x1a +Scaron 0x1a shift +division 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dstroke 0x1b +Dstroke 0x1b shift +multiply 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +doublelowquotemark 0x1f altgr +guillemotright 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +leftdoublequotemark 0x20 altgr +guillemotleft 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +bracketleft 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +bracketright 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +lstroke 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ccaron 0x27 +Ccaron 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +cacute 0x28 +Cacute 0x28 shift +ssharp 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +grave 0x29 +asciitilde 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +zcaron 0x2b +Zcaron 0x2b shift +currency 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +y 0x2c +Y 0x2c shift +leftsinglequotemark 0x2c altgr +guillemotright 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +rightsinglequotemark 0x2d altgr +guillemotleft 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +at 0x2f altgr +grave 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +braceleft 0x30 altgr +apostrophe 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +braceright 0x31 altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +asciicircum 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +less 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +greater 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/hu b/contrib/keymaps/hu new file mode 100644 index 00000000..85314761 --- /dev/null +++ b/contrib/keymaps/hu @@ -0,0 +1,842 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : hu +# variant : - +# options : - + +# name: "Hungarian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +apostrophe 0x02 shift +asciitilde 0x02 altgr +dead_tilde 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +dead_caron 0x03 altgr +caron 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +plus 0x04 shift +asciicircum 0x04 altgr +dead_circumflex 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +exclam 0x05 shift +dead_breve 0x05 altgr +breve 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +dead_abovering 0x06 altgr +degree 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +slash 0x07 shift +dead_ogonek 0x07 altgr +ogonek 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +equal 0x08 shift +grave 0x08 altgr +dead_grave 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +dead_abovedot 0x09 altgr +abovedot 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +dead_acute 0x0a altgr +acute 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +odiaeresis 0x0b +Odiaeresis 0x0b shift +dead_doubleacute 0x0b altgr +doubleacute 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +udiaeresis 0x0c +Udiaeresis 0x0c shift +dead_diaeresis 0x0c altgr +diaeresis 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +oacute 0x0d +Oacute 0x0d shift +dead_cedilla 0x0d altgr +cedilla 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +backslash 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +bar 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +Adiaeresis 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +z 0x15 +Z 0x15 shift +endash 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +EuroSign 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +Iacute 0x17 altgr +iacute 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +doublelowquotemark 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +rightdoublequotemark 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +odoubleacute 0x1a +Odoubleacute 0x1a shift +division 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +uacute 0x1b +Uacute 0x1b shift +multiply 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +adiaeresis 0x1e altgr +Adiaeresis 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +dstroke 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +Dstroke 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +bracketleft 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +bracketright 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +iacute 0x24 altgr +Iacute 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +lstroke 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +Lstroke 0x26 altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +eacute 0x27 +Eacute 0x27 shift +dollar 0x27 altgr +cent 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +aacute 0x28 +Aacute 0x28 shift +ssharp 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +0 0x29 +section 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +udoubleacute 0x2b +Udoubleacute 0x2b shift +currency 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +y 0x2c +Y 0x2c shift +greater 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +numbersign 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +ampersand 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +at 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +braceleft 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +braceright 0x31 altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +less 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +question 0x33 shift +semicolon 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +greater 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +asterisk 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +iacute 0x56 +Iacute 0x56 shift +less 0x56 altgr +greater 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym 0x0a865600) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym 0x0a865710) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/is b/contrib/keymaps/is new file mode 100644 index 00000000..c88fa603 --- /dev/null +++ b/contrib/keymaps/is @@ -0,0 +1,843 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : is +# variant : - +# options : - + +# name: "Icelandic" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +onequarter 0x05 altgr +currency 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +odiaeresis 0x0c +Odiaeresis 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +minus 0x0d +underscore 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +eth 0x1a +ETH 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +apostrophe 0x1b +question 0x1b shift +asciitilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +U201E 0x20 altgr +U201C 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ae 0x27 +AE 0x27 shift +asciicircum 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +dead_acute 0x28 +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +dead_abovering 0x29 +dead_diaeresis 0x29 shift +notsign 0x29 altgr +hyphen 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +plus 0x2b +asterisk 0x2b shift +grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +thorn 0x35 +THORN 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/it b/contrib/keymaps/it new file mode 100644 index 00000000..df00156c --- /dev/null +++ b/contrib/keymaps/it @@ -0,0 +1,846 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : it +# variant : - +# options : - + +# name: "Italian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +twosuperior 0x03 altgr +dead_doubleacute 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +sterling 0x04 shift +threesuperior 0x04 altgr +dead_tilde 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +onequarter 0x05 altgr +oneeighth 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +dead_ogonek 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +apostrophe 0x0c +question 0x0c shift +grave 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +igrave 0x0d +asciicircum 0x0d shift +asciitilde 0x0d altgr +dead_circumflex 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +egrave 0x1a +eacute 0x1a shift +bracketleft 0x1a altgr +braceleft 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +plus 0x1b +asterisk 0x1b shift +bracketright 0x1b altgr +braceright 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ograve 0x27 +ccedilla 0x27 shift +at 0x27 altgr +dead_cedilla 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +agrave 0x28 +degree 0x28 shift +numbersign 0x28 altgr +dead_abovering 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +backslash 0x29 +bar 0x29 shift +notsign 0x29 altgr +brokenbar 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +ugrave 0x2b +section 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +ntilde 0x31 altgr +Ntilde 0x31 shift altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +dead_acute 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +dead_diaeresis 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_macron 0x35 altgr +division 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +guillemotleft 0x56 altgr +guillemotright 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/ja b/contrib/keymaps/ja new file mode 100644 index 00000000..6eb2e7bc --- /dev/null +++ b/contrib/keymaps/ja @@ -0,0 +1,757 @@ +# +# generated by qemu-keymap +# model : jp106 +# layout : jp +# variant : - +# options : - + +# name: "Japanese" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +apostrophe 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +asciitilde 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +equal 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +asciicircum 0x0d +asciitilde 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +at 0x1a +grave 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketleft 0x1b +braceleft 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +plus 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +colon 0x28 +asterisk 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +Zenkaku_Hankaku 0x29 + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +bracketright 0x2b +braceright 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Eisu_toggle 0x3a +Caps_Lock 0x3a shift + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 +backslash 0x73 +underscore 0x73 shift + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d +backslash 0x7d +bar 0x7d shift + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/lt b/contrib/keymaps/lt new file mode 100644 index 00000000..db9b24f6 --- /dev/null +++ b/contrib/keymaps/lt @@ -0,0 +1,841 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : lt +# variant : - +# options : - + +# name: "Lithuanian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +aogonek 0x02 +Aogonek 0x02 shift +1 0x02 altgr +exclam 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +ccaron 0x03 +Ccaron 0x03 shift +2 0x03 altgr +at 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +eogonek 0x04 +Eogonek 0x04 shift +3 0x04 altgr +numbersign 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +eabovedot 0x05 +Eabovedot 0x05 shift +4 0x05 altgr +dollar 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +iogonek 0x06 +Iogonek 0x06 shift +5 0x06 altgr +percent 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +scaron 0x07 +Scaron 0x07 shift +6 0x07 altgr +asciicircum 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +uogonek 0x08 +Uogonek 0x08 shift +7 0x08 altgr +ampersand 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +umacron 0x09 +Umacron 0x09 shift +8 0x09 altgr +asterisk 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +doublelowquotemark 0x0a +parenleft 0x0a shift +9 0x0a altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +leftdoublequotemark 0x0b +parenright 0x0b shift +0 0x0b altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +endash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +zcaron 0x0d +Zcaron 0x0d shift +equal 0x0d altgr +plus 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +bracketleft 0x1a +braceleft 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketright 0x1b +braceright 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +colon 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +apostrophe 0x28 +quotedbl 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +grave 0x29 +asciitilde 0x29 shift +acute 0x29 altgr +notsign 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +backslash 0x2b +bar 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +endash 0x56 +EuroSign 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/lv b/contrib/keymaps/lv new file mode 100644 index 00000000..54997ce0 --- /dev/null +++ b/contrib/keymaps/lv @@ -0,0 +1,816 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : lv +# variant : - +# options : - + +# name: "Latvian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +at 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +EuroSign 0x05 altgr +cent 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +asciicircum 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +endash 0x0d altgr +emdash 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +emacron 0x12 altgr +Emacron 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +rcedilla 0x13 altgr +Rcedilla 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +umacron 0x16 altgr +Umacron 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +imacron 0x17 altgr +Imacron 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +omacron 0x18 altgr +Omacron 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +bracketleft 0x1a +braceleft 0x1a shift +guillemotleft 0x1a altgr +leftdoublequotemark 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketright 0x1b +braceright 0x1b shift +guillemotright 0x1b altgr +rightdoublequotemark 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +amacron 0x1e altgr +Amacron 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +scaron 0x1f altgr +Scaron 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +gcedilla 0x22 altgr +Gcedilla 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kcedilla 0x25 altgr +Kcedilla 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lcedilla 0x26 altgr +Lcedilla 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +colon 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +apostrophe 0x28 +quotedbl 0x28 shift +leftdoublequotemark 0x28 altgr +doublelowquotemark 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +grave 0x29 +asciitilde 0x29 shift +acute 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +backslash 0x2b +bar 0x2b shift +grave 0x2b altgr +breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +zcaron 0x2c altgr +Zcaron 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +ccaron 0x2e altgr +Ccaron 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +ncedilla 0x31 altgr +Ncedilla 0x31 shift altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift +abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/mk b/contrib/keymaps/mk new file mode 100644 index 00000000..cb362b6d --- /dev/null +++ b/contrib/keymaps/mk @@ -0,0 +1,753 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : mk +# variant : - +# options : - + +# name: "Macedonian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +doublelowquotemark 0x03 shift + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +leftdoublequotemark 0x04 shift + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +asciicircum 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +Cyrillic_lje 0x10 +Cyrillic_LJE 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +Cyrillic_nje 0x11 +Cyrillic_NJE 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +Cyrillic_ie 0x12 +Cyrillic_IE 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +Cyrillic_er 0x13 +Cyrillic_ER 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +Cyrillic_te 0x14 +Cyrillic_TE 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +Macedonia_dse 0x15 +Macedonia_DSE 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +Cyrillic_u 0x16 +Cyrillic_U 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +Cyrillic_i 0x17 +Cyrillic_I 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +Cyrillic_o 0x18 +Cyrillic_O 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +Cyrillic_pe 0x19 +Cyrillic_PE 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +Cyrillic_sha 0x1a +Cyrillic_SHA 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +Macedonia_gje 0x1b +Macedonia_GJE 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +Cyrillic_a 0x1e +Cyrillic_A 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +Cyrillic_es 0x1f +Cyrillic_ES 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +Cyrillic_de 0x20 +Cyrillic_DE 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +Cyrillic_ef 0x21 +Cyrillic_EF 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +Cyrillic_ghe 0x22 +Cyrillic_GHE 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +Cyrillic_ha 0x23 +Cyrillic_HA 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +Cyrillic_je 0x24 +Cyrillic_JE 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +Cyrillic_ka 0x25 +Cyrillic_KA 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +Cyrillic_el 0x26 +Cyrillic_EL 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +Cyrillic_che 0x27 +Cyrillic_CHE 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +Macedonia_kje 0x28 +Macedonia_KJE 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +dead_grave 0x29 +asciitilde 0x29 shift + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +Cyrillic_zhe 0x2b +Cyrillic_ZHE 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +Cyrillic_ze 0x2c +Cyrillic_ZE 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +Cyrillic_dzhe 0x2d +Cyrillic_DZHE 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +Cyrillic_tse 0x2e +Cyrillic_TSE 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +Cyrillic_ve 0x2f +Cyrillic_VE 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +Cyrillic_be 0x30 +Cyrillic_BE 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +Cyrillic_en 0x31 +Cyrillic_EN 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +Cyrillic_em 0x32 +Cyrillic_EM 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/nl b/contrib/keymaps/nl new file mode 100644 index 00000000..1579829e --- /dev/null +++ b/contrib/keymaps/nl @@ -0,0 +1,843 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : nl +# variant : - +# options : - + +# name: "Dutch" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +onequarter 0x05 altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +underscore 0x08 shift +sterling 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +braceleft 0x09 altgr +bracketleft 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +braceright 0x0a altgr +bracketright 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +apostrophe 0x0b shift +degree 0x0b altgr +trademark 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +slash 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +degree 0x0d +dead_tilde 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +thorn 0x14 altgr +THORN 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +ydiaeresis 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +udiaeresis 0x16 altgr +Udiaeresis 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +idiaeresis 0x17 altgr +Idiaeresis 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +ograve 0x18 altgr +Ograve 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +paragraph 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +dead_diaeresis 0x1a +dead_circumflex 0x1a shift +asciitilde 0x1a altgr +asciicircum 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +asterisk 0x1b +bar 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +aacute 0x1e altgr +Aacute 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +ordfeminine 0x21 altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +plus 0x27 +plusminus 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +dead_acute 0x28 +dead_grave 0x28 shift +apostrophe 0x28 altgr +grave 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +at 0x29 +section 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +less 0x2b +greater 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +ntilde 0x31 altgr +Ntilde 0x31 shift altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +Greek_mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +cedilla 0x33 altgr +guillemotleft 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +guillemotright 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +equal 0x35 shift +hyphen 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +bracketright 0x56 +bracketleft 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/no b/contrib/keymaps/no new file mode 100644 index 00000000..cd634e7b --- /dev/null +++ b/contrib/keymaps/no @@ -0,0 +1,857 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : no +# variant : - +# options : - + +# name: "Norwegian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +exclamdown 0x02 altgr +onesuperior 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +twosuperior 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +sterling 0x04 altgr +threesuperior 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +currency 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +U2030 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +yen 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +division 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +guillemotleft 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +guillemotright 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +plus 0x0c +question 0x0c shift +plusminus 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +backslash 0x0d +dead_grave 0x0d shift +dead_acute 0x0d altgr +notsign 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +registered 0x13 altgr +trademark 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +thorn 0x14 altgr +THORN 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oe 0x18 altgr +OE 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +Greek_pi 0x19 altgr +Greek_PI 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr +dead_caron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ordfeminine 0x1e altgr +masculine 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +oslash 0x27 +Oslash 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +ae 0x28 +AE 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +bar 0x29 +section 0x29 shift +brokenbar 0x29 altgr +paragraph 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +apostrophe 0x2b +asterisk 0x2b shift +dead_doubleacute 0x2b altgr +multiply 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +copyright 0x2e altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +dead_cedilla 0x33 altgr +dead_ogonek 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +ellipsis 0x34 altgr +periodcentered 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +endash 0x35 altgr +emdash 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 +U22C5 0x37 shift +0x010000d7 0x37 altgr +VoidSymbol 0x37 shift altgr + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 +nobreakspace 0x39 altgr +U202F 0x39 shift altgr + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a +U2212 0x4a shift +U2212 0x4a altgr +VoidSymbol 0x4a shift altgr + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e +0x0100002b 0x4e shift +0x0100002b 0x4e altgr +VoidSymbol 0x4e shift altgr + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +onehalf 0x56 altgr +threequarters 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 +U2215 0xb5 shift +0x010000f7 0xb5 altgr +VoidSymbol 0xb5 shift altgr + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym 0x00408160) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym 0x00408270) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/pl b/contrib/keymaps/pl new file mode 100644 index 00000000..30d93ca7 --- /dev/null +++ b/contrib/keymaps/pl @@ -0,0 +1,847 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : pl +# variant : - +# options : - + +# name: "Polish" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +notequal 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +at 0x03 shift +twosuperior 0x03 altgr +questiondown 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +cent 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +EuroSign 0x06 altgr +U2030 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +asciicircum 0x07 shift +onehalf 0x07 altgr +logicaland 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift +section 0x08 altgr +approxeq 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +periodcentered 0x09 altgr +threequarters 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift +guillemotleft 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift +guillemotright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +endash 0x0c altgr +emdash 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +Greek_pi 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +oe 0x11 altgr +OE 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +eogonek 0x12 altgr +Eogonek 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +copyright 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +ssharp 0x14 altgr +trademark 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +U2194 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oacute 0x18 altgr +Oacute 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +bracketleft 0x1a +braceleft 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketright 0x1b +braceright 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +aogonek 0x1e altgr +Aogonek 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +sacute 0x1f altgr +Sacute 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +ae 0x21 altgr +AE 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +rightsinglequotemark 0x23 altgr +U2022 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +schwa 0x24 altgr +SCHWA 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +ellipsis 0x25 altgr +dead_stroke 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +semicolon 0x27 +colon 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +apostrophe 0x28 +quotedbl 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +grave 0x29 +asciitilde 0x29 shift +notsign 0x29 altgr +logicalor 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +backslash 0x2b +bar 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +zabovedot 0x2c altgr +Zabovedot 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +zacute 0x2d altgr +Zacute 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cacute 0x2e altgr +Cacute 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +doublelowquotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +leftdoublequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift +nacute 0x31 altgr +Nacute 0x31 shift altgr + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +infinity 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift +lessthanequal 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift +greaterthanequal 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +slash 0x35 +question 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 +nobreakspace 0x39 altgr + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/pt b/contrib/keymaps/pt new file mode 100644 index 00000000..c34d6e37 --- /dev/null +++ b/contrib/keymaps/pt @@ -0,0 +1,840 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : pt +# variant : - +# options : - + +# name: "Portuguese" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +sterling 0x04 altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +section 0x05 altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +apostrophe 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +guillemotleft 0x0d +guillemotright 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +lstroke 0x11 altgr +Lstroke 0x11 shift altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +cent 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +plus 0x1a +asterisk 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +dead_acute 0x1b +dead_grave 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ccedilla 0x27 +Ccedilla 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +masculine 0x28 +ordfeminine 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +backslash 0x29 +bar 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +dead_tilde 0x2b +dead_circumflex 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +backslash 0x56 altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/pt-br b/contrib/keymaps/pt-br new file mode 100644 index 00000000..2d409c0b --- /dev/null +++ b/contrib/keymaps/pt-br @@ -0,0 +1,840 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : br +# variant : - +# options : - + +# name: "Portuguese (Brazil)" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +at 0x03 shift +twosuperior 0x03 altgr +onehalf 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numbersign 0x04 shift +threesuperior 0x04 altgr +threequarters 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +dollar 0x05 shift +sterling 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +cent 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +dead_diaeresis 0x07 shift +notsign 0x07 altgr +diaeresis 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +ampersand 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift +section 0x0d altgr +dead_ogonek 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +slash 0x10 altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +question 0x11 altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +registered 0x13 altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +tslash 0x14 altgr +Tslash 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +i 0x17 +I 0x17 shift +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +oslash 0x18 altgr +Oslash 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +thorn 0x19 altgr +THORN 0x19 shift altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +dead_acute 0x1a +dead_grave 0x1a shift +acute 0x1a altgr +grave 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +bracketleft 0x1b +braceleft 0x1b shift +ordfeminine 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +ae 0x1e altgr +AE 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +ssharp 0x1f altgr +section 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +eth 0x20 altgr +ETH 0x20 shift altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +eng 0x22 altgr +ENG 0x22 shift altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +kra 0x25 altgr +ampersand 0x25 shift altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +ccedilla 0x27 +Ccedilla 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +dead_tilde 0x28 +dead_circumflex 0x28 shift +asciitilde 0x28 altgr +asciicircum 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +apostrophe 0x29 +quotedbl 0x29 shift +notsign 0x29 altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +bracketright 0x2b +braceright 0x2b shift +masculine 0x2b altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +copyright 0x2e altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +semicolon 0x35 +colon 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +backslash 0x56 +bar 0x56 shift +masculine 0x56 altgr +dead_breve 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 +slash 0x73 +question 0x73 shift +degree 0x73 altgr +questiondown 0x73 shift altgr + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/ru b/contrib/keymaps/ru new file mode 100644 index 00000000..9502ba12 --- /dev/null +++ b/contrib/keymaps/ru @@ -0,0 +1,754 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : ru +# variant : - +# options : - + +# name: "Russian" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +quotedbl 0x03 shift + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +numerosign 0x04 shift + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +semicolon 0x05 shift + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +colon 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +question 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +asterisk 0x09 shift +U20BD 0x09 altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenleft 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +parenright 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +minus 0x0c +underscore 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +equal 0x0d +plus 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +Cyrillic_shorti 0x10 +Cyrillic_SHORTI 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +Cyrillic_tse 0x11 +Cyrillic_TSE 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +Cyrillic_u 0x12 +Cyrillic_U 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +Cyrillic_ka 0x13 +Cyrillic_KA 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +Cyrillic_ie 0x14 +Cyrillic_IE 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +Cyrillic_en 0x15 +Cyrillic_EN 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +Cyrillic_ghe 0x16 +Cyrillic_GHE 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +Cyrillic_sha 0x17 +Cyrillic_SHA 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +Cyrillic_shcha 0x18 +Cyrillic_SHCHA 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +Cyrillic_ze 0x19 +Cyrillic_ZE 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +Cyrillic_ha 0x1a +Cyrillic_HA 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +Cyrillic_hardsign 0x1b +Cyrillic_HARDSIGN 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +Cyrillic_ef 0x1e +Cyrillic_EF 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +Cyrillic_yeru 0x1f +Cyrillic_YERU 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +Cyrillic_ve 0x20 +Cyrillic_VE 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +Cyrillic_a 0x21 +Cyrillic_A 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +Cyrillic_pe 0x22 +Cyrillic_PE 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +Cyrillic_er 0x23 +Cyrillic_ER 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +Cyrillic_o 0x24 +Cyrillic_O 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +Cyrillic_el 0x25 +Cyrillic_EL 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +Cyrillic_de 0x26 +Cyrillic_DE 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +Cyrillic_zhe 0x27 +Cyrillic_ZHE 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +Cyrillic_e 0x28 +Cyrillic_E 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +Cyrillic_io 0x29 +Cyrillic_IO 0x29 shift + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +backslash 0x2b +slash 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +Cyrillic_ya 0x2c +Cyrillic_YA 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +Cyrillic_che 0x2d +Cyrillic_CHE 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +Cyrillic_es 0x2e +Cyrillic_ES 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +Cyrillic_em 0x2f +Cyrillic_EM 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +Cyrillic_i 0x30 +Cyrillic_I 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +Cyrillic_te 0x31 +Cyrillic_TE 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +Cyrillic_softsign 0x32 +Cyrillic_SOFTSIGN 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +Cyrillic_be 0x33 +Cyrillic_BE 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +Cyrillic_yu 0x34 +Cyrillic_YU 0x34 shift + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +period 0x35 +comma 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +slash 0x56 +bar 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/sl b/contrib/keymaps/sl new file mode 100644 index 00000000..73eb956d --- /dev/null +++ b/contrib/keymaps/sl @@ -0,0 +1,285 @@ +# generated from XKB map sl + +Shift_R 0x36 +Shift_L 0x2a + +Alt_R 0xb8 +Mode_switch 0xb8 +ISO_Level3_Shift 0xb8 +Alt_L 0x38 + +Control_R 0x9d +Control_L 0x1d + +# Translate Super to Windows keys. +# This is hardcoded. See documentation for details. +Super_R 0xdc +Super_L 0xdb + +# Translate Menu to the Windows Application key. +Menu 0xdd + +# +# Top row +# +1 0x2 +2 0x3 +3 0x4 +4 0x5 +5 0x6 +6 0x7 +7 0x8 +8 0x9 +9 0xa +0 0xb +BackSpace 0xe + +# +# QWERTY first row +# +Tab 0xf localstate +ISO_Left_Tab 0xf shift +q 0x10 addupper +w 0x11 addupper +e 0x12 addupper +r 0x13 addupper +t 0x14 addupper +y 0x15 addupper +u 0x16 addupper +i 0x17 addupper +o 0x18 addupper +p 0x19 addupper + +# +# QWERTY second row +# +a 0x1e addupper +s 0x1f addupper +d 0x20 addupper +f 0x21 addupper +g 0x22 addupper +h 0x23 addupper +j 0x24 addupper +k 0x25 addupper +l 0x26 addupper +Return 0x1c localstate + +# +# QWERTY third row +# +z 0x2c addupper +x 0x2d addupper +c 0x2e addupper +v 0x2f addupper +b 0x30 addupper +n 0x31 addupper +m 0x32 addupper + +space 0x39 localstate + +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# +# Esc and Function keys +# +Escape 0x1 localstate +F1 0x3b localstate +F2 0x3c localstate +F3 0x3d localstate +F4 0x3e localstate +F5 0x3f localstate +F6 0x40 localstate +F7 0x41 localstate +F8 0x42 localstate +F9 0x43 localstate +F10 0x44 localstate +F11 0x57 localstate +F12 0x58 localstate + +# Printscreen, Scrollock and Pause +# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37), +# but (0xe0, 0x37) seems to work. +Print 0xb7 localstate +Sys_Req 0xb7 localstate +Execute 0xb7 localstate +Scroll_Lock 0x46 + +# +# Insert - PgDown +# +Insert 0xd2 localstate +Delete 0xd3 localstate +Home 0xc7 localstate +End 0xcf localstate +Page_Up 0xc9 localstate +Page_Down 0xd1 localstate + +# +# Arrow keys +# +Left 0xcb localstate +Up 0xc8 localstate +Down 0xd0 localstate +Right 0xcd localstate + +# +# Numpad +# +Num_Lock 0x45 +KP_Divide 0xb5 +KP_Multiply 0x37 +KP_Subtract 0x4a +KP_Add 0x4e +KP_Enter 0x9c + +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +KP_Delete 0x53 + +KP_0 0x52 numlock +KP_Insert 0x52 + +KP_1 0x4f numlock +KP_End 0x4f + +KP_2 0x50 numlock +KP_Down 0x50 + +KP_3 0x51 numlock +KP_Next 0x51 + +KP_4 0x4b numlock +KP_Left 0x4b + +KP_5 0x4c numlock +KP_Begin 0x4c + +KP_6 0x4d numlock +KP_Right 0x4d + +KP_7 0x47 numlock +KP_Home 0x47 + +KP_8 0x48 numlock +KP_Up 0x48 + +KP_9 0x49 numlock +KP_Prior 0x49 + +Caps_Lock 0x3a +# +# Inhibited keys +# +Multi_key 0x0 inhibit + +map 0x424 +exclam 0x02 shift +asciitilde 0x02 altgr +dead_tilde 0x02 shift altgr +quotedbl 0x03 shift +dead_caron 0x03 altgr +caron 0x03 shift altgr +numbersign 0x04 shift +asciicircum 0x04 altgr +dead_circumflex 0x04 shift altgr +dollar 0x05 shift +dead_breve 0x05 altgr +breve 0x05 shift altgr +percent 0x06 shift +degree 0x06 altgr +dead_abovering 0x06 shift altgr +ampersand 0x07 shift +dead_ogonek 0x07 altgr +ogonek 0x07 shift altgr +slash 0x08 shift +grave 0x08 altgr +dead_grave 0x08 shift altgr +parenleft 0x09 shift +dead_abovedot 0x09 altgr +abovedot 0x09 shift altgr +parenright 0x0a shift +dead_acute 0x0a altgr +equal 0x0b shift +dead_doubleacute 0x0b altgr +doubleacute 0x0b shift altgr +apostrophe 0x0c +question 0x0c shift +dead_diaeresis 0x0c altgr +diaeresis 0x0c shift altgr +plus 0x0d +asterisk 0x0d shift +dead_cedilla 0x0d altgr +cedilla 0x0d shift altgr +backslash 0x10 altgr +Greek_OMEGA 0x10 shift altgr +bar 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +z 0x15 addupper +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +scaron 0x1a +Scaron 0x1a shift +division 0x1a altgr +dstroke 0x1b +Dstroke 0x1b shift +multiply 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +bracketleft 0x21 altgr +ordfeminine 0x21 shift altgr +bracketright 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +lstroke 0x25 altgr +Lstroke 0x26 altgr +ccaron 0x27 +Ccaron 0x27 shift +cacute 0x28 +Cacute 0x28 shift +ssharp 0x28 altgr +dead_cedilla 0x29 +notsign 0x29 altgr +zcaron 0x2b +Zcaron 0x2b shift +currency 0x2b altgr +y 0x2c addupper +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +at 0x2f altgr +braceleft 0x30 altgr +braceright 0x31 altgr +section 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr diff --git a/contrib/keymaps/sv b/contrib/keymaps/sv new file mode 100644 index 00000000..0717b711 --- /dev/null +++ b/contrib/keymaps/sv @@ -0,0 +1,255 @@ +map 0x0000041d + +Shift_R 0x36 +Shift_L 0x2a + +Alt_R 0xb8 +Mode_switch 0xb8 +ISO_Level3_Shift 0xb8 +Alt_L 0x38 + +Control_R 0x9d +Control_L 0x1d + +# Translate Super to Windows keys. +# This is hardcoded. See documentation for details. +Super_R 0xdc +Super_L 0xdb + +# Translate Menu to the Windows Application key. +Menu 0xdd + +# +# Top row +# +1 0x2 +2 0x3 +3 0x4 +4 0x5 +5 0x6 +6 0x7 +7 0x8 +8 0x9 +9 0xa +0 0xb +BackSpace 0xe + +# +# QWERTY first row +# +Tab 0xf localstate +ISO_Left_Tab 0xf shift +q 0x10 addupper +w 0x11 addupper +e 0x12 addupper +r 0x13 addupper +t 0x14 addupper +y 0x15 addupper +u 0x16 addupper +i 0x17 addupper +o 0x18 addupper +p 0x19 addupper + +# +# QWERTY second row +# +a 0x1e addupper +s 0x1f addupper +d 0x20 addupper +f 0x21 addupper +g 0x22 addupper +h 0x23 addupper +j 0x24 addupper +k 0x25 addupper +l 0x26 addupper +Return 0x1c localstate + +# +# QWERTY third row +# +z 0x2c addupper +x 0x2d addupper +c 0x2e addupper +v 0x2f addupper +b 0x30 addupper +n 0x31 addupper +m 0x32 addupper + +space 0x39 localstate + +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# +# Esc and Function keys +# +Escape 0x1 localstate +F1 0x3b localstate +F2 0x3c localstate +F3 0x3d localstate +F4 0x3e localstate +F5 0x3f localstate +F6 0x40 localstate +F7 0x41 localstate +F8 0x42 localstate +F9 0x43 localstate +F10 0x44 localstate +F11 0x57 localstate +F12 0x58 localstate + +# Printscreen, Scrollock and Pause +# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37), +# but (0xe0, 0x37) seems to work. +Print 0xb7 localstate +Sys_Req 0xb7 localstate +Execute 0xb7 localstate +Scroll_Lock 0x46 + +# +# Insert - PgDown +# +Insert 0xd2 localstate +Delete 0xd3 localstate +Home 0xc7 localstate +End 0xcf localstate +Page_Up 0xc9 localstate +Page_Down 0xd1 localstate + +# +# Arrow keys +# +Left 0xcb localstate +Up 0xc8 localstate +Down 0xd0 localstate +Right 0xcd localstate + +# +# Numpad +# +Num_Lock 0x45 +KP_Divide 0xb5 +KP_Multiply 0x37 +KP_Subtract 0x4a +KP_Add 0x4e +KP_Enter 0x9c + +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +KP_Delete 0x53 + +KP_0 0x52 numlock +KP_Insert 0x52 + +KP_1 0x4f numlock +KP_End 0x4f + +KP_2 0x50 numlock +KP_Down 0x50 + +KP_3 0x51 numlock +KP_Next 0x51 + +KP_4 0x4b numlock +KP_Left 0x4b + +KP_5 0x4c numlock +KP_Begin 0x4c + +KP_6 0x4d numlock +KP_Right 0x4d + +KP_7 0x47 numlock +KP_Home 0x47 + +KP_8 0x48 numlock +KP_Up 0x48 + +KP_9 0x49 numlock +KP_Prior 0x49 + +Caps_Lock 0x3a +# +# Inhibited keys +# +Multi_key 0x0 inhibit + +# +# Top row +# +section 0x29 +onehalf 0x29 shift + +# 1 +exclam 0x2 shift + +# 2 +quotedbl 0x3 shift +at 0x3 altgr + +# 3 +numbersign 0x4 shift +sterling 0x4 altgr +# 4 +currency 0x5 shift +dollar 0x5 altgr +# 5 +percent 0x6 shift +# 6 +ampersand 0x7 shift +# 7 +slash 0x8 shift +braceleft 0x8 altgr +# 8 +parenleft 0x9 shift +bracketleft 0x9 altgr +# 9 +parenright 0xa shift +bracketright 0xa altgr +# 0 +equal 0xb shift +braceright 0xb altgr + +plus 0xc +question 0xc shift +backslash 0xc altgr + +acute 0xd +dead_acute 0xd +grave 0xd shift +dead_grave 0xd shift + +# +# QWERTY first row +# +EuroSign 0x12 altgr +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr + +# +# QWERTY second row +# +odiaeresis 0x27 +Odiaeresis 0x27 shift +adiaeresis 0x28 +Adiaeresis 0x28 shift +apostrophe 0x2b +asterisk 0x2b shift + +# +# QWERTY third row +# +less 0x56 +greater 0x56 shift +bar 0x56 altgr +mu 0x32 altgr +comma 0x33 +semicolon 0x33 shift +period 0x34 +colon 0x34 shift +minus 0x35 +underscore 0x35 shift diff --git a/contrib/keymaps/th b/contrib/keymaps/th new file mode 100644 index 00000000..b8298d90 --- /dev/null +++ b/contrib/keymaps/th @@ -0,0 +1,753 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : th +# variant : - +# options : - + +# name: "Thai" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +Thai_lakkhangyao 0x02 +plus 0x02 shift + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +slash 0x03 +Thai_leknung 0x03 shift + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +minus 0x04 +Thai_leksong 0x04 shift + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +Thai_phosamphao 0x05 +Thai_leksam 0x05 shift + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +Thai_thothung 0x06 +Thai_leksi 0x06 shift + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +Thai_sarau 0x07 +Thai_sarauu 0x07 shift + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +Thai_saraue 0x08 +Thai_baht 0x08 shift + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +Thai_khokhwai 0x09 +Thai_lekha 0x09 shift + +# evdev 10 (0xa), QKeyCode "9", number 0xa +Thai_totao 0x0a +Thai_lekhok 0x0a shift + +# evdev 11 (0xb), QKeyCode "0", number 0xb +Thai_chochan 0x0b +Thai_lekchet 0x0b shift + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +Thai_khokhai 0x0c +Thai_lekpaet 0x0c shift + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +Thai_chochang 0x0d +Thai_lekkao 0x0d shift + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +Thai_maiyamok 0x10 +Thai_leksun 0x10 shift + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +Thai_saraaimaimalai 0x11 +quotedbl 0x11 shift + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +Thai_saraam 0x12 +Thai_dochada 0x12 shift + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +Thai_phophan 0x13 +Thai_thonangmontho 0x13 shift + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +Thai_saraa 0x14 +Thai_thothong 0x14 shift + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +Thai_maihanakat 0x15 +Thai_nikhahit 0x15 shift + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +Thai_saraii 0x16 +Thai_maitri 0x16 shift + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +Thai_rorua 0x17 +Thai_nonen 0x17 shift + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +Thai_nonu 0x18 +Thai_paiyannoi 0x18 shift + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +Thai_yoyak 0x19 +Thai_yoying 0x19 shift + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +Thai_bobaimai 0x1a +Thai_thothan 0x1a shift + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +Thai_loling 0x1b +comma 0x1b shift + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +Thai_fofan 0x1e +Thai_ru 0x1e shift + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +Thai_hohip 0x1f +Thai_khorakhang 0x1f shift + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +Thai_kokai 0x20 +Thai_topatak 0x20 shift + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +Thai_dodek 0x21 +Thai_sarao 0x21 shift + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +Thai_sarae 0x22 +Thai_chochoe 0x22 shift + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +Thai_maitho 0x23 +Thai_maitaikhu 0x23 shift + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +Thai_maiek 0x24 +Thai_maichattawa 0x24 shift + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +Thai_saraaa 0x25 +Thai_sorusi 0x25 shift + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +Thai_sosua 0x26 +Thai_sosala 0x26 shift + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +Thai_wowaen 0x27 +Thai_soso 0x27 shift + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +Thai_ngongu 0x28 +period 0x28 shift + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +underscore 0x29 +percent 0x29 shift + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +Thai_khokhuat 0x2b +Thai_khokhon 0x2b shift + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +Thai_phophung 0x2c +parenleft 0x2c shift + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +Thai_popla 0x2d +parenright 0x2d shift + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +Thai_saraae 0x2e +Thai_choching 0x2e shift + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +Thai_oang 0x2f +Thai_honokhuk 0x2f shift + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +Thai_sarai 0x30 +Thai_phinthu 0x30 shift + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +Thai_sarauee 0x31 +Thai_thanthakhat 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +Thai_thothahan 0x32 +question 0x32 shift + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +Thai_moma 0x33 +Thai_thophuthao 0x33 shift + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +Thai_saraaimaimuan 0x34 +Thai_lochula 0x34 shift + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +Thai_fofa 0x35 +Thai_lu 0x35 shift + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Decimal 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +Alt_R 0xb8 +Meta_R 0xb8 shift + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end diff --git a/contrib/keymaps/tr b/contrib/keymaps/tr new file mode 100644 index 00000000..8ef60a60 --- /dev/null +++ b/contrib/keymaps/tr @@ -0,0 +1,836 @@ +# +# generated by qemu-keymap +# model : pc105 +# layout : tr +# variant : - +# options : - + +# name: "Turkish" + +# modifiers +# 0: Shift +# 1: Lock +# 2: Control +# 3: Mod1 +# 4: Mod2 +# 5: Mod3 +# 6: Mod4 +# 7: Mod5 +# 8: NumLock +# 9: Alt +# 10: LevelThree +# 11: LAlt +# 12: RAlt +# 13: RControl +# 14: LControl +# 15: ScrollLock +# 16: LevelFive +# 17: AltGr +# 18: Meta +# 19: Super +# 20: Hyper + +# evdev 1 (0x1), QKeyCode "esc", number 0x1 +Escape 0x01 + +# evdev 2 (0x2), QKeyCode "1", number 0x2 +1 0x02 +exclam 0x02 shift +greater 0x02 altgr +exclamdown 0x02 shift altgr + +# evdev 3 (0x3), QKeyCode "2", number 0x3 +2 0x03 +apostrophe 0x03 shift +sterling 0x03 altgr +twosuperior 0x03 shift altgr + +# evdev 4 (0x4), QKeyCode "3", number 0x4 +3 0x04 +asciicircum 0x04 shift +numbersign 0x04 altgr +threesuperior 0x04 shift altgr + +# evdev 5 (0x5), QKeyCode "4", number 0x5 +4 0x05 +plus 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr + +# evdev 6 (0x6), QKeyCode "5", number 0x6 +5 0x06 +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr + +# evdev 7 (0x7), QKeyCode "6", number 0x7 +6 0x07 +ampersand 0x07 shift +threequarters 0x07 altgr +VoidSymbol 0x07 shift altgr + +# evdev 8 (0x8), QKeyCode "7", number 0x8 +7 0x08 +slash 0x08 shift +braceleft 0x08 altgr +VoidSymbol 0x08 shift altgr + +# evdev 9 (0x9), QKeyCode "8", number 0x9 +8 0x09 +parenleft 0x09 shift +bracketleft 0x09 altgr +VoidSymbol 0x09 shift altgr + +# evdev 10 (0xa), QKeyCode "9", number 0xa +9 0x0a +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr + +# evdev 11 (0xb), QKeyCode "0", number 0xb +0 0x0b +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr + +# evdev 12 (0xc), QKeyCode "minus", number 0xc +asterisk 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr + +# evdev 13 (0xd), QKeyCode "equal", number 0xd +minus 0x0d +underscore 0x0d shift +bar 0x0d altgr +VoidSymbol 0x0d shift altgr + +# evdev 14 (0xe), QKeyCode "backspace", number 0xe +BackSpace 0x0e + +# evdev 15 (0xf), QKeyCode "tab", number 0xf +Tab 0x0f +ISO_Left_Tab 0x0f shift + +# evdev 16 (0x10), QKeyCode "q", number 0x10 +q 0x10 +Q 0x10 shift +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr + +# evdev 17 (0x11), QKeyCode "w", number 0x11 +w 0x11 +W 0x11 shift +VoidSymbol 0x11 altgr + +# evdev 18 (0x12), QKeyCode "e", number 0x12 +e 0x12 +E 0x12 shift +EuroSign 0x12 altgr +VoidSymbol 0x12 shift altgr + +# evdev 19 (0x13), QKeyCode "r", number 0x13 +r 0x13 +R 0x13 shift +paragraph 0x13 altgr +registered 0x13 shift altgr + +# evdev 20 (0x14), QKeyCode "t", number 0x14 +t 0x14 +T 0x14 shift +U20BA 0x14 altgr +VoidSymbol 0x14 shift altgr + +# evdev 21 (0x15), QKeyCode "y", number 0x15 +y 0x15 +Y 0x15 shift +leftarrow 0x15 altgr +yen 0x15 shift altgr + +# evdev 22 (0x16), QKeyCode "u", number 0x16 +u 0x16 +U 0x16 shift +ucircumflex 0x16 altgr +Ucircumflex 0x16 shift altgr + +# evdev 23 (0x17), QKeyCode "i", number 0x17 +idotless 0x17 +I 0x17 shift +icircumflex 0x17 altgr +Icircumflex 0x17 shift altgr + +# evdev 24 (0x18), QKeyCode "o", number 0x18 +o 0x18 +O 0x18 shift +ocircumflex 0x18 altgr +Ocircumflex 0x18 shift altgr + +# evdev 25 (0x19), QKeyCode "p", number 0x19 +p 0x19 +P 0x19 shift +VoidSymbol 0x19 altgr + +# evdev 26 (0x1a), QKeyCode "bracket_left", number 0x1a +gbreve 0x1a +Gbreve 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr + +# evdev 27 (0x1b), QKeyCode "bracket_right", number 0x1b +udiaeresis 0x1b +Udiaeresis 0x1b shift +asciitilde 0x1b altgr +dead_macron 0x1b shift altgr + +# evdev 28 (0x1c), QKeyCode "ret", number 0x1c +Return 0x1c + +# evdev 29 (0x1d), QKeyCode "ctrl", number 0x1d +Control_L 0x1d + +# evdev 30 (0x1e), QKeyCode "a", number 0x1e +a 0x1e +A 0x1e shift +acircumflex 0x1e altgr +Acircumflex 0x1e shift altgr + +# evdev 31 (0x1f), QKeyCode "s", number 0x1f +s 0x1f +S 0x1f shift +section 0x1f altgr +VoidSymbol 0x1f shift altgr + +# evdev 32 (0x20), QKeyCode "d", number 0x20 +d 0x20 +D 0x20 shift +VoidSymbol 0x20 altgr + +# evdev 33 (0x21), QKeyCode "f", number 0x21 +f 0x21 +F 0x21 shift +ordfeminine 0x21 altgr +VoidSymbol 0x21 shift altgr + +# evdev 34 (0x22), QKeyCode "g", number 0x22 +g 0x22 +G 0x22 shift +VoidSymbol 0x22 altgr + +# evdev 35 (0x23), QKeyCode "h", number 0x23 +h 0x23 +H 0x23 shift +VoidSymbol 0x23 altgr + +# evdev 36 (0x24), QKeyCode "j", number 0x24 +j 0x24 +J 0x24 shift +dead_hook 0x24 altgr +dead_horn 0x24 shift altgr + +# evdev 37 (0x25), QKeyCode "k", number 0x25 +k 0x25 +K 0x25 shift +VoidSymbol 0x25 altgr + +# evdev 38 (0x26), QKeyCode "l", number 0x26 +l 0x26 +L 0x26 shift +VoidSymbol 0x26 altgr + +# evdev 39 (0x27), QKeyCode "semicolon", number 0x27 +scedilla 0x27 +Scedilla 0x27 shift +acute 0x27 altgr +dead_acute 0x27 shift altgr + +# evdev 40 (0x28), QKeyCode "apostrophe", number 0x28 +i 0x28 +Iabovedot 0x28 shift +apostrophe 0x28 altgr +dead_caron 0x28 shift altgr + +# evdev 41 (0x29), QKeyCode "grave_accent", number 0x29 +quotedbl 0x29 +eacute 0x29 shift +less 0x29 altgr +degree 0x29 shift altgr + +# evdev 42 (0x2a), QKeyCode "shift", number 0x2a +Shift_L 0x2a + +# evdev 43 (0x2b), QKeyCode "backslash", number 0x2b +comma 0x2b +semicolon 0x2b shift +grave 0x2b altgr +dead_grave 0x2b shift altgr + +# evdev 44 (0x2c), QKeyCode "z", number 0x2c +z 0x2c +Z 0x2c shift +guillemotleft 0x2c altgr +less 0x2c shift altgr + +# evdev 45 (0x2d), QKeyCode "x", number 0x2d +x 0x2d +X 0x2d shift +guillemotright 0x2d altgr +greater 0x2d shift altgr + +# evdev 46 (0x2e), QKeyCode "c", number 0x2e +c 0x2e +C 0x2e shift +cent 0x2e altgr +copyright 0x2e shift altgr + +# evdev 47 (0x2f), QKeyCode "v", number 0x2f +v 0x2f +V 0x2f shift +leftdoublequotemark 0x2f altgr +leftsinglequotemark 0x2f shift altgr + +# evdev 48 (0x30), QKeyCode "b", number 0x30 +b 0x30 +B 0x30 shift +rightdoublequotemark 0x30 altgr +rightsinglequotemark 0x30 shift altgr + +# evdev 49 (0x31), QKeyCode "n", number 0x31 +n 0x31 +N 0x31 shift + +# evdev 50 (0x32), QKeyCode "m", number 0x32 +m 0x32 +M 0x32 shift +mu 0x32 altgr +masculine 0x32 shift altgr + +# evdev 51 (0x33), QKeyCode "comma", number 0x33 +odiaeresis 0x33 +Odiaeresis 0x33 shift +multiply 0x33 altgr +VoidSymbol 0x33 shift altgr + +# evdev 52 (0x34), QKeyCode "dot", number 0x34 +ccedilla 0x34 +Ccedilla 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +# evdev 53 (0x35), QKeyCode "slash", number 0x35 +period 0x35 +colon 0x35 shift +dead_abovedot 0x35 altgr + +# evdev 54 (0x36), QKeyCode "shift_r", number 0x36 +Shift_R 0x36 + +# evdev 55 (0x37), QKeyCode "kp_multiply", number 0x37 +KP_Multiply 0x37 + +# evdev 56 (0x38), QKeyCode "alt", number 0x38 +Alt_L 0x38 +Meta_L 0x38 shift + +# evdev 57 (0x39), QKeyCode "spc", number 0x39 +space 0x39 + +# evdev 58 (0x3a), QKeyCode "caps_lock", number 0x3a +Caps_Lock 0x3a + +# evdev 59 (0x3b), QKeyCode "f1", number 0x3b +F1 0x3b + +# evdev 60 (0x3c), QKeyCode "f2", number 0x3c +F2 0x3c + +# evdev 61 (0x3d), QKeyCode "f3", number 0x3d +F3 0x3d + +# evdev 62 (0x3e), QKeyCode "f4", number 0x3e +F4 0x3e + +# evdev 63 (0x3f), QKeyCode "f5", number 0x3f +F5 0x3f + +# evdev 64 (0x40), QKeyCode "f6", number 0x40 +F6 0x40 + +# evdev 65 (0x41), QKeyCode "f7", number 0x41 +F7 0x41 + +# evdev 66 (0x42), QKeyCode "f8", number 0x42 +F8 0x42 + +# evdev 67 (0x43), QKeyCode "f9", number 0x43 +F9 0x43 + +# evdev 68 (0x44), QKeyCode "f10", number 0x44 +F10 0x44 + +# evdev 69 (0x45), QKeyCode "num_lock", number 0x45 +Num_Lock 0x45 + +# evdev 70 (0x46), QKeyCode "scroll_lock", number 0x46 +Scroll_Lock 0x46 + +# evdev 71 (0x47), QKeyCode "kp_7", number 0x47 +KP_Home 0x47 +KP_7 0x47 numlock + +# evdev 72 (0x48), QKeyCode "kp_8", number 0x48 +KP_Up 0x48 +KP_8 0x48 numlock + +# evdev 73 (0x49), QKeyCode "kp_9", number 0x49 +KP_Prior 0x49 +KP_9 0x49 numlock + +# evdev 74 (0x4a), QKeyCode "kp_subtract", number 0x4a +KP_Subtract 0x4a + +# evdev 75 (0x4b), QKeyCode "kp_4", number 0x4b +KP_Left 0x4b +KP_4 0x4b numlock + +# evdev 76 (0x4c), QKeyCode "kp_5", number 0x4c +KP_Begin 0x4c +KP_5 0x4c numlock + +# evdev 77 (0x4d), QKeyCode "kp_6", number 0x4d +KP_Right 0x4d +KP_6 0x4d numlock + +# evdev 78 (0x4e), QKeyCode "kp_add", number 0x4e +KP_Add 0x4e + +# evdev 79 (0x4f), QKeyCode "kp_1", number 0x4f +KP_End 0x4f +KP_1 0x4f numlock + +# evdev 80 (0x50), QKeyCode "kp_2", number 0x50 +KP_Down 0x50 +KP_2 0x50 numlock + +# evdev 81 (0x51), QKeyCode "kp_3", number 0x51 +KP_Next 0x51 +KP_3 0x51 numlock + +# evdev 82 (0x52), QKeyCode "kp_0", number 0x52 +KP_Insert 0x52 +KP_0 0x52 numlock + +# evdev 83 (0x53), QKeyCode "kp_decimal", number 0x53 +KP_Delete 0x53 +KP_Separator 0x53 numlock + +# evdev 84 (0x54): no evdev -> QKeyCode mapping (xkb keysym ISO_Level3_Shift) + +# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 86 (0x56), QKeyCode "less", number 0x56 +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# evdev 87 (0x57), QKeyCode "f11", number 0x57 +F11 0x57 + +# evdev 88 (0x58), QKeyCode "f12", number 0x58 +F12 0x58 + +# evdev 89 (0x59), QKeyCode "ro", number 0x73 + +# evdev 90 (0x5a): no evdev -> QKeyCode mapping (xkb keysym Katakana) + +# evdev 91 (0x5b), QKeyCode "hiragana", number 0x77 +Hiragana 0x77 + +# evdev 92 (0x5c), QKeyCode "henkan", number 0x79 +Henkan_Mode 0x79 + +# evdev 93 (0x5d), QKeyCode "katakanahiragana", number 0x70 +Hiragana_Katakana 0x70 + +# evdev 94 (0x5e), QKeyCode "muhenkan", number 0x7b +Muhenkan 0x7b + +# evdev 95 (0x5f): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 96 (0x60), QKeyCode "kp_enter", number 0x9c +KP_Enter 0x9c + +# evdev 97 (0x61), QKeyCode "ctrl_r", number 0x9d +Control_R 0x9d + +# evdev 98 (0x62), QKeyCode "kp_divide", number 0xb5 +KP_Divide 0xb5 + +# evdev 99 (0x63), QKeyCode "sysrq", number 0x54 +Print 0x54 + +# evdev 100 (0x64), QKeyCode "alt_r", number 0xb8 +ISO_Level3_Shift 0xb8 + +# evdev 101 (0x65), QKeyCode "lf", number 0x5b +Linefeed 0x5b + +# evdev 102 (0x66), QKeyCode "home", number 0xc7 +Home 0xc7 + +# evdev 103 (0x67), QKeyCode "up", number 0xc8 +Up 0xc8 + +# evdev 104 (0x68), QKeyCode "pgup", number 0xc9 +Prior 0xc9 + +# evdev 105 (0x69), QKeyCode "left", number 0xcb +Left 0xcb + +# evdev 106 (0x6a), QKeyCode "right", number 0xcd +Right 0xcd + +# evdev 107 (0x6b), QKeyCode "end", number 0xcf +End 0xcf + +# evdev 108 (0x6c), QKeyCode "down", number 0xd0 +Down 0xd0 + +# evdev 109 (0x6d), QKeyCode "pgdn", number 0xd1 +Next 0xd1 + +# evdev 110 (0x6e), QKeyCode "insert", number 0xd2 +Insert 0xd2 + +# evdev 111 (0x6f), QKeyCode "delete", number 0xd3 +Delete 0xd3 + +# evdev 112 (0x70): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 113 (0x71), QKeyCode "audiomute", number 0xa0 +XF86AudioMute 0xa0 + +# evdev 114 (0x72), QKeyCode "volumedown", number 0xae +XF86AudioLowerVolume 0xae + +# evdev 115 (0x73), QKeyCode "volumeup", number 0xb0 +XF86AudioRaiseVolume 0xb0 + +# evdev 116 (0x74), QKeyCode "power", number 0xde +XF86PowerOff 0xde + +# evdev 117 (0x75), QKeyCode "kp_equals", number 0x59 +KP_Equal 0x59 + +# evdev 118 (0x76): no evdev -> QKeyCode mapping (xkb keysym plusminus) + +# evdev 119 (0x77), QKeyCode "pause", number 0xc6 +Pause 0xc6 + +# evdev 120 (0x78): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchA) + +# evdev 121 (0x79), QKeyCode "kp_comma", number 0x7e +KP_Decimal 0x7e + +# evdev 122 (0x7a): no evdev -> QKeyCode mapping (xkb keysym Hangul) + +# evdev 123 (0x7b): no evdev -> QKeyCode mapping (xkb keysym Hangul_Hanja) + +# evdev 124 (0x7c), QKeyCode "yen", number 0x7d + +# evdev 125 (0x7d), QKeyCode "meta_l", number 0xdb +Super_L 0xdb + +# evdev 126 (0x7e), QKeyCode "meta_r", number 0xdc +Super_R 0xdc + +# evdev 127 (0x7f), QKeyCode "compose", number 0xdd +Menu 0xdd + +# evdev 128 (0x80), QKeyCode "stop", number 0xe8 +Cancel 0xe8 + +# evdev 129 (0x81), QKeyCode "again", number 0x85 +Redo 0x85 + +# evdev 130 (0x82), QKeyCode "props", number 0x86 +SunProps 0x86 + +# evdev 131 (0x83), QKeyCode "undo", number 0x87 +Undo 0x87 + +# evdev 132 (0x84), QKeyCode "front", number 0x8c +SunFront 0x8c + +# evdev 133 (0x85), QKeyCode "copy", number 0xf8 +XF86Copy 0xf8 + +# evdev 134 (0x86), QKeyCode "open", number 0x64 +XF86Open 0x64 + +# evdev 135 (0x87), QKeyCode "paste", number 0x65 +XF86Paste 0x65 + +# evdev 136 (0x88), QKeyCode "find", number 0xc1 +Find 0xc1 + +# evdev 137 (0x89), QKeyCode "cut", number 0xbc +XF86Cut 0xbc + +# evdev 138 (0x8a), QKeyCode "help", number 0xf5 +Help 0xf5 + +# evdev 139 (0x8b), QKeyCode "menu", number 0x9e +XF86MenuKB 0x9e + +# evdev 140 (0x8c), QKeyCode "calculator", number 0xa1 +XF86Calculator 0xa1 + +# evdev 141 (0x8d): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 142 (0x8e), QKeyCode "sleep", number 0xdf +XF86Sleep 0xdf + +# evdev 143 (0x8f), QKeyCode "wake", number 0xe3 +XF86WakeUp 0xe3 + +# evdev 144 (0x90): no evdev -> QKeyCode mapping (xkb keysym XF86Explorer) + +# evdev 145 (0x91): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 146 (0x92): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 147 (0x93): no evdev -> QKeyCode mapping (xkb keysym XF86Xfer) + +# evdev 148 (0x94): no evdev -> QKeyCode mapping (xkb keysym XF86Launch1) + +# evdev 149 (0x95): no evdev -> QKeyCode mapping (xkb keysym XF86Launch2) + +# evdev 150 (0x96): no evdev -> QKeyCode mapping (xkb keysym XF86WWW) + +# evdev 151 (0x97): no evdev -> QKeyCode mapping (xkb keysym XF86DOS) + +# evdev 152 (0x98): no evdev -> QKeyCode mapping (xkb keysym XF86ScreenSaver) + +# evdev 153 (0x99): no evdev -> QKeyCode mapping (xkb keysym XF86RotateWindows) + +# evdev 154 (0x9a): no evdev -> QKeyCode mapping (xkb keysym XF86TaskPane) + +# evdev 155 (0x9b), QKeyCode "mail", number 0xec +XF86Mail 0xec + +# evdev 156 (0x9c), QKeyCode "ac_bookmarks", number 0xe6 +XF86Favorites 0xe6 + +# evdev 157 (0x9d), QKeyCode "computer", number 0xeb +XF86MyComputer 0xeb + +# evdev 158 (0x9e), QKeyCode "ac_back", number 0xea +XF86Back 0xea + +# evdev 159 (0x9f), QKeyCode "ac_forward", number 0xe9 +XF86Forward 0xe9 + +# evdev 160 (0xa0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 161 (0xa1): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 162 (0xa2): no evdev -> QKeyCode mapping (xkb keysym XF86Eject) + +# evdev 163 (0xa3), QKeyCode "audionext", number 0x99 +XF86AudioNext 0x99 + +# evdev 164 (0xa4), QKeyCode "audioplay", number 0xa2 +XF86AudioPlay 0xa2 +XF86AudioPause 0xa2 shift + +# evdev 165 (0xa5), QKeyCode "audioprev", number 0x90 +XF86AudioPrev 0x90 + +# evdev 166 (0xa6), QKeyCode "audiostop", number 0xa4 +XF86AudioStop 0xa4 +XF86Eject 0xa4 shift + +# evdev 167 (0xa7): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRecord) + +# evdev 168 (0xa8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioRewind) + +# evdev 169 (0xa9): no evdev -> QKeyCode mapping (xkb keysym XF86Phone) + +# evdev 170 (0xaa): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 171 (0xab): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 172 (0xac), QKeyCode "ac_home", number 0xb2 +XF86HomePage 0xb2 + +# evdev 173 (0xad), QKeyCode "ac_refresh", number 0xe7 +XF86Reload 0xe7 + +# evdev 174 (0xae): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 175 (0xaf): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 176 (0xb0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 177 (0xb1): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollUp) + +# evdev 178 (0xb2): no evdev -> QKeyCode mapping (xkb keysym XF86ScrollDown) + +# evdev 179 (0xb3): no evdev -> QKeyCode mapping (xkb keysym parenleft) + +# evdev 180 (0xb4): no evdev -> QKeyCode mapping (xkb keysym parenright) + +# evdev 181 (0xb5): no evdev -> QKeyCode mapping (xkb keysym XF86New) + +# evdev 182 (0xb6): no evdev -> QKeyCode mapping (xkb keysym Redo) + +# evdev 183 (0xb7): no evdev -> QKeyCode mapping (xkb keysym XF86Tools) + +# evdev 184 (0xb8): no evdev -> QKeyCode mapping (xkb keysym XF86Launch5) + +# evdev 185 (0xb9): no evdev -> QKeyCode mapping (xkb keysym XF86Launch6) + +# evdev 186 (0xba): no evdev -> QKeyCode mapping (xkb keysym XF86Launch7) + +# evdev 187 (0xbb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch8) + +# evdev 188 (0xbc): no evdev -> QKeyCode mapping (xkb keysym XF86Launch9) + +# evdev 189 (0xbd): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 190 (0xbe): no evdev -> QKeyCode mapping (xkb keysym XF86AudioMicMute) + +# evdev 191 (0xbf): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadToggle) + +# evdev 192 (0xc0): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOn) + +# evdev 193 (0xc1): no evdev -> QKeyCode mapping (xkb keysym XF86TouchpadOff) + +# evdev 194 (0xc2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 195 (0xc3): no evdev -> QKeyCode mapping (xkb keysym Mode_switch) + +# evdev 196 (0xc4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 197 (0xc5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 198 (0xc6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 199 (0xc7): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 200 (0xc8): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 201 (0xc9): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPause) + +# evdev 202 (0xca): no evdev -> QKeyCode mapping (xkb keysym XF86Launch3) + +# evdev 203 (0xcb): no evdev -> QKeyCode mapping (xkb keysym XF86Launch4) + +# evdev 204 (0xcc): no evdev -> QKeyCode mapping (xkb keysym XF86LaunchB) + +# evdev 205 (0xcd): no evdev -> QKeyCode mapping (xkb keysym XF86Suspend) + +# evdev 206 (0xce): no evdev -> QKeyCode mapping (xkb keysym XF86Close) + +# evdev 207 (0xcf): no evdev -> QKeyCode mapping (xkb keysym XF86AudioPlay) + +# evdev 208 (0xd0): no evdev -> QKeyCode mapping (xkb keysym XF86AudioForward) + +# evdev 209 (0xd1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 210 (0xd2): no evdev -> QKeyCode mapping (xkb keysym Print) + +# evdev 211 (0xd3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 212 (0xd4): no evdev -> QKeyCode mapping (xkb keysym XF86WebCam) + +# evdev 213 (0xd5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 214 (0xd6): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 215 (0xd7): no evdev -> QKeyCode mapping (xkb keysym XF86Mail) + +# evdev 216 (0xd8): no evdev -> QKeyCode mapping (xkb keysym XF86Messenger) + +# evdev 217 (0xd9): no evdev -> QKeyCode mapping (xkb keysym XF86Search) + +# evdev 218 (0xda): no evdev -> QKeyCode mapping (xkb keysym XF86Go) + +# evdev 219 (0xdb): no evdev -> QKeyCode mapping (xkb keysym XF86Finance) + +# evdev 220 (0xdc): no evdev -> QKeyCode mapping (xkb keysym XF86Game) + +# evdev 221 (0xdd): no evdev -> QKeyCode mapping (xkb keysym XF86Shop) + +# evdev 222 (0xde): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 223 (0xdf): no evdev -> QKeyCode mapping (xkb keysym Cancel) + +# evdev 224 (0xe0): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessDown) + +# evdev 225 (0xe1): no evdev -> QKeyCode mapping (xkb keysym XF86MonBrightnessUp) + +# evdev 226 (0xe2), QKeyCode "mediaselect", number 0xed +XF86AudioMedia 0xed + +# evdev 227 (0xe3): no evdev -> QKeyCode mapping (xkb keysym XF86Display) + +# evdev 228 (0xe4): no evdev -> QKeyCode mapping (xkb keysym XF86KbdLightOnOff) + +# evdev 229 (0xe5): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessDown) + +# evdev 230 (0xe6): no evdev -> QKeyCode mapping (xkb keysym XF86KbdBrightnessUp) + +# evdev 231 (0xe7): no evdev -> QKeyCode mapping (xkb keysym XF86Send) + +# evdev 232 (0xe8): no evdev -> QKeyCode mapping (xkb keysym XF86Reply) + +# evdev 233 (0xe9): no evdev -> QKeyCode mapping (xkb keysym XF86MailForward) + +# evdev 234 (0xea): no evdev -> QKeyCode mapping (xkb keysym XF86Save) + +# evdev 235 (0xeb): no evdev -> QKeyCode mapping (xkb keysym XF86Documents) + +# evdev 236 (0xec): no evdev -> QKeyCode mapping (xkb keysym XF86Battery) + +# evdev 237 (0xed): no evdev -> QKeyCode mapping (xkb keysym XF86Bluetooth) + +# evdev 238 (0xee): no evdev -> QKeyCode mapping (xkb keysym XF86WLAN) + +# evdev 239 (0xef): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 240 (0xf0): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 241 (0xf1): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 242 (0xf2): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 243 (0xf3): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 244 (0xf4): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 245 (0xf5): no evdev -> QKeyCode mapping (xkb keysym NoSymbol) + +# evdev 246 (0xf6): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# evdev 247 (0xf7): no evdev -> QKeyCode mapping (xkb keysym Invalid) + +# +# quirks section start +# +# Sometimes multiple keysyms map to the same keycodes. +# The keycode -> keysym lookup finds only one of the +# keysyms. So append them here. +# + +Print 0x54 +Sys_Req 0x54 +Execute 0x54 +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +Alt_R 0xb8 +ISO_Level3_Shift 0xb8 +Mode_switch 0xb8 + +# quirks section end @@ -25,19 +25,33 @@ import sys import textwrap import dataclasses +from typing import Set from typing import List +import Xlib.keysymdef.latin1 +import Xlib.keysymdef.miscellany + import mako.template # ===== @dataclasses.dataclass(frozen=True) class _KeyMapping: - web_key: str + web_name: str serial_code: int - arduino_key: str + arduino_name: str otg_code: int otg_is_modifier: bool + at1_code: int + x11_codes: Set[int] + + +def _resolve_keysym(name: str) -> int: + code = getattr(Xlib.keysymdef.latin1, name, None) + if code is None: + code = getattr(Xlib.keysymdef.miscellany, name, None) + assert code is not None, name + return code def _read_keymap_in(path: str) -> List[_KeyMapping]: @@ -47,13 +61,15 @@ def _read_keymap_in(path: str) -> List[_KeyMapping]: line = line.strip() if len(line) > 0 and not line.startswith("#"): parts = list(map(str.strip, line.split())) - if len(parts) >= 5: + if len(parts) >= 7: keymap.append(_KeyMapping( - web_key=parts[0], + web_name=parts[0], serial_code=int(parts[1]), - arduino_key=parts[2], + arduino_name=parts[2], otg_code=int(parts[3], 16), otg_is_modifier=(parts[4].lower() == "m"), + at1_code=int(parts[5], 16), + x11_codes=set(map(_resolve_keysym, parts[6].split(","))), )) return keymap diff --git a/hid/src/keymap.h.mako b/hid/src/keymap.h.mako index b52375a5..9170117d 100644 --- a/hid/src/keymap.h.mako +++ b/hid/src/keymap.h.mako @@ -29,8 +29,8 @@ <%! import operator %> INLINE KeyboardKeycode keymap(uint8_t code) { switch(code) { -% for km in sorted(keymap, key=operator.attrgetter("arduino_key")): - case ${km.serial_code}: return ${km.arduino_key}; +% for km in sorted(keymap, key=operator.attrgetter("arduino_name")): + case ${km.serial_code}: return ${km.arduino_name}; % endfor default: return KEY_ERROR_UNDEFINED; } @@ -23,98 +23,99 @@ # https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values # https://github.com/NicoHood/HID/blob/master/src/KeyboardLayouts/ImprovedKeylayouts.h # https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2 +# https://github.com/qemu/keycodemapdb/blob/master/data/keymaps.csv -# ----------------------------------------------------------------------------------- -# Web | Serial code | Arduino key | OTG code + modifier flag -# ----------------------------------------------------------------------------------- -KeyA 1 KEY_A 0x04 - -KeyB 2 KEY_B 0x05 - -KeyC 3 KEY_C 0x06 - -KeyD 4 KEY_D 0x07 - -KeyE 5 KEY_E 0x08 - -KeyF 6 KEY_F 0x09 - -KeyG 7 KEY_G 0x0a - -KeyH 8 KEY_H 0x0b - -KeyI 9 KEY_I 0x0c - -KeyJ 10 KEY_J 0x0d - -KeyK 11 KEY_K 0x0e - -KeyL 12 KEY_L 0x0f - -KeyM 13 KEY_M 0x10 - -KeyN 14 KEY_N 0x11 - -KeyO 15 KEY_O 0x12 - -KeyP 16 KEY_P 0x13 - -KeyQ 17 KEY_Q 0x14 - -KeyR 18 KEY_R 0x15 - -KeyS 19 KEY_S 0x16 - -KeyT 20 KEY_T 0x17 - -KeyU 21 KEY_U 0x18 - -KeyV 22 KEY_V 0x19 - -KeyW 23 KEY_W 0x1a - -KeyX 24 KEY_X 0x1b - -KeyY 25 KEY_Y 0x1c - -KeyZ 26 KEY_Z 0x1d - -Digit1 27 KEY_1 0x1e - -Digit2 28 KEY_2 0x1f - -Digit3 29 KEY_3 0x20 - -Digit4 30 KEY_4 0x21 - -Digit5 31 KEY_5 0x22 - -Digit6 32 KEY_6 0x23 - -Digit7 33 KEY_7 0x24 - -Digit8 34 KEY_8 0x25 - -Digit9 35 KEY_9 0x26 - -Digit0 36 KEY_0 0x27 - -Enter 37 KEY_ENTER 0x28 - -Escape 38 KEY_ESC 0x29 - -Backspace 39 KEY_BACKSPACE 0x2a - -Tab 40 KEY_TAB 0x2b - -Space 41 KEY_SPACE 0x2c - -Minus 42 KEY_MINUS 0x2d - -Equal 43 KEY_EQUAL 0x2e - -BracketLeft 44 KEY_LEFT_BRACE 0x2f - -BracketRight 45 KEY_RIGHT_BRACE 0x30 - -Backslash 46 KEY_BACKSLASH 0x31 - -Semicolon 47 KEY_SEMICOLON 0x33 - -Quote 48 KEY_QUOTE 0x34 - -Backquote 49 KEY_TILDE 0x35 - -Comma 50 KEY_COMMA 0x36 - -Period 51 KEY_PERIOD 0x37 - -Slash 52 KEY_SLASH 0x38 - -CapsLock 53 KEY_CAPS_LOCK 0x39 - -F1 54 KEY_F1 0x3a - -F2 55 KEY_F2 0x3b - -F3 56 KEY_F3 0x3c - -F4 57 KEY_F4 0x3d - -F5 58 KEY_F5 0x3e - -F6 59 KEY_F6 0x3f - -F7 60 KEY_F7 0x40 - -F8 61 KEY_F8 0x41 - -F9 62 KEY_F9 0x42 - -F10 63 KEY_F10 0x43 - -F11 64 KEY_F11 0x44 - -F12 65 KEY_F12 0x45 - -PrintScreen 66 KEY_PRINT 0x46 - -Insert 67 KEY_INSERT 0x49 - -Home 68 KEY_HOME 0x4a - -PageUp 69 KEY_PAGE_UP 0x4b - -Delete 70 KEY_DELETE 0x4c - -End 71 KEY_END 0x4d - -PageDown 72 KEY_PAGE_DOWN 0x4e - -ArrowRight 73 KEY_RIGHT_ARROW 0x4f - -ArrowLeft 74 KEY_LEFT_ARROW 0x50 - -ArrowDown 75 KEY_DOWN_ARROW 0x51 - -ArrowUp 76 KEY_UP_ARROW 0x52 - -ControlLeft 77 KEY_LEFT_CTRL 0x01 m -ShiftLeft 78 KEY_LEFT_SHIFT 0x02 m -AltLeft 79 KEY_LEFT_ALT 0x04 m -MetaLeft 80 KEY_LEFT_GUI 0x08 m -ControlRight 81 KEY_RIGHT_CTRL 0x10 m -ShiftRight 82 KEY_RIGHT_SHIFT 0x20 m -AltRight 83 KEY_RIGHT_ALT 0x40 m -MetaRight 84 KEY_RIGHT_GUI 0x80 m -Pause 85 KEY_PAUSE 0x48 - -ScrollLock 86 KEY_SCROLL_LOCK 0x47 - -NumLock 87 KEY_NUM_LOCK 0x53 - -ContextMenu 88 KEY_MENU 0x65 - +# ---------------------------------------------------------------------------------------------------------------- +# Web | Serial code | Arduino key | OTG code + modifier flag | AT set1 | X11 keysyms +# ---------------------------------------------------------------------------------------------------------------- +KeyA 1 KEY_A 0x04 - 0x1e XK_A,XK_a +KeyB 2 KEY_B 0x05 - 0x30 XK_B,XK_b +KeyC 3 KEY_C 0x06 - 0x2e XK_C,XK_c +KeyD 4 KEY_D 0x07 - 0x20 XK_D,XK_d +KeyE 5 KEY_E 0x08 - 0x12 XK_E,XK_e +KeyF 6 KEY_F 0x09 - 0x21 XK_F,XK_f +KeyG 7 KEY_G 0x0a - 0x22 XK_G,XK_g +KeyH 8 KEY_H 0x0b - 0x23 XK_H,XK_h +KeyI 9 KEY_I 0x0c - 0x17 XK_I,XK_i +KeyJ 10 KEY_J 0x0d - 0x24 XK_J,XK_j +KeyK 11 KEY_K 0x0e - 0x25 XK_K,XK_k +KeyL 12 KEY_L 0x0f - 0x26 XK_L,XK_l +KeyM 13 KEY_M 0x10 - 0x32 XK_M,XK_m +KeyN 14 KEY_N 0x11 - 0x31 XK_N,XK_n +KeyO 15 KEY_O 0x12 - 0x18 XK_O,XK_o +KeyP 16 KEY_P 0x13 - 0x19 XK_P,XK_p +KeyQ 17 KEY_Q 0x14 - 0x10 XK_Q,XK_q +KeyR 18 KEY_R 0x15 - 0x13 XK_R,XK_r +KeyS 19 KEY_S 0x16 - 0x1f XK_S,XK_s +KeyT 20 KEY_T 0x17 - 0x14 XK_T,XK_t +KeyU 21 KEY_U 0x18 - 0x16 XK_U,XK_u +KeyV 22 KEY_V 0x19 - 0x2f XK_V,XK_v +KeyW 23 KEY_W 0x1a - 0x11 XK_W,XK_w +KeyX 24 KEY_X 0x1b - 0x2d XK_X,XK_x +KeyY 25 KEY_Y 0x1c - 0x15 XK_Y,XK_y +KeyZ 26 KEY_Z 0x1d - 0x2c XK_Z,XK_z +Digit1 27 KEY_1 0x1e - 0x02 XK_1,XK_exclam +Digit2 28 KEY_2 0x1f - 0x03 XK_2,XK_at +Digit3 29 KEY_3 0x20 - 0x04 XK_3,XK_numbersign +Digit4 30 KEY_4 0x21 - 0x05 XK_4,XK_dollar +Digit5 31 KEY_5 0x22 - 0x06 XK_5,XK_percent +Digit6 32 KEY_6 0x23 - 0x07 XK_6,XK_asciicircum +Digit7 33 KEY_7 0x24 - 0x08 XK_7,XK_ampersand +Digit8 34 KEY_8 0x25 - 0x09 XK_8,XK_asterisk +Digit9 35 KEY_9 0x26 - 0x0a XK_9,XK_parenleft +Digit0 36 KEY_0 0x27 - 0x0b XK_0,XK_parenright +Enter 37 KEY_ENTER 0x28 - 0x1c XK_Return +Escape 38 KEY_ESC 0x29 - 0x01 XK_Escape +Backspace 39 KEY_BACKSPACE 0x2a - 0x0e XK_BackSpace +Tab 40 KEY_TAB 0x2b - 0x0f XK_Tab +Space 41 KEY_SPACE 0x2c - 0x39 XK_space +Minus 42 KEY_MINUS 0x2d - 0x0c XK_minus,XK_underscore +Equal 43 KEY_EQUAL 0x2e - 0x0d XK_equal,XK_plus +BracketLeft 44 KEY_LEFT_BRACE 0x2f - 0x1a XK_bracketleft,XK_braceleft +BracketRight 45 KEY_RIGHT_BRACE 0x30 - 0x1b XK_bracketright,XK_braceright +Backslash 46 KEY_BACKSLASH 0x31 - 0x2b XK_backslash,XK_bar +Semicolon 47 KEY_SEMICOLON 0x33 - 0x27 XK_semicolon,XK_colon +Quote 48 KEY_QUOTE 0x34 - 0x28 XK_apostrophe,XK_quotedbl +Backquote 49 KEY_TILDE 0x35 - 0x29 XK_grave,XK_asciitilde +Comma 50 KEY_COMMA 0x36 - 0x33 XK_comma,XK_less +Period 51 KEY_PERIOD 0x37 - 0x34 XK_period,XK_greater +Slash 52 KEY_SLASH 0x38 - 0x35 XK_slash,XK_question +CapsLock 53 KEY_CAPS_LOCK 0x39 - 0x3a XK_Caps_Lock +F1 54 KEY_F1 0x3a - 0x3b XK_F1 +F2 55 KEY_F2 0x3b - 0x3c XK_F2 +F3 56 KEY_F3 0x3c - 0x3d XK_F3 +F4 57 KEY_F4 0x3d - 0x3e XK_F4 +F5 58 KEY_F5 0x3e - 0x3f XK_F5 +F6 59 KEY_F6 0x3f - 0x40 XK_F6 +F7 60 KEY_F7 0x40 - 0x41 XK_F7 +F8 61 KEY_F8 0x41 - 0x42 XK_F8 +F9 62 KEY_F9 0x42 - 0x43 XK_F9 +F10 63 KEY_F10 0x43 - 0x44 XK_F10 +F11 64 KEY_F11 0x44 - 0x57 XK_F11 +F12 65 KEY_F12 0x45 - 0x58 XK_F12 +PrintScreen 66 KEY_PRINT 0x46 - 0x54 XK_Sys_Req +Insert 67 KEY_INSERT 0x49 - 0xe052 XK_Insert +Home 68 KEY_HOME 0x4a - 0xe047 XK_Home +PageUp 69 KEY_PAGE_UP 0x4b - 0xe049 XK_Page_Up +Delete 70 KEY_DELETE 0x4c - 0xe053 XK_Delete +End 71 KEY_END 0x4d - 0xe04f XK_End +PageDown 72 KEY_PAGE_DOWN 0x4e - 0xe051 XK_Page_Down +ArrowRight 73 KEY_RIGHT_ARROW 0x4f - 0xe04d XK_Right +ArrowLeft 74 KEY_LEFT_ARROW 0x50 - 0xe04b XK_Left +ArrowDown 75 KEY_DOWN_ARROW 0x51 - 0xe050 XK_Down +ArrowUp 76 KEY_UP_ARROW 0x52 - 0xe048 XK_Up +ControlLeft 77 KEY_LEFT_CTRL 0x01 m 0x1d XK_Control_L +ShiftLeft 78 KEY_LEFT_SHIFT 0x02 m 0x2a XK_Shift_L +AltLeft 79 KEY_LEFT_ALT 0x04 m 0x38 XK_Alt_L +MetaLeft 80 KEY_LEFT_GUI 0x08 m 0xe05b XK_Meta_L +ControlRight 81 KEY_RIGHT_CTRL 0x10 m 0xe01d XK_Control_R +ShiftRight 82 KEY_RIGHT_SHIFT 0x20 m 0x36 XK_Shift_R +AltRight 83 KEY_RIGHT_ALT 0x40 m 0xe038 XK_Alt_R +MetaRight 84 KEY_RIGHT_GUI 0x80 m 0xe05c XK_Meta_R +Pause 85 KEY_PAUSE 0x48 - 0xe046 XK_Pause +ScrollLock 86 KEY_SCROLL_LOCK 0x47 - 0x46 XK_Scroll_Lock +NumLock 87 KEY_NUM_LOCK 0x53 - 0x45 XK_Num_Lock +ContextMenu 88 KEY_MENU 0x65 - 0xe05d XK_Menu # KEY_NON_US_NUM # KEYPAD_DIVIDE # KEYPAD_MULTIPLY diff --git a/kvmd/apps/__init__.py b/kvmd/apps/__init__.py index c3b3a5f2..8d0ce28f 100644 --- a/kvmd/apps/__init__.py +++ b/kvmd/apps/__init__.py @@ -320,4 +320,29 @@ def _get_config_scheme() -> Dict: "file": Option("/etc/kvmd/ipmipasswd", type=valid_abs_file, unpack_as="path"), }, }, + + "vnc": { + "keymap": Option("", type=valid_abs_path), + + "server": { + "host": Option("::", type=valid_ip_or_host), + "port": Option(5900, type=valid_port), + # TODO: timeout + "max_clients": Option(10, type=(lambda arg: valid_number(arg, min=1))), + }, + + "kvmd": { + "host": Option("localhost", type=valid_ip_or_host), + "port": Option(0, type=valid_port), + "unix": Option("", type=valid_abs_path, only_if="!port", unpack_as="unix_path"), + "timeout": Option(5.0, type=valid_float_f01), + }, + + "streamer": { + "host": Option("localhost", type=valid_ip_or_host), + "port": Option(0, type=valid_port), + "unix": Option("", type=valid_abs_path, only_if="!port", unpack_as="unix_path"), + "timeout": Option(5.0, type=valid_float_f01), + }, + }, } diff --git a/kvmd/apps/vnc/__init__.py b/kvmd/apps/vnc/__init__.py new file mode 100644 index 00000000..49f7fcbe --- /dev/null +++ b/kvmd/apps/vnc/__init__.py @@ -0,0 +1,48 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +from typing import List +from typing import Optional + +from .. import init + +from .kvmd import KvmdClient +from .streamer import StreamerClient +from .server import VncServer +from .keysym import build_symmap + + +# ===== +def main(argv: Optional[List[str]]=None) -> None: + config = init( + prog="kvmd-vnc", + description="VNC to KVMD proxy", + argv=argv, + )[2].vnc + + # pylint: disable=protected-access + VncServer( + kvmd=KvmdClient(**config.kvmd._unpack()), + streamer=StreamerClient(**config.streamer._unpack()), + symmap=build_symmap(config.keymap), + **config.server._unpack(), + ).run() diff --git a/kvmd/apps/vnc/__main__.py b/kvmd/apps/vnc/__main__.py new file mode 100644 index 00000000..689fbbd1 --- /dev/null +++ b/kvmd/apps/vnc/__main__.py @@ -0,0 +1,24 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +from . import main +main() diff --git a/kvmd/apps/vnc/fonts/Azbuka04.ttf b/kvmd/apps/vnc/fonts/Azbuka04.ttf Binary files differnew file mode 100644 index 00000000..16ade315 --- /dev/null +++ b/kvmd/apps/vnc/fonts/Azbuka04.ttf diff --git a/kvmd/apps/vnc/keysym.py b/kvmd/apps/vnc/keysym.py new file mode 100644 index 00000000..5f35c28b --- /dev/null +++ b/kvmd/apps/vnc/keysym.py @@ -0,0 +1,97 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +import pkgutil +import functools + +from typing import Dict + +import Xlib.keysymdef + +from ...logging import get_logger + +from ... import keymap + + +# ===== +def build_symmap(path: str) -> Dict[int, str]: + # https://github.com/qemu/qemu/blob/95a9457fd44ad97c518858a4e1586a5498f9773c/ui/keymaps.c + + symmap: Dict[int, str] = {} + for (x11_code, at1_code) in keymap.X11_TO_AT1.items(): + symmap[x11_code] = keymap.AT1_TO_WEB[at1_code] + + for (x11_code, at1_code) in _read_keyboard_layout(path).items(): + if (web_name := keymap.AT1_TO_WEB.get(at1_code)) is not None: # noqa: E203,E231 + # mypy bug + symmap[x11_code] = web_name # type: ignore + return symmap + + +# ===== [email protected]_cache() +def _get_keysyms() -> Dict[str, int]: + keysyms: Dict[str, int] = {} + for (loader, module_name, _) in pkgutil.walk_packages(Xlib.keysymdef.__path__): + module = loader.find_module(module_name).load_module(module_name) + for keysym_name in dir(module): + if keysym_name.startswith("XK_"): + short_name = keysym_name[3:] + if short_name.startswith("XF86_"): + short_name = "XF86" + short_name[5:] + # assert short_name not in keysyms, short_name + keysyms[short_name] = int(getattr(module, keysym_name)) + return keysyms + + +def _resolve_keysym(name: str) -> int: + code = _get_keysyms().get(name) + if code is not None: + return code + if len(name) == 5 and name[0] == "U": # Try unicode Uxxxx + try: + return int(name[1:], 16) + except ValueError: + pass + return 0 + + +def _read_keyboard_layout(path: str) -> Dict[int, int]: # Keysym to evdev (at1) + logger = get_logger(0) + logger.info("Reading keyboard layout %s ...", path) + + with open(path) as layout_file: + lines = list(map(str.strip, layout_file.read().split("\n"))) + + layout: Dict[int, int] = {} + for (number, line) in enumerate(lines): + if len(line) == 0 or line.startswith(("#", "map ", "include ")): + continue + + parts = line.split() + if len(parts) >= 2: + if (code := _resolve_keysym(parts[0])) != 0: # noqa: E203,E231 + try: + layout[code] = int(parts[1], 16) + except ValueError as err: + logger.error("Can't parse layout line #%d: %s", number, str(err)) + return layout diff --git a/kvmd/apps/vnc/kvmd.py b/kvmd/apps/vnc/kvmd.py new file mode 100644 index 00000000..d921ad43 --- /dev/null +++ b/kvmd/apps/vnc/kvmd.py @@ -0,0 +1,110 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +import contextlib + +from typing import Dict + +import aiohttp + +from ...logging import get_logger + +from ... import __version__ + + +# ===== +class KvmdClient: + def __init__( + self, + host: str, + port: int, + unix_path: str, + timeout: float, + ) -> None: + + assert port or unix_path + self.__host = host + self.__port = port + self.__unix_path = unix_path + self.__timeout = timeout + + # ===== + + async def authorize(self, user: str, passwd: str) -> bool: + try: + async with self.__make_session(user, passwd) as session: + async with session.get( + url=f"http://{self.__host}:{self.__port}/auth/check", + timeout=self.__timeout, + ) as response: + response.raise_for_status() + if response.status == 200: + return True + raise RuntimeError(f"Invalid OK response: {response.status} {await response.text()}") + except aiohttp.ClientResponseError as err: + if err.status in [401, 403]: + return False + get_logger(0).exception("Can't check user access") + except Exception: + get_logger(0).exception("Can't check user access") + return False + + @contextlib.asynccontextmanager + async def ws(self, user: str, passwd: str) -> aiohttp.ClientWebSocketResponse: # pylint: disable=invalid-name + async with self.__make_session(user, passwd) as session: + async with session.ws_connect( + url=f"http://{self.__host}:{self.__port}/ws", + timeout=self.__timeout, + ) as ws: + yield ws + + async def set_streamer_params(self, user: str, passwd: str, quality: int=-1, desired_fps: int=-1) -> None: + params = { + key: value + for (key, value) in [ + ("quality", quality), + ("desired_fps", desired_fps), + ] + if value >= 0 + } + if params: + async with self.__make_session(user, passwd) as session: + async with session.post( + url=f"http://{self.__host}:{self.__port}/streamer/set_params", + timeout=self.__timeout, + params=params, + ) as response: + response.raise_for_status() + + # ===== + + def __make_session(self, user: str, passwd: str) -> aiohttp.ClientSession: + kwargs: Dict = { + "headers": { + "X-KVMD-User": user, + "X-KVMD-Passwd": passwd, + "User-Agent": f"KVMD-VNC/{__version__}", + }, + } + if self.__unix_path: + kwargs["connector"] = aiohttp.UnixConnector(path=self.__unix_path) + return aiohttp.ClientSession(**kwargs) diff --git a/kvmd/apps/vnc/render.py b/kvmd/apps/vnc/render.py new file mode 100644 index 00000000..f65f1405 --- /dev/null +++ b/kvmd/apps/vnc/render.py @@ -0,0 +1,53 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +import sys +import os +import io +import functools + +from PIL import Image +from PIL import ImageDraw +from PIL import ImageFont + +from ... import aiotools + + +# ===== +async def make_text_jpeg(width: int, height: int, quality: int, text: str) -> bytes: + return (await aiotools.run_async(_inner_make_text_jpeg, width, height, quality, text)) + + [email protected]_cache(maxsize=10) +def _inner_make_text_jpeg(width: int, height: int, quality: int, text: str) -> bytes: + image = Image.new("RGB", (width, height), color=(0, 0, 0)) + draw = ImageDraw.Draw(image) + draw.multiline_text((20, 20), text, font=_get_font(), fill=(255, 255, 255)) + bio = io.BytesIO() + image.save(bio, format="jpeg", quality=quality) + return bio.getvalue() + + [email protected]_cache() +def _get_font() -> ImageFont.FreeTypeFont: + path = os.path.join(os.path.dirname(sys.modules[__name__].__file__), "fonts", "Azbuka04.ttf") + return ImageFont.truetype(path, size=20) diff --git a/kvmd/apps/vnc/rfb.py b/kvmd/apps/vnc/rfb.py new file mode 100644 index 00000000..450024c4 --- /dev/null +++ b/kvmd/apps/vnc/rfb.py @@ -0,0 +1,437 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +import asyncio +import struct +import dataclasses + +from typing import Tuple +from typing import Dict +from typing import FrozenSet +from typing import Coroutine +from typing import Any + +from ...logging import get_logger + +from ... import aiotools + + +# ===== +class RfbError(Exception): + pass + + +class RfbConnectionError(RfbError): + def __init__(self, err: Exception) -> None: + super().__init__(f"Gone ({type(err).__name__})") + + +# ===== +_ENCODING_RESIZE = -223 # DesktopSize Pseudo-encoding +_ENCODING_RENAME = -307 # DesktopName Pseudo-encoding +_ENCODING_LEDS_STATE = -261 # LED State Pseudo-encoding + +_ENCODING_TIGHT = 7 +_ENCODING_TIGHT_JPEG_QUALITIES = dict(zip( # JPEG Quality Level Pseudo-encoding + [-32, -31, -30, -29, -28, -27, -26, -25, -24, -23], + [10, 20, 30, 40, 50, 60, 70, 80, 90, 100], +)) + + [email protected](frozen=True) +class _Encodings: + encodings: FrozenSet[int] + + has_resize: bool = dataclasses.field(default=False) + has_rename: bool = dataclasses.field(default=False) + has_leds_state: bool = dataclasses.field(default=False) + + has_tight: bool = dataclasses.field(default=False) + tight_jpeg_quality: int = dataclasses.field(default=0) + + def __post_init__(self) -> None: + self.__set("has_resize", (_ENCODING_RESIZE in self.encodings)) + self.__set("has_rename", (_ENCODING_RENAME in self.encodings)) + self.__set("has_leds_state", (_ENCODING_LEDS_STATE in self.encodings)) + + self.__set("has_tight", (_ENCODING_TIGHT in self.encodings)) + self.__set("tight_jpeg_quality", self.__get_tight_jpeg_quality()) + + def __set(self, key: str, value: Any) -> None: + object.__setattr__(self, key, value) + + def __get_tight_jpeg_quality(self) -> int: + if _ENCODING_TIGHT in self.encodings: + qualities = self.encodings.intersection(_ENCODING_TIGHT_JPEG_QUALITIES) + if qualities: + return _ENCODING_TIGHT_JPEG_QUALITIES[max(qualities)] + return 0 + + +class RfbClient: # pylint: disable=too-many-instance-attributes + # https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst + # https://www.toptal.com/java/implementing-remote-framebuffer-server-java + # https://github.com/TigerVNC/tigervnc + + def __init__( + self, + reader: asyncio.StreamReader, + writer: asyncio.StreamWriter, + + width: int, + height: int, + name: str, + ) -> None: + + self.__reader = reader + self.__writer = writer + + self._remote = "[%s]:%d" % (self.__writer.transport.get_extra_info("peername")[:2]) + + self._width = width + self._height = height + self._name = name + + self._encodings = _Encodings(frozenset()) + + self._lock = asyncio.Lock() + + get_logger(0).info("Connected client: %s", self._remote) + + # ===== + + async def _run(self, **coros: Coroutine) -> None: + tasks = list(map(asyncio.create_task, [ + self.__wrapper(name, coro) + for (name, coro) in {"main": self.__main_task_loop(), **coros}.items() + ])) + try: + await aiotools.wait_first(*tasks) + finally: + for task in tasks: + task.cancel() + + async def __wrapper(self, name: str, coro: Coroutine) -> None: + logger = get_logger(0) + try: + await coro + raise RuntimeError("Subtask just finished without any exception") + except asyncio.CancelledError: + logger.info("[%s] Client %s: Cancelling ...", name, self._remote) + raise + except RfbError as err: + logger.info("[%s] Client %s: %s: Disconnected", name, self._remote, str(err)) + except Exception: + logger.exception("[%s] Unhandled exception with client %s: Disconnected", name, self._remote) + + async def __main_task_loop(self) -> None: + try: + rfb_version = await self.__handshake_version() + await self.__handshake_security(rfb_version) + await self.__handshake_init() + await self.__main_loop() + finally: + try: + self.__writer.close() + except Exception: + pass + + # ===== + + async def _authorize(self, user: str, passwd: str) -> bool: + raise NotImplementedError + + async def _on_key_event(self, code: int, state: bool) -> None: + raise NotImplementedError + + async def _on_pointer_event(self, buttons: Dict[str, bool], wheel: Dict[str, int], move: Dict[str, int]) -> None: + raise NotImplementedError + + async def _on_cut_event(self, text: str) -> None: + raise NotImplementedError + + async def _on_set_encodings(self) -> None: + raise NotImplementedError + + async def _on_fb_update_request(self) -> None: + raise NotImplementedError + + # ===== + + async def _send_fb(self, jpeg: bytes) -> None: + assert self._encodings.has_tight + assert self._encodings.tight_jpeg_quality > 0 + assert len(jpeg) <= 4194303, len(jpeg) + await self.__write_fb_update(self._width, self._height, _ENCODING_TIGHT, drain=False) + length = len(jpeg) + if length <= 127: + await self.__write_struct("", bytes([0b10011111, length & 0x7F]), jpeg) + elif length <= 16383: + await self.__write_struct("", bytes([0b10011111, length & 0x7F | 0x80, length >> 7 & 0x7F]), jpeg) + else: + await self.__write_struct("", bytes([0b10011111, length & 0x7F | 0x80, length >> 7 & 0x7F | 0x80, length >> 14 & 0xFF]), jpeg) + + async def _send_resize(self, width: int, height: int) -> None: + assert self._encodings.has_resize + await self.__write_fb_update(width, height, _ENCODING_RESIZE) + self._width = width + self._height = height + + async def _send_rename(self, name: str) -> None: + assert self._encodings.has_rename + await self.__write_fb_update(0, 0, _ENCODING_RENAME, drain=False) + await self.__write_reason(name) + self._name = name + + async def _send_leds_state(self, caps: bool, scroll: bool, num: bool) -> None: + assert self._encodings.has_leds_state + await self.__write_fb_update(0, 0, _ENCODING_LEDS_STATE, drain=False) + await self.__write_struct("B", 0x1 & scroll | 0x2 & num | 0x4 & caps) + + # ===== + + async def __handshake_version(self) -> int: + # The only published protocol versions at this time are 3.3, 3.7, 3.8. + # Version 3.5 was wrongly reported by some clients, but it should be + # interpreted by all servers as 3.3 + + await self.__write_struct("", b"RFB 003.008\n") + + response = await self.__read_text(12) + if ( + not response.startswith("RFB 003.00") + or not response.endswith("\n") + or response[-2] not in ["3", "5", "7", "8"] + ): + raise RfbError(f"Invalid version response: {response!r}") + + try: + version = int(response[-2]) + except ValueError: + raise RfbError(f"Invalid version response: {response!r}") + return (3 if version == 5 else version) + + # ===== + + async def __handshake_security(self, rfb_version: int) -> None: + if rfb_version == 3: + await self.__handshake_security_v3(rfb_version) + else: + await self.__handshake_security_v7_plus(rfb_version) + + async def __handshake_security_v3(self, rfb_version: int) -> None: + assert rfb_version == 3 + + await self.__write_struct("L", 0, drain=False) # Refuse old clients using the invalid security type + msg = "The client uses a very old protocol 3.3; required 3.7 at least" + await self.__write_reason(msg) + raise RfbError(msg) + + async def __handshake_security_v7_plus(self, rfb_version: int) -> None: + assert rfb_version >= 7 + + vencrypt = 19 + await self.__write_struct("B B", 1, vencrypt) # One security type, VeNCrypt + + security_type = await self.__read_number("B") + if security_type != vencrypt: + raise RfbError(f"Invalid security type: {security_type}; expected VeNCrypt({vencrypt})") + + # ----- + + await self.__write_struct("BB", 0, 2) # VeNCrypt 0.2 + + vencrypt_version = "%d.%d" % (await self.__read_struct("BB")) + if vencrypt_version != "0.2": + await self.__write_struct("B", 1) # Unsupported + raise RfbError(f"Unsupported VeNCrypt version: {vencrypt_version}") + + await self.__write_struct("B", 0) + + # ----- + + plain = 256 + await self.__write_struct("B L", 1, plain) # One auth subtype, plain + + auth_type = await self.__read_number("L") + if auth_type != plain: + raise RfbError(f"Invalid auth type: {auth_type}; expected Plain({plain})") + + # ----- + + (user_length, passwd_length) = await self.__read_struct("LL") + user = await self.__read_text(user_length) + passwd = await self.__read_text(passwd_length) + + if (await self._authorize(user, passwd)): + get_logger(0).info("[main] Client %s: Access granted for user %r", self._remote, user) + await self.__write_struct("L", 0) + else: + await self.__write_struct("L", 1, drain=(rfb_version < 8)) + if rfb_version >= 8: + await self.__write_reason("Invalid username or password") + raise RfbError(f"Access denied for user {user!r}") + + # ===== + + async def __handshake_init(self) -> None: + await self.__read_number("B") # Shared flag, ignored + + await self.__write_struct("HH", self._width, self._height, drain=False) + await self.__write_struct( + "BB?? HHH BBB xxx", + 32, # Bits per pixel + 24, # Depth + False, # Big endian + True, # True color + 255, # Red max + 255, # Green max + 255, # Blue max + 16, # Red shift + 8, # Green shift + 0, # Blue shift + drain=False, + ) + await self.__write_reason(self._name) + + # ===== + + async def __main_loop(self) -> None: + while True: + msg_type = await self.__read_number("B") + + async with self._lock: + if msg_type == 0: # SetPixelFormat + # JpegCompression may only be used when bits-per-pixel is either 16 or 32 + bits_per_pixel = (await self.__read_struct("xxx BB?? HHH BBB xxx"))[0] + if bits_per_pixel not in [16, 32]: + raise RfbError(f"Requested unsupported {bits_per_pixel=} for Tight JPEG; required 16 or 32") + + elif msg_type == 2: # SetEncodings + encodings_count = (await self.__read_struct("x H"))[0] + if encodings_count > 1024: + raise RfbError(f"Too many encodings: {encodings_count}") + self._encodings = _Encodings(frozenset(await self.__read_struct("l" * encodings_count))) + self.__check_tight_jpeg() + await self._on_set_encodings() + + elif msg_type == 3: # FramebufferUpdateRequest + self.__check_tight_jpeg() # If we don't receive SetEncodings from client + await self.__read_struct("? HH HH") # Ignore any arguments, just perform the full update + await self._on_fb_update_request() + + elif msg_type == 4: # KeyEvent + (state, code) = await self.__read_struct("? xx L") + await self._on_key_event(code, state) # type: ignore + + elif msg_type == 5: # PointerEvent + (buttons, to_x, to_y) = await self.__read_struct("B HH") + await self._on_pointer_event( + buttons={ + "left": bool(buttons & 0x1), + "right": bool(buttons & 0x4), + "middle": bool(buttons & 0x2), + }, + wheel={ + "x": (32 if buttons & 0x40 else (-32 if buttons & 0x20 else 0)), + "y": (32 if buttons & 0x10 else (-32 if buttons & 0x8 else 0)), + }, + move={ + "x": round(to_x / self._width * 65535 + -32768), + "y": round(to_y / self._width * 65535 + -32768), + }, + ) + + elif msg_type == 6: # ClientCutText + await self._on_cut_event(await self.__read_text((await self.__read_struct("xxx L"))[0])) + + else: + raise RfbError(f"Unknown message type: {msg_type}") + + def __check_tight_jpeg(self) -> None: + # JpegCompression may only be used when the client has advertized + # a quality level using the JPEG Quality Level Pseudo-encoding + if not self._encodings.has_tight or self._encodings.tight_jpeg_quality == 0: + raise RfbError(f"Tight JPEG encoding is not supported by client: {self._encodings}") + + # ===== + + async def __read_number(self, fmt: str) -> int: + assert len(fmt) == 1 + try: + if fmt == "B": + return (await self.__reader.readexactly(1))[0] + else: + fmt = f">{fmt}" + return struct.unpack(fmt, await self.__reader.readexactly(struct.calcsize(fmt)))[0] + except (ConnectionError, asyncio.IncompleteReadError) as err: + raise RfbConnectionError(err) + + async def __read_struct(self, fmt: str) -> Tuple[int, ...]: + assert len(fmt) > 1 + try: + fmt = f">{fmt}" + return struct.unpack(fmt, (await self.__reader.readexactly(struct.calcsize(fmt)))) + except (ConnectionError, asyncio.IncompleteReadError) as err: + raise RfbConnectionError(err) + + async def __read_text(self, length: int) -> str: + try: + return (await self.__reader.readexactly(length)).decode("utf-8", errors="ignore") + except (ConnectionError, asyncio.IncompleteReadError) as err: + raise RfbConnectionError(err) + + # ===== + + async def __write_struct(self, fmt: str, *values: Any, drain: bool=True) -> None: + try: + if not fmt: + for value in values: + self.__writer.write(value) + elif fmt == "B": + assert len(values) == 1 + self.__writer.write(bytes([values[0]])) + else: + self.__writer.write(struct.pack(f">{fmt}", *values)) + if drain: + await self.__writer.drain() + except ConnectionError as err: + raise RfbConnectionError(err) + + async def __write_reason(self, text: str, drain: bool=True) -> None: + encoded = text.encode("utf-8", errors="ignore") + await self.__write_struct("L", len(encoded), drain=False) + try: + self.__writer.write(encoded) + if drain: + await self.__writer.drain() + except ConnectionError as err: + raise RfbConnectionError(err) + + async def __write_fb_update(self, width: int, height: int, encoding: int, drain: bool=True) -> None: + await self.__write_struct( + "BxH HH HH l", + 0, # FB update + 1, # Number of rects + 0, 0, width, height, encoding, + drain=drain, + ) diff --git a/kvmd/apps/vnc/server.py b/kvmd/apps/vnc/server.py new file mode 100644 index 00000000..8ce78d41 --- /dev/null +++ b/kvmd/apps/vnc/server.py @@ -0,0 +1,307 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +import asyncio +import asyncio.queues +import socket +import dataclasses +import json + +from typing import Dict +from typing import Optional + +import aiohttp + +from ...logging import get_logger + +from ... import aiotools + +from .rfb import RfbClient + +from .kvmd import KvmdClient + +from .streamer import StreamerError +from .streamer import StreamerClient + +from .render import make_text_jpeg + + +# ===== +class _SharedParams: + width: int = dataclasses.field(default=800) + height: int = dataclasses.field(default=600) + name: str = dataclasses.field(default="Pi-KVM") + + +class _Client(RfbClient): # pylint: disable=too-many-instance-attributes + def __init__( + self, + reader: asyncio.StreamReader, + writer: asyncio.StreamWriter, + + kvmd: KvmdClient, + streamer: StreamerClient, + + symmap: Dict[int, str], + + shared_params: _SharedParams, + ) -> None: + + super().__init__(reader, writer, **dataclasses.asdict(shared_params)) + + self.__kvmd = kvmd + self.__streamer = streamer + self.__symmap = symmap + self.__shared_params = shared_params + + self.__authorized = asyncio.Future() # type: ignore + self.__ws_connected = asyncio.Future() # type: ignore + self.__ws_writer_queue: asyncio.queues.Queue = asyncio.Queue() + + self.__fb_requested = False + self.__fb_stub_text = "" + self.__fb_stub_quality = 0 + + # Эти состояния шарить не обязательно - бекенд исключает дублирующиеся события. + # Все это нужно только чтобы не посылать лишние жсоны в сокет KVMD + self.__mouse_buttons: Dict[str, Optional[bool]] = {"left": None, "right": None, "middle": None} + self.__mouse_move = {"x": -1, "y": -1} + + # ===== + + async def run(self) -> None: + await self._run( + kvmd=self.__kvmd_task_loop(), + streamer=self.__streamer_task_loop(), + ) + + # ===== + + async def __kvmd_task_loop(self) -> None: + logger = get_logger(0) + + await self.__authorized + (user, passwd) = self.__authorized.result() + + async with self.__kvmd.ws(user, passwd) as ws: + logger.info("[kvmd] Client %s: Connected to KVMD websocket", self._remote) + self.__ws_connected.set_result(None) + + receive_task: Optional[asyncio.Task] = None + writer_task: Optional[asyncio.Task] = None + try: + while True: + if receive_task is None: + receive_task = asyncio.create_task(ws.receive()) + if writer_task is None: + writer_task = asyncio.create_task(self.__ws_writer_queue.get()) + + done = (await aiotools.wait_first(receive_task, writer_task))[0] + + if receive_task in done: + msg = receive_task.result() + if msg.type == aiohttp.WSMsgType.TEXT: + await self.__process_ws_event(json.loads(msg.data)) + else: + raise RuntimeError(f"Unknown WS message type: {msg!r}") + receive_task = None + + if writer_task in done: + await ws.send_str(json.dumps(writer_task.result())) + writer_task = None + finally: + if receive_task: + receive_task.cancel() + if writer_task: + writer_task.cancel() + + async def __process_ws_event(self, event: Dict) -> None: + if event["event_type"] == "info_state": + host = event["event"]["meta"].get("server", {}).get("host") + if isinstance(host, str): + name = f"Pi-KVM: {host}" + async with self._lock: + if self._encodings.has_rename: + await self._send_rename(name) + self.__shared_params.name = name + + elif event["event_type"] == "hid_state": + async with self._lock: + if self._encodings.has_leds_state: + await self._send_leds_state(**event["event"]["keyboard"]["leds"]) + + # ===== + + async def __streamer_task_loop(self) -> None: + logger = get_logger(0) + await self.__ws_connected + while True: + try: + streaming = False + async for (online, width, height, jpeg) in self.__streamer.read(): + if not streaming: + logger.info("[streamer] Client %s: Streaming ...", self._remote) + streaming = True + if online: + await self.__send_fb_real(width, height, jpeg) + else: + await self.__send_fb_stub("No signal") + except StreamerError as err: + logger.info("[streamer] Client %s: Waiting for stream: %s", self._remote, str(err)) + await self.__send_fb_stub("Waiting for stream ...") + await asyncio.sleep(1) + + async def __send_fb_real(self, width: int, height: int, jpeg: bytes) -> None: + async with self._lock: + if self.__fb_requested: + if (self._width, self._height) != (width, height): + self.__shared_params.width = width + self.__shared_params.height = height + if not self._encodings.has_resize: + msg = f"Resoultion changed: {self._width}x{self._height} -> {width}x{height}\nPlease reconnect" + await self.__send_fb_stub(msg, no_lock=True) + return + await self._send_resize(width, height) + await self._send_fb(jpeg) + self.__fb_stub_text = "" + self.__fb_stub_quality = 0 + self.__fb_requested = False + + async def __send_fb_stub(self, text: str, no_lock: bool=False) -> None: + if not no_lock: + await self._lock.acquire() + try: + if self.__fb_requested and (self.__fb_stub_text != text or self.__fb_stub_quality != self._encodings.tight_jpeg_quality): + await self._send_fb(await make_text_jpeg(self._width, self._height, self._encodings.tight_jpeg_quality, text)) + self.__fb_stub_text = text + self.__fb_stub_quality = self._encodings.tight_jpeg_quality + self.__fb_requested = False + finally: + if not no_lock: + self._lock.release() + + # ===== + + async def _authorize(self, user: str, passwd: str) -> bool: + if (await self.__kvmd.authorize(user, passwd)): + self.__authorized.set_result((user, passwd)) + return True + return False + + async def _on_key_event(self, code: int, state: bool) -> None: + print("KeyEvent", code, state, self.__symmap.get(code)) # TODO + + async def _on_pointer_event(self, buttons: Dict[str, bool], wheel: Dict[str, int], move: Dict[str, int]) -> None: + for (button, state) in buttons.items(): + if self.__mouse_buttons[button] != state: + await self.__ws_writer_queue.put({ + "event_type": "mouse_button", + "event": {"button": button, "state": state}, + }) + self.__mouse_buttons[button] = state + + if wheel["x"] or wheel["y"]: + await self.__ws_writer_queue.put({ + "event_type": "mouse_wheel", + "event": {"delta": wheel}, + }) + + if self.__mouse_move != move: + await self.__ws_writer_queue.put({ + "event_type": "mouse_move", + "event": {"to": move}, + }) + self.__mouse_move = move + + async def _on_cut_event(self, text: str) -> None: + print("CutEvent", text) # TODO + + async def _on_set_encodings(self) -> None: + assert self.__authorized.done() + (user, passwd) = self.__authorized.result() + (quality, desired_fps) = (self._encodings.tight_jpeg_quality, 30) + get_logger(0).info("[main] Client %s: Applying streamer params: quality=%d%%; desired_fps=%d ...", + self._remote, quality, desired_fps) + await self.__kvmd.set_streamer_params(user, passwd, quality=quality, desired_fps=desired_fps) + + async def _on_fb_update_request(self) -> None: + self.__fb_requested = True + + +# ===== +class VncServer: + def __init__( + self, + host: str, + port: int, + max_clients: int, + + kvmd: KvmdClient, + streamer: StreamerClient, + + symmap: Dict[int, str], + ) -> None: + + self.__host = host + self.__port = port + self.__max_clients = max_clients + + self.__kvmd = kvmd + self.__streamer = streamer + + self.__symmap = symmap + + self.__shared_params = _SharedParams() + + def run(self) -> None: + logger = get_logger(0) + logger.info("Listening VNC on TCP [%s]:%d ...", self.__host, self.__port) + + sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) + sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, False) + sock.bind((self.__host, self.__port)) + + loop = asyncio.get_event_loop() + server = loop.run_until_complete(asyncio.start_server( + client_connected_cb=self.__handle_client, + sock=sock, + backlog=self.__max_clients, + loop=loop, + )) + + try: + loop.run_forever() + except (SystemExit, KeyboardInterrupt): + pass + finally: + server.close() + loop.run_until_complete(server.wait_closed()) + tasks = asyncio.Task.all_tasks() + for task in tasks: + task.cancel() + loop.run_until_complete(asyncio.gather(*tasks, return_exceptions=True)) + loop.close() + logger.info("Bye-bye") + + async def __handle_client(self, reader: asyncio.StreamReader, writer: asyncio.StreamWriter) -> None: + await _Client(reader, writer, self.__kvmd, self.__streamer, self.__symmap, self.__shared_params).run() diff --git a/kvmd/apps/vnc/streamer.py b/kvmd/apps/vnc/streamer.py new file mode 100644 index 00000000..62fce849 --- /dev/null +++ b/kvmd/apps/vnc/streamer.py @@ -0,0 +1,83 @@ +# ========================================================================== # +# # +# KVMD - The main Pi-KVM daemon. # +# # +# Copyright (C) 2020 Maxim Devaev <[email protected]> # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # + + +from typing import Tuple +from typing import Dict +from typing import AsyncGenerator + +import aiohttp + +from ... import __version__ + + +# ===== +class StreamerError(Exception): + pass + + +# ===== +class StreamerClient: + def __init__( + self, + host: str, + port: int, + unix_path: str, + timeout: float, + ) -> None: + + assert port or unix_path + self.__host = host + self.__port = port + self.__unix_path = unix_path + self.__timeout = timeout + + async def read(self) -> AsyncGenerator[Tuple[bool, int, int, bytes], None]: + try: + async with self.__make_session() as session: + async with session.get( + url=f"http://{self.__host}:{self.__port}/stream", + params={"extra_headers": "1"}, + headers={"User-Agent": f"KVMD-VNC/{__version__}"}, + ) as response: + response.raise_for_status() + reader = aiohttp.MultipartReader.from_response(response) + while True: + frame = await reader.next() + yield ( + (frame.headers["X-UStreamer-Online"] == "true"), + int(frame.headers["X-UStreamer-Width"]), + int(frame.headers["X-UStreamer-Height"]), + bytes(await frame.read()), + ) + except Exception as err: # Тут бывают и ассерты, и KeyError, и прочая херня из-за корявых исключений в MultipartReader + raise StreamerError(f"{type(err).__name__}: {str(err)}") + + def __make_session(self) -> aiohttp.ClientSession: + kwargs: Dict = { + "timeout": aiohttp.ClientTimeout( + connect=self.__timeout, + sock_read=self.__timeout, + ), + } + if self.__unix_path: + kwargs["connector"] = aiohttp.UnixConnector(path=self.__unix_path) + return aiohttp.ClientSession(**kwargs) diff --git a/kvmd/keymap.py b/kvmd/keymap.py index a263ea01..6e466f2f 100644 --- a/kvmd/keymap.py +++ b/kvmd/keymap.py @@ -398,3 +398,235 @@ KEYMAP: Dict[str, Key] = { otg=OtgKey(code=101, is_modifier=False), ), } + + +# ===== +X11_TO_AT1 = { + 65307: 1, + 33: 2, + 49: 2, + 50: 3, + 64: 3, + 35: 4, + 51: 4, + 36: 5, + 52: 5, + 37: 6, + 53: 6, + 54: 7, + 94: 7, + 38: 8, + 55: 8, + 42: 9, + 56: 9, + 40: 10, + 57: 10, + 41: 11, + 48: 11, + 45: 12, + 95: 12, + 43: 13, + 61: 13, + 65288: 14, + 65289: 15, + 81: 16, + 113: 16, + 87: 17, + 119: 17, + 69: 18, + 101: 18, + 82: 19, + 114: 19, + 84: 20, + 116: 20, + 89: 21, + 121: 21, + 85: 22, + 117: 22, + 73: 23, + 105: 23, + 79: 24, + 111: 24, + 80: 25, + 112: 25, + 91: 26, + 123: 26, + 93: 27, + 125: 27, + 65293: 28, + 65507: 29, + 65: 30, + 97: 30, + 83: 31, + 115: 31, + 68: 32, + 100: 32, + 70: 33, + 102: 33, + 71: 34, + 103: 34, + 72: 35, + 104: 35, + 74: 36, + 106: 36, + 75: 37, + 107: 37, + 76: 38, + 108: 38, + 58: 39, + 59: 39, + 34: 40, + 39: 40, + 96: 41, + 126: 41, + 65505: 42, + 92: 43, + 124: 43, + 90: 44, + 122: 44, + 88: 45, + 120: 45, + 67: 46, + 99: 46, + 86: 47, + 118: 47, + 66: 48, + 98: 48, + 78: 49, + 110: 49, + 77: 50, + 109: 50, + 44: 51, + 60: 51, + 46: 52, + 62: 52, + 47: 53, + 63: 53, + 65506: 54, + 65513: 56, + 32: 57, + 65509: 58, + 65470: 59, + 65471: 60, + 65472: 61, + 65473: 62, + 65474: 63, + 65475: 64, + 65476: 65, + 65477: 66, + 65478: 67, + 65479: 68, + 65407: 69, + 65300: 70, + 65301: 84, + 65480: 87, + 65481: 88, + 65508: 57373, + 65514: 57400, + 65299: 57414, + 65360: 57415, + 65362: 57416, + 65365: 57417, + 65361: 57419, + 65363: 57421, + 65367: 57423, + 65364: 57424, + 65366: 57425, + 65379: 57426, + 65535: 57427, + 65511: 57435, + 65512: 57436, + 65383: 57437, +} + + +AT1_TO_WEB = { + 1: "Escape", + 2: "Digit1", + 3: "Digit2", + 4: "Digit3", + 5: "Digit4", + 6: "Digit5", + 7: "Digit6", + 8: "Digit7", + 9: "Digit8", + 10: "Digit9", + 11: "Digit0", + 12: "Minus", + 13: "Equal", + 14: "Backspace", + 15: "Tab", + 16: "KeyQ", + 17: "KeyW", + 18: "KeyE", + 19: "KeyR", + 20: "KeyT", + 21: "KeyY", + 22: "KeyU", + 23: "KeyI", + 24: "KeyO", + 25: "KeyP", + 26: "BracketLeft", + 27: "BracketRight", + 28: "Enter", + 29: "ControlLeft", + 30: "KeyA", + 31: "KeyS", + 32: "KeyD", + 33: "KeyF", + 34: "KeyG", + 35: "KeyH", + 36: "KeyJ", + 37: "KeyK", + 38: "KeyL", + 39: "Semicolon", + 40: "Quote", + 41: "Backquote", + 42: "ShiftLeft", + 43: "Backslash", + 44: "KeyZ", + 45: "KeyX", + 46: "KeyC", + 47: "KeyV", + 48: "KeyB", + 49: "KeyN", + 50: "KeyM", + 51: "Comma", + 52: "Period", + 53: "Slash", + 54: "ShiftRight", + 56: "AltLeft", + 57: "Space", + 58: "CapsLock", + 59: "F1", + 60: "F2", + 61: "F3", + 62: "F4", + 63: "F5", + 64: "F6", + 65: "F7", + 66: "F8", + 67: "F9", + 68: "F10", + 69: "NumLock", + 70: "ScrollLock", + 84: "PrintScreen", + 87: "F11", + 88: "F12", + 57373: "ControlRight", + 57400: "AltRight", + 57414: "Pause", + 57415: "Home", + 57416: "ArrowUp", + 57417: "PageUp", + 57419: "ArrowLeft", + 57421: "ArrowRight", + 57423: "End", + 57424: "ArrowDown", + 57425: "PageDown", + 57426: "Insert", + 57427: "Delete", + 57435: "MetaLeft", + 57436: "MetaRight", + 57437: "ContextMenu", +} diff --git a/kvmd/keymap.py.mako b/kvmd/keymap.py.mako index 219cb186..0f9e7ef0 100644 --- a/kvmd/keymap.py.mako +++ b/kvmd/keymap.py.mako @@ -46,9 +46,26 @@ class Key: # ===== KEYMAP: Dict[str, Key] = { % for km in sorted(keymap, key=operator.attrgetter("serial_code")): - "${km.web_key}": Key( + "${km.web_name}": Key( serial=SerialKey(code=${km.serial_code}), otg=OtgKey(code=${km.otg_code}, is_modifier=${km.otg_is_modifier}), ), % endfor } + + +# ===== +X11_TO_AT1 = { +% for km in sorted(keymap, key=operator.attrgetter("at1_code")): + % for code in sorted(km.x11_codes): + ${code}: ${km.at1_code}, + % endfor +% endfor +} + + +AT1_TO_WEB = { +% for km in sorted(keymap, key=operator.attrgetter("at1_code")): + ${km.at1_code}: "${km.web_name}", +% endfor +} @@ -95,12 +95,17 @@ def main() -> None: "kvmd.apps.htpasswd", "kvmd.apps.cleanup", "kvmd.apps.ipmi", + "kvmd.apps.vnc", "kvmd.helpers", "kvmd.helpers.otgmsd", "kvmd.helpers.otgmsd.unlock", "kvmd.helpers.otgmsd.remount", ], + package_data={ + "kvmd.apps.vnc": ["fonts/*.ttf"], + }, + scripts=[ os.path.join("scripts", name) for name in os.listdir("scripts") @@ -115,6 +120,7 @@ def main() -> None: "kvmd-htpasswd = kvmd.apps.htpasswd:main", "kvmd-cleanup = kvmd.apps.cleanup:main", "kvmd-ipmi = kvmd.apps.ipmi:main", + "kvmd-vnc = kvmd.apps.vnc:main", "kvmd-helper-otgmsd-unlock = kvmd.helpers.otgmsd.unlock:main", "kvmd-helper-otgmsd-remount = kvmd.helpers.otgmsd.remount:main", ], diff --git a/testenv/linters/pylint.ini b/testenv/linters/pylint.ini index c1599884..1f333c6f 100644 --- a/testenv/linters/pylint.ini +++ b/testenv/linters/pylint.ini @@ -43,6 +43,9 @@ max-line-length = 160 # List of builtins function names that should not be used, separated by a comma bad-functions = +# Good variable names which should always be accepted, separated by a comma +good-names = _, __, x, y + # Regular expression matching correct method names method-rgx = [a-z_][a-z0-9_]{2,50}$ diff --git a/testenv/linters/vulture-wl.py b/testenv/linters/vulture-wl.py index c77fba91..c1b28e02 100644 --- a/testenv/linters/vulture-wl.py +++ b/testenv/linters/vulture-wl.py @@ -20,10 +20,15 @@ IpmiServer.handle_raw_request fake_rpi.RPi.GPIO -_KeyMapping.web_key +_KeyMapping.web_name _KeyMapping.serial_code -_KeyMapping.arduino_key +_KeyMapping.arduino_name _KeyMapping.otg_code _KeyMapping.otg_is_modifier +_KeyMapping.at1_code +_KeyMapping.x11_codes + +_SharedParams.width +_SharedParams.height _ScriptWriter.get_args diff --git a/testenv/requirements.txt b/testenv/requirements.txt index b3c121a4..a88dd993 100644 --- a/testenv/requirements.txt +++ b/testenv/requirements.txt @@ -9,3 +9,5 @@ setproctitle pygments pyghmi python-pam +Pillow +python-xlib diff --git a/testenv/v1-vga-rpi3.override.yaml b/testenv/v1-vga-rpi3.override.yaml index eb75d942..dc028381 100644 --- a/testenv/v1-vga-rpi3.override.yaml +++ b/testenv/v1-vga-rpi3.override.yaml @@ -23,3 +23,6 @@ kvmd: - "--process-name-prefix={process_name_prefix}" - "--notify-parent" - "--no-log-colors" + +vnc: + keymap: /usr/share/kvmd/keymaps/ru diff --git a/testenv/v2-hdmi-rpi4.override.yaml b/testenv/v2-hdmi-rpi4.override.yaml index fb05fd59..ceb51b4a 100644 --- a/testenv/v2-hdmi-rpi4.override.yaml +++ b/testenv/v2-hdmi-rpi4.override.yaml @@ -31,3 +31,6 @@ kvmd: - "--process-name-prefix={process_name_prefix}" - "--notify-parent" - "--no-log-colors" + +vnc: + keymap: /usr/share/kvmd/keymaps/ru |