diff options
| author | erik <erik@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2015-06-30 16:18:48 +0000 | 
|---|---|---|
| committer | erik <erik@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2015-06-30 16:18:48 +0000 | 
| commit | 1b398a0979d269c3493fa9bc832cb16311d423c2 (patch) | |
| tree | 8324dd750f66d6f10612df87f53a8e466d393a01 | |
| parent | 44e414212b9545fb08ed3374b0e60f35d5a2a0ee (diff) | |
| download | neo-layout-1b398a0979d269c3493fa9bc832cb16311d423c2.tar.gz neo-layout-1b398a0979d269c3493fa9bc832cb16311d423c2.tar.bz2 neo-layout-1b398a0979d269c3493fa9bc832cb16311d423c2.zip | |
Konsolen-keymap von Stephan Hilb ist der neue Standard, da diese näher an der Referenz ist. Demnächst auch im kbd-Projekt! Juchuu.
git-svn-id: https://svn.neo-layout.org@2472 b9310e46-f624-0410-8ea1-cfbb3a30dc96
| -rw-r--r-- | linux/console/README | 17 | ||||
| -rw-r--r-- | linux/console/neo.map | 1384 | 
2 files changed, 912 insertions, 489 deletions
| diff --git a/linux/console/README b/linux/console/README index 872d5ba..5dec3cc 100644 --- a/linux/console/README +++ b/linux/console/README @@ -28,15 +28,6 @@ Dennoch kann man mit »loadkeys -d« zur Standardbelegung wechseln, da diese als  defkeymap.map laut manpage unter /usr/share/keymaps oder  /usr/src/linux/drivers/char, bei mir aber unter /etc liegt. -Falls das Keypad nicht korrekt funktioniert, dann liegt dies am falschen Status -von »Num_Lock« (den es unter Neo nicht mehr gibt). Um Num_Lock dennoch -nachträglich einschalten zu können, muss die Menü-Taste (in der untersten Reihe) -betätigt werden. - -Diese Keymap ist für ein MS Natural Keyboard Elite erstellt worden. Sollten -andere Tastaturen andere keycodes verwenden (z.B. Laptoptastaturen), sollte dies -auf der Mailingliste der Neo-Tastaturbelegung gemeldet werden. -  Ergänzung: die keymaps liegen in folgenden Verzeichnissen:  OpenSuSe: /usr/share/kbd/keymaps/i386/ @@ -51,11 +42,5 @@ Was schon geht:  • Die Konsolen-Compose-Kombinationen sind möglich.  Was (noch) nicht geht: -• Einige Zeichen unterstützt die Konsole überhaupt nicht – z.B. den dead_stroke. -• Einige Zeichen werden noch nicht automatisch durch Unicode-Nummern ersetzt -  (das ist aber leicht zu beheben). -• Bisher funktioniert keiner der Modifier_Lock. -• Die große Menge an Compose-Kombinationen, die unter X möglich sind, werden -  längst nicht alle unterstützt. -• Auch die Compose-Erweiterungen von Neo sind noch nicht verfügbar. +• Siehe im Quellcode der neo.map diff --git a/linux/console/neo.map b/linux/console/neo.map index ce79798..6868a9d 100644 --- a/linux/console/neo.map +++ b/linux/console/neo.map @@ -1,473 +1,911 @@ -! neo.map - german NEO keyboard layout -! 2010 Pascal Hauck, <neo@pascalhauck.de> -! -! Diese Keymap wird über einige Skripte automatisch aus der neo_de.xmodmap -! erzeugt. -! - -keymaps 0-18 -strings as usual -compose as usual -alt_is_meta -! -------------------------------------------------------------------------- -! Modifier definitions -! -------------------------------------------------------------------------- -                   keycode  42 = Shift            -#          shift   keycode  42 = Caps_Lock        -                   keycode  54 = Shift            -#          shift   keycode  54 = Caps_Lock        -                   keycode  58 = AltGr            -#          altgr   keycode  58 = AltGr_Lock       -                   keycode  43 = AltGr            -#          altgr   keycode  43 = AltGr_Lock       -                   keycode  86 = ShiftL           -#          shiftl  keycode  86 = ShiftL_Lock      -                   keycode 100 = ShiftL           -#          shiftl  keycode 100 = ShiftL_Lock      - -                   keycode   1 = Escape           -   shift   altgr   keycode   1 = Meta_Escape      - -! -------------------------------------------------------------------------- -! function keys -! -------------------------------------------------------------------------- -! ----Backspace------------------------------------------------------------- -                   keycode  14 = Delete           -! ----Return Enter---------------------------------------------------------- -                   keycode  28 = Return           -           alt     keycode  28 = Meta_Control_m   -                   keycode  96 = KP_Enter         -           altgr   keycode  96 = Hex_F            -! ----Tab------------------------------------------------------------------- -                   keycode  15 = Tab              Meta_Tab         -           altgr   keycode  15 = Compose -! ----Control Alt----------------------------------------------------------- -                   keycode  29 = Control          -                   keycode  97 = Control          -                   keycode  56 = Alt              -! ----Prt SclLk Pause------------------------------------------------------- -                   keycode  99 = -           control keycode  99 = Control_backslash -           alt     keycode  99 = Control_backslash -   control alt	   keycode  99 = Meta_Control_backslash -                   keycode  70 = Scroll_Lock      Show_Memory      Show_Registers   Show_State       -           alt     keycode  70 = Scroll_Lock      -                   keycode 119 = Pause            -! ----Home block------------------------------------------------------------ -                   keycode 102 = Find             -                   keycode 104 = Prior            -           shift   keycode 104 = Scroll_Backward  -                   keycode 107 = Select           -                   keycode 109 = Next             -           shift   keycode 109 = Scroll_Forward   -                   keycode 111 = Remove           -   altgr   control keycode 111 = Boot             -   control alt     keycode 111 = Boot             -                   keycode 110 = Insert           -! ----Navigation block------------------------------------------------------ -                   keycode 103 = Up               -           alt     keycode 103 = KeyboardSignal   -                   keycode 105 = Left             -           alt     keycode 105 = Decr_Console     -                   keycode 106 = Right            -           alt     keycode 106 = Incr_Console     -                   keycode 108 = Down             -! ----Win keys-------------------------------------------------------------- -                   keycode 125 = Decr_Console    Last_Console      Incr_Console      -                   keycode 126 = Incr_Console    Last_Console      Decr_Console      -! ----menue key------------------------------------------------------------- -                   keycode 127 = Compose         F100 -! ----F-keys---------------------------------------------------------------- -                   keycode  59 = F1               F13              Console_13       F25              -           alt     keycode  59 = Console_1        -   control alt     keycode  59 = Console_1        -                   keycode  60 = F2               F14              Console_14       F26              -           alt     keycode  60 = Console_2        -   control alt     keycode  60 = Console_2        -                   keycode  61 = F3               F15              Console_15       F27              -           alt     keycode  61 = Console_3        -   control alt     keycode  61 = Console_3        -                   keycode  62 = F4               F16              Console_16       F28              -           alt     keycode  62 = Console_4        -   control alt     keycode  62 = Console_4        -                   keycode  63 = F5               F17              Console_17       F29              -           alt     keycode  63 = Console_5        -   control alt     keycode  63 = Console_5        -                   keycode  64 = F6               F18              Console_18       F30              -           alt     keycode  64 = Console_6        -   control alt     keycode  64 = Console_6        -                   keycode  65 = F7               F19              Console_19       F31              -           alt     keycode  65 = Console_7        -   control alt     keycode  65 = Console_7        -                   keycode  66 = F8               F20              Console_20       F32              -           alt     keycode  66 = Console_8        -   control alt     keycode  66 = Console_8        -                   keycode  67 = F9               F21              Console_21       F33              -           alt     keycode  67 = Console_9        -   control alt     keycode  67 = Console_9        -                   keycode  68 = F10              F22              Console_22       F34              -           alt     keycode  68 = Console_10       -   control alt     keycode  68 = Console_10       -                   keycode  87 = F11              F23              Console_23       F35              -           alt     keycode  87 = Console_11       -   control alt     keycode  87 = Console_11       -                   keycode  88 = F12              F24              Console_24       F36              -           alt     keycode  88 = Console_12       -   control alt     keycode  88 = Console_12       -! ----unknown keys from defkeymap.map--------------------------------------- -                   keycode  84 = Last_Console     -                   keycode  89 = -                   keycode  90 = -                   keycode  91 = -                   keycode  92 = -                   keycode  93 = -                   keycode  94 = -                   keycode  95 = -                   keycode 101 = Break            -                   keycode 112 = Macro            -   altgr   control keycode 112 = VoidSymbol       -   shift   alt     keycode 112 = VoidSymbol       -   altgr   alt     keycode 112 = VoidSymbol       -                   keycode 113 = F13              -   altgr   control keycode 113 = VoidSymbol       -   shift   alt     keycode 113 = VoidSymbol       -   altgr   alt     keycode 113 = VoidSymbol       -                   keycode 114 = F14              -   altgr   control keycode 114 = VoidSymbol       -   shift   alt     keycode 114 = VoidSymbol       -   altgr   alt     keycode 114 = VoidSymbol       -                   keycode 115 = Help             -   altgr   control keycode 115 = VoidSymbol       -   shift   alt     keycode 115 = VoidSymbol       -   altgr   alt     keycode 115 = VoidSymbol       -                   keycode 116 = Do               -   altgr   control keycode 116 = VoidSymbol       -   shift   alt     keycode 116 = VoidSymbol       -   altgr   alt     keycode 116 = VoidSymbol       -                   keycode 117 = F17              -   altgr   control keycode 117 = VoidSymbol       -   shift   alt     keycode 117 = VoidSymbol       -   altgr   alt     keycode 117 = VoidSymbol       -                   keycode 118 = KP_MinPlus       -   altgr   control keycode 118 = VoidSymbol       -   shift   alt     keycode 118 = VoidSymbol       -   altgr   alt     keycode 118 = VoidSymbol       -                   keycode 119 = Pause -                   keycode 120 = -                   keycode 121 = -                   keycode 122 = -                   keycode 123 = -                   keycode 124 = - - -! ----Space key------------------------------------------------------------- -                   keycode  57 = space                 space                 space                 nobreakspace           -           shiftl  keycode  57 = KP_0                   -   shift   shiftl  keycode  57 = KP_0                   -   altgr   shiftl  keycode  57 = U+202F                 - -! ----dead keys------------------------------------------------------------- -                   keycode  41 = dead_circumflex       dead_caron            U+21BB                U+02DE                 -           shiftl  keycode  41 = U+0307                 -                   keycode  13 = dead_grave            dead_cedilla          U+030a                VoidSymbol             -           shiftl  keycode  13 = dead_diaeresis         -   altgr   shiftl  keycode  13 = U+0304                 -                   keycode  27 = dead_acute            dead_tilde            VoidSymbol            VoidSymbol             -           shiftl  keycode  27 = dead_doubleacute       -   altgr   shiftl  keycode  27 = dead_breve             - -! -------------------------------------------------------------------------- -! Row 1 (number row) -! -------------------------------------------------------------------------- -                   keycode   2 = one                   degree                onesuperior           VoidSymbol             -           shiftl  keycode   2 = ordfeminine            -   altgr   shiftl  keycode   2 = notsign                -                   keycode   3 = two                   section               twosuperior           VoidSymbol             -           shiftl  keycode   3 = masculine              -   altgr   shiftl  keycode   3 = U+2228                 -                   keycode   4 = three                 U+2113                threesuperior         VoidSymbol             -           shiftl  keycode   4 = U+2116                 -   altgr   shiftl  keycode   4 = U+2227                 -                   keycode   5 = four                  guillemotright        U+203A                U+2640                 -   altgr   shiftl  keycode   5 = U+22A5                 -                   keycode   6 = five                  guillemotleft         U+2039                U+2642                 -           shiftl  keycode   6 = periodcentered         -   altgr   shiftl  keycode   6 = U+2221                 -                   keycode   7 = six                   dollar                cent                  U+26A5                 -           shiftl  keycode   7 = sterling               -   altgr   shiftl  keycode   7 = U+2225                 -                   keycode   8 = seven                 U+20ac                yen                   U+03F0                 -           shiftl  keycode   8 = currency               -   altgr   shiftl  keycode   8 = U+2192                 -                   keycode   9 = eight                 U+201e                U+201a                U+2329                 -           shiftl  keycode   9 = Tab                    -   altgr   shiftl  keycode   9 = U+221e                 -                   keycode  10 = nine                  U+201c                U+2018                U+232a                 -           shiftl  keycode  10 = KP_Divide              -   shift   shiftl  keycode  10 = KP_Divide              -   altgr   shiftl  keycode  10 = U+221d                 -                   keycode  11 = zero                  U+201d                U+2019                VoidSymbol             -           shiftl  keycode  11 = KP_Multiply            -   shift   shiftl  keycode  11 = KP_Multiply            -                   keycode  12 = minus                 U+2014                VoidSymbol            U+2011                 -           shiftl  keycode  12 = KP_Subtract            -   shift   shiftl  keycode  12 = KP_Subtract            -   altgr   shiftl  keycode  12 = hyphen                 - -! -------------------------------------------------------------------------- -! Row 2 (upper row) -! -------------------------------------------------------------------------- -                   keycode  16 = x                      -           altgr   keycode  16 = U+2026                 -   shift   altgr   keycode  16 = U+03be                 -           shiftl  keycode  16 = Prior                  -   shift   shiftl  keycode  16 = Prior                  -   altgr   shiftl  keycode  16 = U+039e                 -                   keycode  17 = v                      -           altgr   keycode  17 = underscore             -           shiftl  keycode  17 = BackSpace              -   shift   shiftl  keycode  17 = BackSpace              -   altgr   shiftl  keycode  17 = U+221a                 -                   keycode  18 = l                      -           altgr   keycode  18 = bracketleft            -   shift   altgr   keycode  18 = U+03bb                 -           shiftl  keycode  18 = Up                     -   shift   shiftl  keycode  18 = Up                     -   altgr   shiftl  keycode  18 = U+039b                 -                   keycode  19 = c                      -           altgr   keycode  19 = bracketright           -   shift   altgr   keycode  19 = U+03c7                 -           shiftl  keycode  19 = Remove                 -   shift   shiftl  keycode  19 = Remove                 -   altgr   shiftl  keycode  19 = U+2102                 -                   keycode  20 = w                      -           altgr   keycode  20 = asciicircum            -   shift   altgr   keycode  20 = U+03c9                 -           shiftl  keycode  20 = Next                   -   shift   shiftl  keycode  20 = Next                   -   altgr   shiftl  keycode  20 = U+03a9                 -                   keycode  21 = k                      -           altgr   keycode  21 = exclam                 -   shift   altgr   keycode  21 = U+03ba                 -           shiftl  keycode  21 = exclamdown             -   altgr   shiftl  keycode  21 = multiply               -                   keycode  22 = h                      -           altgr   keycode  22 = less                   -   shift   altgr   keycode  22 = U+03c8                 -           shiftl  keycode  22 = KP_7                   -   shift   shiftl  keycode  22 = KP_7                   -   altgr   shiftl  keycode  22 = U+03a8                 -                   keycode  23 = g                      -           altgr   keycode  23 = greater                -   shift   altgr   keycode  23 = U+03b3                 -           shiftl  keycode  23 = KP_8                   -   shift   shiftl  keycode  23 = KP_8                   -   altgr   shiftl  keycode  23 = U+0393                 -                   keycode  24 = f                      -           altgr   keycode  24 = equal                  -   shift   altgr   keycode  24 = U+03c6                 -           shiftl  keycode  24 = KP_9                   -   shift   shiftl  keycode  24 = KP_9                   -   altgr   shiftl  keycode  24 = U+03a6                 -                   keycode  25 = q                      -           altgr   keycode  25 = ampersand              -   shift   altgr   keycode  25 = U+03D5                 -           shiftl  keycode  25 = KP_Add                 -   shift   shiftl  keycode  25 = KP_Add                 -   altgr   shiftl  keycode  25 = U+211A                 -                   keycode  26 = ssharp                U+1E9E                U+017F                U+03c2                 -           shiftl  keycode  26 = U+2212                 -   altgr   shiftl  keycode  26 = U+2218                 - -! -------------------------------------------------------------------------- -! Row 3 (home row, middle row) -! -------------------------------------------------------------------------- -                   keycode  30 = u                      -           altgr   keycode  30 = backslash              -           shiftl  keycode  30 = Home                   -   shift   shiftl  keycode  30 = Home                   -   altgr   shiftl  keycode  30 = U+2282                 -                   keycode  31 = i                      -           altgr   keycode  31 = slash                  -   shift   altgr   keycode  31 = U+03b9                 -           shiftl  keycode  31 = Left                   -   shift   shiftl  keycode  31 = Left                   -   altgr   shiftl  keycode  31 = U+222b                 -                   keycode  32 = a                      -           altgr   keycode  32 = braceleft              -   shift   altgr   keycode  32 = U+03b1                 -           shiftl  keycode  32 = Down                   -   shift   shiftl  keycode  32 = Down                   -   altgr   shiftl  keycode  32 = U+2200                 -                   keycode  33 = e                      -           altgr   keycode  33 = braceright             -   shift   altgr   keycode  33 = U+03b5                 -           shiftl  keycode  33 = Right                  -   shift   shiftl  keycode  33 = Right                  -   altgr   shiftl  keycode  33 = U+2203                 -                   keycode  34 = o                      -           altgr   keycode  34 = asterisk               -   shift   altgr   keycode  34 = U+03bf                 -           shiftl  keycode  34 = End                    -   shift   shiftl  keycode  34 = End                    -                   keycode  35 = s                      -           altgr   keycode  35 = question               -   shift   altgr   keycode  35 = U+03c3                 -           shiftl  keycode  35 = questiondown           -   altgr   shiftl  keycode  35 = U+03a3                 -                   keycode  36 = n                      -           altgr   keycode  36 = parenleft              -   shift   altgr   keycode  36 = U+03bd                 -           shiftl  keycode  36 = KP_4                   -   shift   shiftl  keycode  36 = KP_4                   -   altgr   shiftl  keycode  36 = U+2115                 -                   keycode  37 = r                      -           altgr   keycode  37 = parenright             -   shift   altgr   keycode  37 = U+03c1                 -           shiftl  keycode  37 = KP_5                   -   shift   shiftl  keycode  37 = KP_5                   -   altgr   shiftl  keycode  37 = U+211D                 -                   keycode  38 = t                      -           altgr   keycode  38 = minus                  -   shift   altgr   keycode  38 = U+03c4                 -           shiftl  keycode  38 = KP_6                   -   shift   shiftl  keycode  38 = KP_6                   -   altgr   shiftl  keycode  38 = U+2202                 -                   keycode  39 = d                      -           altgr   keycode  39 = colon                  -   shift   altgr   keycode  39 = U+03b4                 -           shiftl  keycode  39 = U+002c                 -   shift   shiftl  keycode  39 = comma                  -   altgr   shiftl  keycode  39 = U+0394                 -                   keycode  40 = y                      -           altgr   keycode  40 = at                     -   shift   altgr   keycode  40 = U+03c5                 -           shiftl  keycode  40 = period                 -   shift   shiftl  keycode  40 = U+002e                 -   altgr   shiftl  keycode  40 = U+2207                 - -! -------------------------------------------------------------------------- -! Row 4 (lower row) -! -------------------------------------------------------------------------- -                   keycode  44 = udiaeresis            Udiaeresis            numbersign            VoidSymbol             -           shiftl  keycode  44 = Escape                 -   shift   shiftl  keycode  44 = Escape                 -   altgr   shiftl  keycode  44 = U+222a                 -                   keycode  45 = odiaeresis            Odiaeresis            dollar                U+03F5                 -           shiftl  keycode  45 = Tab                    -   altgr   shiftl  keycode  45 = U+2229                 -                   keycode  46 = adiaeresis            Adiaeresis            bar                   U+03b7                 -           shiftl  keycode  46 = Insert                 -   shift   shiftl  keycode  46 = Insert                 -   altgr   shiftl  keycode  46 = U+2135                 -                   keycode  47 = p                      -           altgr   keycode  47 = asciitilde             -   shift   altgr   keycode  47 = U+03c0                 -           shiftl  keycode  47 = Return                 -   shift   shiftl  keycode  47 = Return                 -   altgr   shiftl  keycode  47 = U+03a0                 -                   keycode  48 = z                      -           altgr   keycode  48 = grave                  -   shift   altgr   keycode  48 = U+03b6                 -   altgr   shiftl  keycode  48 = U+2124                 -                   keycode  49 = b                      -           altgr   keycode  49 = plus                   -   shift   altgr   keycode  49 = U+03b2                 -           shiftl  keycode  49 = colon                  -   altgr   shiftl  keycode  49 = U+21D0                 -                   keycode  50 = m                      -           altgr   keycode  50 = percent                -   shift   altgr   keycode  50 = U+03bc                 -           shiftl  keycode  50 = KP_1                   -   shift   shiftl  keycode  50 = KP_1                   -   altgr   shiftl  keycode  50 = U+21d4                 -                   keycode  51 = comma                 U+2013                quotedbl              U+03F1                 -           shiftl  keycode  51 = KP_2                   -   shift   shiftl  keycode  51 = KP_2                   -   altgr   shiftl  keycode  51 = U+21D2                 -                   keycode  52 = period                U+2022                apostrophe            U+03D1                 -           shiftl  keycode  52 = KP_3                   -   shift   shiftl  keycode  52 = KP_3                   -   altgr   shiftl  keycode  52 = U+21A6                 -                   keycode  53 = j                      -           altgr   keycode  53 = semicolon              -   shift   altgr   keycode  53 = U+03b8                 -           shiftl  keycode  53 = semicolon              -   altgr   shiftl  keycode  53 = U+0398                 - -! -------------------------------------------------------------------------- -! Keypad Row 1 (uppest row) -! -------------------------------------------------------------------------- -                   keycode  69 = Tab                   VoidSymbol            equal                 VoidSymbol             -           shiftl  keycode  69 = U+2260                 -   altgr   shiftl  keycode  69 = U+2261                 -                   keycode  98 = KP_Divide             KP_Divide             division              U+2300                 -           shiftl  keycode  98 = U+2044                 -   altgr   shiftl  keycode  98 = U+2223                 -                   keycode  55 = KP_Multiply           KP_Multiply           U+22C5                U+2299                 -           shiftl  keycode  55 = multiply               -   altgr   shiftl  keycode  55 = U+2297                 -                   keycode  74 = KP_Subtract           KP_Subtract           U+2212                U+2296                 -           shiftl  keycode  74 = U+2216                 -   altgr   shiftl  keycode  74 = U+2238                 - -! -------------------------------------------------------------------------- -! Keypad Row 2 (upper row) -! -------------------------------------------------------------------------- -                   keycode  71 = KP_7                  U+2714                U+2195                U+226A                 -   altgr   shiftl  keycode  71 = U+2308                 -                   keycode  72 = KP_8                  U+2718                U+2191                U+2229                 -   altgr   shiftl  keycode  72 = U+22C2                 -                   keycode  73 = KP_9                  U+2020                U+20D7                U+226B                 -   altgr   shiftl  keycode  73 = U+2309                 -                   keycode  78 = KP_Add                KP_Add                plusminus             U+2295                 -           shiftl  keycode  78 = U+2213                 -   altgr   shiftl  keycode  78 = U+2214                 - -! -------------------------------------------------------------------------- -! Keypad Row 3 (home row, middle row) -! -------------------------------------------------------------------------- -                   keycode  75 = KP_4                  U+2663                U+2190                U+2282                 -   altgr   shiftl  keycode  75 = U+2286                 -                   keycode  76 = KP_5                  U+20ac                colon                 U+22B6                 -   altgr   shiftl  keycode  76 = U+22B7                 -                   keycode  77 = KP_6                  U+2023                U+2192                U+2283                 -   altgr   shiftl  keycode  77 = U+2287                 - -! -------------------------------------------------------------------------- -! Keypad Row 4 (lower row) -! -------------------------------------------------------------------------- -                   keycode  79 = KP_1                  U+2666                U+2194                U+2264                 -   altgr   shiftl  keycode  79 = U+230a                 -                   keycode  80 = KP_2                  U+2665                U+2193                U+222a                 -   altgr   shiftl  keycode  80 = U+22C3                 -                   keycode  81 = KP_3                  U+2660                U+21CC                U+2265                 -   altgr   shiftl  keycode  81 = U+230B                 - -! -------------------------------------------------------------------------- -! Keypad Row 5 (lowest row) -! -------------------------------------------------------------------------- -                   keycode  82 = KP_0                  U+2423                percent               U+2030                 -   altgr   shiftl  keycode  82 = U+25A1                 -                   keycode  83 = U+002c                period                comma                 U+2032                 -           shiftl  keycode  83 = Remove                 -   shift   shiftl  keycode  83 = Remove                 -   altgr   shiftl  keycode  83 = U+2033                 - - -! -------------------------------------------------------------------------- -! additional Keys with control function (has to be edited manually!!!!) -! -------------------------------------------------------------------------- -           control keycode  57 = nul -# for some obscure reason, this is required even when we set alt_is_meta -   alt     control keycode  57 = Meta_nul -   control altgr   keycode  30 = Control_backslash -   control altgr   keycode  19 = Control_bracketright -   control altgr   keycode  17 = Control_underscore -   control altgr   keycode  20 = Control_asciicircum - - -! -------------------------------------------------------------------------- -! Strings and Compose -! -------------------------------------------------------------------------- -# string F100 = "setleds +num\n" +#========================================================================== +# README +#========================================================================== +# Neo2 Console Keymap +# +# Notes: +# • Not using KP_-keysyms on fourth level as NumLock is not controllable  +#   (i.e. can't be forced to on whenever the keymap is loaded). +#   On console there is little need for KP_-keysyms. +# • Mod4-Lock is not implemented (technical difficulties, not enough levels) +# • Dead keys only when there exists a corresponding dead keysym on console +#   (i.e circumflex, gravis, cedille, trema, akut and tilde) otherwise the  +#   undead character is produced. +# • Using default compose as for now. Maximum number allowed compose  +#   sequences seems to be 256, not enough for the standard Neo2 sequences. +# • Wrong Caps_Lock behaviour with ssharp (not returning to lower case when +#   using Caps_Lock and Shift) +#   See: https://bugzilla.kernel.org/show_bug.cgi?id=7063 + +#========================================================================== +# Statements and defaults +#========================================================================== + +keymaps 0-127                                  # We define these levels +compose as usual                               # Use default compose +strings as usual                               # Use default strings + +include "linux-keys-bare"                      # Some standard key mappings + +#========================================================================== +# Modifier +#========================================================================== + +                keycode  42 = ShiftL           # Enable Shift +        shiftr  keycode  42 = Caps_Lock        # Enable Caps_Lock +                keycode  54 = ShiftR           # Enable Shift +        shiftl  keycode  54 = Caps_Lock        # Enable Caps_Lock + +                keycode  58 = AltGr            # Mod3 Left +                keycode  43 = AltGr            # Mod3 Right + +                keycode  86 = CtrlL            # Mod4 Left +                keycode 100 = CtrlL            # Mod4 Right + +#========================================================================== +# Compose +#========================================================================== + +# TODO: add most important compose definitions + +        altgr   keycode  15 = Compose          # Mod3+Tab: Compose + +#========================================================================== +# Characters (autogenerated) +#========================================================================== + +                keycode  41 = U+02c6           # ˆ [U+02C6] MODIFIER LETTER CIRCUMFLEX ACCENT +        shiftl  keycode  41 = U+02c7           # ˇ [U+02C7] CARON +        shiftr  keycode  41 = U+02c7           # ˇ [U+02C7] CARON +        altgr   keycode  41 = U+21bb           # ↻ [U+21BB] CLOCKWISE OPEN CIRCLE ARROW +        ctrll   keycode  41 = U+02d9           # ˙ [U+02D9] DOT ABOVE +shiftl  ctrll   keycode  41 = U+02d9           # ˙ [U+02D9] DOT ABOVE +shiftr  ctrll   keycode  41 = U+02d9           # ˙ [U+02D9] DOT ABOVE +shiftl  altgr   keycode  41 = U+02de           # ˞ [U+02DE] MODIFIER LETTER RHOTIC HOOK +shiftr  altgr   keycode  41 = U+02de           # ˞ [U+02DE] MODIFIER LETTER RHOTIC HOOK +ctrll   altgr   keycode  41 = period           # . [U+002E] FULL STOP + +                keycode   2 = one              # 1 [U+0031] DIGIT ONE +        shiftl  keycode   2 = degree           # ° [U+00B0] DEGREE SIGN +        shiftr  keycode   2 = degree           # ° [U+00B0] DEGREE SIGN +        altgr   keycode   2 = onesuperior      # ¹ [U+00B9] SUPERSCRIPT ONE +        ctrll   keycode   2 = ordfeminine      # ª [U+00AA] FEMININE ORDINAL INDICATOR +shiftl  ctrll   keycode   2 = ordfeminine      # ª [U+00AA] FEMININE ORDINAL INDICATOR +shiftr  ctrll   keycode   2 = ordfeminine      # ª [U+00AA] FEMININE ORDINAL INDICATOR +shiftl  altgr   keycode   2 = U+2081           # ₁ [U+2081] SUBSCRIPT ONE +shiftr  altgr   keycode   2 = U+2081           # ₁ [U+2081] SUBSCRIPT ONE +ctrll   altgr   keycode   2 = notsign          # ¬ [U+00AC] NOT SIGN + +                keycode   3 = two              # 2 [U+0032] DIGIT TWO +        shiftl  keycode   3 = section          # § [U+00A7] SECTION SIGN +        shiftr  keycode   3 = section          # § [U+00A7] SECTION SIGN +        altgr   keycode   3 = twosuperior      # ² [U+00B2] SUPERSCRIPT TWO +        ctrll   keycode   3 = masculine        # º [U+00BA] MASCULINE ORDINAL INDICATOR +shiftl  ctrll   keycode   3 = masculine        # º [U+00BA] MASCULINE ORDINAL INDICATOR +shiftr  ctrll   keycode   3 = masculine        # º [U+00BA] MASCULINE ORDINAL INDICATOR +shiftl  altgr   keycode   3 = U+2082           # ₂ [U+2082] SUBSCRIPT TWO +shiftr  altgr   keycode   3 = U+2082           # ₂ [U+2082] SUBSCRIPT TWO +ctrll   altgr   keycode   3 = U+2228           # ∨ [U+2228] LOGICAL OR + +                keycode   4 = three            # 3 [U+0033] DIGIT THREE +        shiftl  keycode   4 = U+2113           # ℓ [U+2113] SCRIPT SMALL L +        shiftr  keycode   4 = U+2113           # ℓ [U+2113] SCRIPT SMALL L +        altgr   keycode   4 = threesuperior    # ³ [U+00B3] SUPERSCRIPT THREE +        ctrll   keycode   4 = U+2116           # № [U+2116] NUMERO SIGN +shiftl  ctrll   keycode   4 = U+2116           # № [U+2116] NUMERO SIGN +shiftr  ctrll   keycode   4 = U+2116           # № [U+2116] NUMERO SIGN +shiftl  altgr   keycode   4 = U+2083           # ₃ [U+2083] SUBSCRIPT THREE +shiftr  altgr   keycode   4 = U+2083           # ₃ [U+2083] SUBSCRIPT THREE +ctrll   altgr   keycode   4 = U+2227           # ∧ [U+2227] LOGICAL AND + +                keycode   5 = four             # 4 [U+0034] DIGIT FOUR +        shiftl  keycode   5 = guillemotright   # » [U+00BB] RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +        shiftr  keycode   5 = guillemotright   # » [U+00BB] RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +        altgr   keycode   5 = U+203a           # › [U+203A] SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +        ctrll   keycode   5 = space            #   [U+0020] SPACE +shiftl  ctrll   keycode   5 = space            #   [U+0020] SPACE +shiftr  ctrll   keycode   5 = space            #   [U+0020] SPACE +shiftl  altgr   keycode   5 = U+2640           # ♀ [U+2640] FEMALE SIGN +shiftr  altgr   keycode   5 = U+2640           # ♀ [U+2640] FEMALE SIGN +ctrll   altgr   keycode   5 = U+22a5           # ⊥ [U+22A5] UP TACK + +                keycode   6 = five             # 5 [U+0035] DIGIT FIVE +        shiftl  keycode   6 = guillemotleft    # « [U+00AB] LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +        shiftr  keycode   6 = guillemotleft    # « [U+00AB] LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +        altgr   keycode   6 = U+2039           # ‹ [U+2039] SINGLE LEFT-POINTING ANGLE QUOTATION MARK +        ctrll   keycode   6 = periodcentered   # · [U+00B7] MIDDLE DOT +shiftl  ctrll   keycode   6 = periodcentered   # · [U+00B7] MIDDLE DOT +shiftr  ctrll   keycode   6 = periodcentered   # · [U+00B7] MIDDLE DOT +shiftl  altgr   keycode   6 = U+2642           # ♂ [U+2642] MALE SIGN +shiftr  altgr   keycode   6 = U+2642           # ♂ [U+2642] MALE SIGN +ctrll   altgr   keycode   6 = U+2221           # ∡ [U+2221] MEASURED ANGLE + +                keycode   7 = six              # 6 [U+0036] DIGIT SIX +        shiftl  keycode   7 = dollar           # $ [U+0024] DOLLAR SIGN +        shiftr  keycode   7 = dollar           # $ [U+0024] DOLLAR SIGN +        altgr   keycode   7 = cent             # ¢ [U+00A2] CENT SIGN +        ctrll   keycode   7 = sterling         # £ [U+00A3] POUND SIGN +shiftl  ctrll   keycode   7 = sterling         # £ [U+00A3] POUND SIGN +shiftr  ctrll   keycode   7 = sterling         # £ [U+00A3] POUND SIGN +shiftl  altgr   keycode   7 = U+26a5           # ⚥ [U+26A5] MALE AND FEMALE SIGN +shiftr  altgr   keycode   7 = U+26a5           # ⚥ [U+26A5] MALE AND FEMALE SIGN +ctrll   altgr   keycode   7 = U+2225           # ∥ [U+2225] PARALLEL TO + +                keycode   8 = seven            # 7 [U+0037] DIGIT SEVEN +        shiftl  keycode   8 = U+20ac           # € [U+20AC] EURO SIGN +        shiftr  keycode   8 = U+20ac           # € [U+20AC] EURO SIGN +        altgr   keycode   8 = yen              # ¥ [U+00A5] YEN SIGN +        ctrll   keycode   8 = currency         # ¤ [U+00A4] CURRENCY SIGN +shiftl  ctrll   keycode   8 = currency         # ¤ [U+00A4] CURRENCY SIGN +shiftr  ctrll   keycode   8 = currency         # ¤ [U+00A4] CURRENCY SIGN +shiftl  altgr   keycode   8 = U+03f0           # ϰ [U+03F0] GREEK KAPPA SYMBOL +shiftr  altgr   keycode   8 = U+03f0           # ϰ [U+03F0] GREEK KAPPA SYMBOL +ctrll   altgr   keycode   8 = U+2192           # → [U+2192] RIGHTWARDS ARROW + +                keycode   9 = eight            # 8 [U+0038] DIGIT EIGHT +        shiftl  keycode   9 = U+201e           # „ [U+201E] DOUBLE LOW-9 QUOTATION MARK +        shiftr  keycode   9 = U+201e           # „ [U+201E] DOUBLE LOW-9 QUOTATION MARK +        altgr   keycode   9 = U+201a           # ‚ [U+201A] SINGLE LOW-9 QUOTATION MARK +        ctrll   keycode   9 = U+21e5           # ⇥ [U+21E5] RIGHTWARDS ARROW TO BAR +shiftl  ctrll   keycode   9 = U+21e5           # ⇥ [U+21E5] RIGHTWARDS ARROW TO BAR +shiftr  ctrll   keycode   9 = U+21e5           # ⇥ [U+21E5] RIGHTWARDS ARROW TO BAR +shiftl  altgr   keycode   9 = U+27e8           # ⟨ [U+27E8] MATHEMATICAL LEFT ANGLE BRACKET +shiftr  altgr   keycode   9 = U+27e8           # ⟨ [U+27E8] MATHEMATICAL LEFT ANGLE BRACKET +ctrll   altgr   keycode   9 = U+221e           # ∞ [U+221E] INFINITY + +                keycode  10 = nine             # 9 [U+0039] DIGIT NINE +        shiftl  keycode  10 = U+201c           # “ [U+201C] LEFT DOUBLE QUOTATION MARK +        shiftr  keycode  10 = U+201c           # “ [U+201C] LEFT DOUBLE QUOTATION MARK +        altgr   keycode  10 = U+2018           # ‘ [U+2018] LEFT SINGLE QUOTATION MARK +        ctrll   keycode  10 = slash            # / [U+002F] SOLIDUS +shiftl  ctrll   keycode  10 = slash            # / [U+002F] SOLIDUS +shiftr  ctrll   keycode  10 = slash            # / [U+002F] SOLIDUS +shiftl  altgr   keycode  10 = U+27e9           # ⟩ [U+27E9] MATHEMATICAL RIGHT ANGLE BRACKET +shiftr  altgr   keycode  10 = U+27e9           # ⟩ [U+27E9] MATHEMATICAL RIGHT ANGLE BRACKET +ctrll   altgr   keycode  10 = U+221d           # ∝ [U+221D] PROPORTIONAL TO + +                keycode  11 = zero             # 0 [U+0030] DIGIT ZERO +        shiftl  keycode  11 = U+201d           # ” [U+201D] RIGHT DOUBLE QUOTATION MARK +        shiftr  keycode  11 = U+201d           # ” [U+201D] RIGHT DOUBLE QUOTATION MARK +        altgr   keycode  11 = U+2019           # ’ [U+2019] RIGHT SINGLE QUOTATION MARK +        ctrll   keycode  11 = asterisk         # * [U+002A] ASTERISK +shiftl  ctrll   keycode  11 = asterisk         # * [U+002A] ASTERISK +shiftr  ctrll   keycode  11 = asterisk         # * [U+002A] ASTERISK +shiftl  altgr   keycode  11 = U+2080           # ₀ [U+2080] SUBSCRIPT ZERO +shiftr  altgr   keycode  11 = U+2080           # ₀ [U+2080] SUBSCRIPT ZERO +ctrll   altgr   keycode  11 = U+2205           # ∅ [U+2205] EMPTY SET + +                keycode  12 = minus            # - [U+002D] HYPHEN-MINUS +        shiftl  keycode  12 = U+2014           # — [U+2014] EM DASH +        shiftr  keycode  12 = U+2014           # — [U+2014] EM DASH +        altgr   keycode  12 = space            #   [U+0020] SPACE +        ctrll   keycode  12 = minus            # - [U+002D] HYPHEN-MINUS +shiftl  ctrll   keycode  12 = minus            # - [U+002D] HYPHEN-MINUS +shiftr  ctrll   keycode  12 = minus            # - [U+002D] HYPHEN-MINUS +shiftl  altgr   keycode  12 = U+2011           # ‑ [U+2011] NON-BREAKING HYPHEN +shiftr  altgr   keycode  12 = U+2011           # ‑ [U+2011] NON-BREAKING HYPHEN +ctrll   altgr   keycode  12 = U+254c           # ╌ [U+254C] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL + +                keycode  13 = grave            # ` [U+0060] GRAVE ACCENT +        shiftl  keycode  13 = cedilla          # ¸ [U+00B8] CEDILLA +        shiftr  keycode  13 = cedilla          # ¸ [U+00B8] CEDILLA +        altgr   keycode  13 = U+02da           # ˚ [U+02DA] RING ABOVE +        ctrll   keycode  13 = diaeresis        # ¨ [U+00A8] DIAERESIS +shiftl  ctrll   keycode  13 = diaeresis        # ¨ [U+00A8] DIAERESIS +shiftr  ctrll   keycode  13 = diaeresis        # ¨ [U+00A8] DIAERESIS +shiftl  altgr   keycode  13 = U+1ffe           # ῾ [U+1FFE] GREEK DASIA +shiftr  altgr   keycode  13 = U+1ffe           # ῾ [U+1FFE] GREEK DASIA +ctrll   altgr   keycode  13 = macron           # ¯ [U+00AF] MACRON + +                keycode  16 = x                # x [U+0078] LATIN SMALL LETTER X +shift   shiftl  keycode  16 = x                # x [U+0078] LATIN SMALL LETTER X +shift   shiftr  keycode  16 = x                # x [U+0078] LATIN SMALL LETTER X +        shiftl  keycode  16 = +X               # X [U+0058] LATIN CAPITAL LETTER X +        shiftr  keycode  16 = +X               # X [U+0058] LATIN CAPITAL LETTER X +        altgr   keycode  16 = U+2026           # … [U+2026] HORIZONTAL ELLIPSIS +        ctrll   keycode  16 = U+21de           # ⇞ [U+21DE] UPWARDS ARROW WITH DOUBLE STROKE +shiftl  ctrll   keycode  16 = U+21de           # ⇞ [U+21DE] UPWARDS ARROW WITH DOUBLE STROKE +shiftr  ctrll   keycode  16 = U+21de           # ⇞ [U+21DE] UPWARDS ARROW WITH DOUBLE STROKE +shiftl  altgr   keycode  16 = U+03be           # ξ [U+03BE] GREEK SMALL LETTER XI +shiftr  altgr   keycode  16 = U+03be           # ξ [U+03BE] GREEK SMALL LETTER XI +ctrll   altgr   keycode  16 = U+039e           # Ξ [U+039E] GREEK CAPITAL LETTER XI + +                keycode  17 = v                # v [U+0076] LATIN SMALL LETTER V +shift   shiftl  keycode  17 = v                # v [U+0076] LATIN SMALL LETTER V +shift   shiftr  keycode  17 = v                # v [U+0076] LATIN SMALL LETTER V +        shiftl  keycode  17 = +V               # V [U+0056] LATIN CAPITAL LETTER V +        shiftr  keycode  17 = +V               # V [U+0056] LATIN CAPITAL LETTER V +        altgr   keycode  17 = underscore       # _ [U+005F] LOW LINE +        ctrll   keycode  17 = U+232b           # ⌫ [U+232B] ERASE TO THE LEFT +shiftl  ctrll   keycode  17 = U+232b           # ⌫ [U+232B] ERASE TO THE LEFT +shiftr  ctrll   keycode  17 = U+232b           # ⌫ [U+232B] ERASE TO THE LEFT +shiftl  altgr   keycode  17 = space            #   [U+0020] SPACE +shiftr  altgr   keycode  17 = space            #   [U+0020] SPACE +ctrll   altgr   keycode  17 = U+221a           # √ [U+221A] SQUARE ROOT + +                keycode  18 = l                # l [U+006C] LATIN SMALL LETTER L +shift   shiftl  keycode  18 = l                # l [U+006C] LATIN SMALL LETTER L +shift   shiftr  keycode  18 = l                # l [U+006C] LATIN SMALL LETTER L +        shiftl  keycode  18 = +L               # L [U+004C] LATIN CAPITAL LETTER L +        shiftr  keycode  18 = +L               # L [U+004C] LATIN CAPITAL LETTER L +        altgr   keycode  18 = bracketleft      # [ [U+005B] LEFT SQUARE BRACKET +        ctrll   keycode  18 = U+21e1           # ⇡ [U+21E1] UPWARDS DASHED ARROW +shiftl  ctrll   keycode  18 = U+21e1           # ⇡ [U+21E1] UPWARDS DASHED ARROW +shiftr  ctrll   keycode  18 = U+21e1           # ⇡ [U+21E1] UPWARDS DASHED ARROW +shiftl  altgr   keycode  18 = U+03bb           # λ [U+03BB] GREEK SMALL LETTER LAMDA +shiftr  altgr   keycode  18 = U+03bb           # λ [U+03BB] GREEK SMALL LETTER LAMDA +ctrll   altgr   keycode  18 = U+039b           # Λ [U+039B] GREEK CAPITAL LETTER LAMDA + +                keycode  19 = c                # c [U+0063] LATIN SMALL LETTER C +shift   shiftl  keycode  19 = c                # c [U+0063] LATIN SMALL LETTER C +shift   shiftr  keycode  19 = c                # c [U+0063] LATIN SMALL LETTER C +        shiftl  keycode  19 = +C               # C [U+0043] LATIN CAPITAL LETTER C +        shiftr  keycode  19 = +C               # C [U+0043] LATIN CAPITAL LETTER C +        altgr   keycode  19 = bracketright     # ] [U+005D] RIGHT SQUARE BRACKET +        ctrll   keycode  19 = U+2326           # ⌦ [U+2326] ERASE TO THE RIGHT +shiftl  ctrll   keycode  19 = U+2326           # ⌦ [U+2326] ERASE TO THE RIGHT +shiftr  ctrll   keycode  19 = U+2326           # ⌦ [U+2326] ERASE TO THE RIGHT +shiftl  altgr   keycode  19 = U+03c7           # χ [U+03C7] GREEK SMALL LETTER CHI +shiftr  altgr   keycode  19 = U+03c7           # χ [U+03C7] GREEK SMALL LETTER CHI +ctrll   altgr   keycode  19 = U+2102           # ℂ [U+2102] DOUBLE-STRUCK CAPITAL C + +                keycode  20 = w                # w [U+0077] LATIN SMALL LETTER W +shift   shiftl  keycode  20 = w                # w [U+0077] LATIN SMALL LETTER W +shift   shiftr  keycode  20 = w                # w [U+0077] LATIN SMALL LETTER W +        shiftl  keycode  20 = +W               # W [U+0057] LATIN CAPITAL LETTER W +        shiftr  keycode  20 = +W               # W [U+0057] LATIN CAPITAL LETTER W +        altgr   keycode  20 = asciicircum      # ^ [U+005E] CIRCUMFLEX ACCENT +        ctrll   keycode  20 = U+21df           # ⇟ [U+21DF] DOWNWARDS ARROW WITH DOUBLE STROKE +shiftl  ctrll   keycode  20 = U+21df           # ⇟ [U+21DF] DOWNWARDS ARROW WITH DOUBLE STROKE +shiftr  ctrll   keycode  20 = U+21df           # ⇟ [U+21DF] DOWNWARDS ARROW WITH DOUBLE STROKE +shiftl  altgr   keycode  20 = U+03c9           # ω [U+03C9] GREEK SMALL LETTER OMEGA +shiftr  altgr   keycode  20 = U+03c9           # ω [U+03C9] GREEK SMALL LETTER OMEGA +ctrll   altgr   keycode  20 = U+03a9           # Ω [U+03A9] GREEK CAPITAL LETTER OMEGA + +                keycode  21 = k                # k [U+006B] LATIN SMALL LETTER K +shift   shiftl  keycode  21 = k                # k [U+006B] LATIN SMALL LETTER K +shift   shiftr  keycode  21 = k                # k [U+006B] LATIN SMALL LETTER K +        shiftl  keycode  21 = +K               # K [U+004B] LATIN CAPITAL LETTER K +        shiftr  keycode  21 = +K               # K [U+004B] LATIN CAPITAL LETTER K +        altgr   keycode  21 = exclam           # ! [U+0021] EXCLAMATION MARK +        ctrll   keycode  21 = exclamdown       # ¡ [U+00A1] INVERTED EXCLAMATION MARK +shiftl  ctrll   keycode  21 = exclamdown       # ¡ [U+00A1] INVERTED EXCLAMATION MARK +shiftr  ctrll   keycode  21 = exclamdown       # ¡ [U+00A1] INVERTED EXCLAMATION MARK +shiftl  altgr   keycode  21 = U+03ba           # κ [U+03BA] GREEK SMALL LETTER KAPPA +shiftr  altgr   keycode  21 = U+03ba           # κ [U+03BA] GREEK SMALL LETTER KAPPA +ctrll   altgr   keycode  21 = multiply         # × [U+00D7] MULTIPLICATION SIGN + +                keycode  22 = h                # h [U+0068] LATIN SMALL LETTER H +shift   shiftl  keycode  22 = h                # h [U+0068] LATIN SMALL LETTER H +shift   shiftr  keycode  22 = h                # h [U+0068] LATIN SMALL LETTER H +        shiftl  keycode  22 = +H               # H [U+0048] LATIN CAPITAL LETTER H +        shiftr  keycode  22 = +H               # H [U+0048] LATIN CAPITAL LETTER H +        altgr   keycode  22 = less             # < [U+003C] LESS-THAN SIGN +        ctrll   keycode  22 = seven            # 7 [U+0037] DIGIT SEVEN +shiftl  ctrll   keycode  22 = seven            # 7 [U+0037] DIGIT SEVEN +shiftr  ctrll   keycode  22 = seven            # 7 [U+0037] DIGIT SEVEN +shiftl  altgr   keycode  22 = U+03c8           # ψ [U+03C8] GREEK SMALL LETTER PSI +shiftr  altgr   keycode  22 = U+03c8           # ψ [U+03C8] GREEK SMALL LETTER PSI +ctrll   altgr   keycode  22 = U+03a8           # Ψ [U+03A8] GREEK CAPITAL LETTER PSI + +                keycode  23 = g                # g [U+0067] LATIN SMALL LETTER G +shift   shiftl  keycode  23 = g                # g [U+0067] LATIN SMALL LETTER G +shift   shiftr  keycode  23 = g                # g [U+0067] LATIN SMALL LETTER G +        shiftl  keycode  23 = +G               # G [U+0047] LATIN CAPITAL LETTER G +        shiftr  keycode  23 = +G               # G [U+0047] LATIN CAPITAL LETTER G +        altgr   keycode  23 = greater          # > [U+003E] GREATER-THAN SIGN +        ctrll   keycode  23 = eight            # 8 [U+0038] DIGIT EIGHT +shiftl  ctrll   keycode  23 = eight            # 8 [U+0038] DIGIT EIGHT +shiftr  ctrll   keycode  23 = eight            # 8 [U+0038] DIGIT EIGHT +shiftl  altgr   keycode  23 = U+03b3           # γ [U+03B3] GREEK SMALL LETTER GAMMA +shiftr  altgr   keycode  23 = U+03b3           # γ [U+03B3] GREEK SMALL LETTER GAMMA +ctrll   altgr   keycode  23 = U+0393           # Γ [U+0393] GREEK CAPITAL LETTER GAMMA + +                keycode  24 = f                # f [U+0066] LATIN SMALL LETTER F +shift   shiftl  keycode  24 = f                # f [U+0066] LATIN SMALL LETTER F +shift   shiftr  keycode  24 = f                # f [U+0066] LATIN SMALL LETTER F +        shiftl  keycode  24 = +F               # F [U+0046] LATIN CAPITAL LETTER F +        shiftr  keycode  24 = +F               # F [U+0046] LATIN CAPITAL LETTER F +        altgr   keycode  24 = equal            # = [U+003D] EQUALS SIGN +        ctrll   keycode  24 = nine             # 9 [U+0039] DIGIT NINE +shiftl  ctrll   keycode  24 = nine             # 9 [U+0039] DIGIT NINE +shiftr  ctrll   keycode  24 = nine             # 9 [U+0039] DIGIT NINE +shiftl  altgr   keycode  24 = U+03c6           # φ [U+03C6] GREEK SMALL LETTER PHI +shiftr  altgr   keycode  24 = U+03c6           # φ [U+03C6] GREEK SMALL LETTER PHI +ctrll   altgr   keycode  24 = U+03a6           # Φ [U+03A6] GREEK CAPITAL LETTER PHI + +                keycode  25 = q                # q [U+0071] LATIN SMALL LETTER Q +shift   shiftl  keycode  25 = q                # q [U+0071] LATIN SMALL LETTER Q +shift   shiftr  keycode  25 = q                # q [U+0071] LATIN SMALL LETTER Q +        shiftl  keycode  25 = +Q               # Q [U+0051] LATIN CAPITAL LETTER Q +        shiftr  keycode  25 = +Q               # Q [U+0051] LATIN CAPITAL LETTER Q +        altgr   keycode  25 = ampersand        # & [U+0026] AMPERSAND +        ctrll   keycode  25 = plus             # + [U+002B] PLUS SIGN +shiftl  ctrll   keycode  25 = plus             # + [U+002B] PLUS SIGN +shiftr  ctrll   keycode  25 = plus             # + [U+002B] PLUS SIGN +shiftl  altgr   keycode  25 = U+03d5           # ϕ [U+03D5] GREEK PHI SYMBOL +shiftr  altgr   keycode  25 = U+03d5           # ϕ [U+03D5] GREEK PHI SYMBOL +ctrll   altgr   keycode  25 = U+211a           # ℚ [U+211A] DOUBLE-STRUCK CAPITAL Q + +                keycode  26 = ssharp           # ß [U+00DF] LATIN SMALL LETTER SHARP S +shift   shiftl  keycode  26 = ssharp           # ß [U+00DF] LATIN SMALL LETTER SHARP S +shift   shiftr  keycode  26 = ssharp           # ß [U+00DF] LATIN SMALL LETTER SHARP S +        shiftl  keycode  26 = +U+1e9e          # ẞ [U+1E9E] LATIN CAPITAL LETTER SHARP S +        shiftr  keycode  26 = +U+1e9e          # ẞ [U+1E9E] LATIN CAPITAL LETTER SHARP S +        altgr   keycode  26 = U+017f           # ſ [U+017F] LATIN SMALL LETTER LONG S +        ctrll   keycode  26 = U+2212           # − [U+2212] MINUS SIGN +shiftl  ctrll   keycode  26 = U+2212           # − [U+2212] MINUS SIGN +shiftr  ctrll   keycode  26 = U+2212           # − [U+2212] MINUS SIGN +shiftl  altgr   keycode  26 = U+03c2           # ς [U+03C2] GREEK SMALL LETTER FINAL SIGMA +shiftr  altgr   keycode  26 = U+03c2           # ς [U+03C2] GREEK SMALL LETTER FINAL SIGMA +ctrll   altgr   keycode  26 = U+2218           # ∘ [U+2218] RING OPERATOR + +                keycode  27 = acute            # ´ [U+00B4] ACUTE ACCENT +        shiftl  keycode  27 = U+02dc           # ˜ [U+02DC] SMALL TILDE +        shiftr  keycode  27 = U+02dc           # ˜ [U+02DC] SMALL TILDE +        altgr   keycode  27 = slash            # / [U+002F] SOLIDUS +        ctrll   keycode  27 = U+02dd           # ˝ [U+02DD] DOUBLE ACUTE ACCENT +shiftl  ctrll   keycode  27 = U+02dd           # ˝ [U+02DD] DOUBLE ACUTE ACCENT +shiftr  ctrll   keycode  27 = U+02dd           # ˝ [U+02DD] DOUBLE ACUTE ACCENT +shiftl  altgr   keycode  27 = U+1fbf           # ᾿ [U+1FBF] GREEK PSILI +shiftr  altgr   keycode  27 = U+1fbf           # ᾿ [U+1FBF] GREEK PSILI +ctrll   altgr   keycode  27 = U+02d8           # ˘ [U+02D8] BREVE + +                keycode  30 = u                # u [U+0075] LATIN SMALL LETTER U +shift   shiftl  keycode  30 = u                # u [U+0075] LATIN SMALL LETTER U +shift   shiftr  keycode  30 = u                # u [U+0075] LATIN SMALL LETTER U +        shiftl  keycode  30 = +U               # U [U+0055] LATIN CAPITAL LETTER U +        shiftr  keycode  30 = +U               # U [U+0055] LATIN CAPITAL LETTER U +        altgr   keycode  30 = backslash        # \ [U+005C] REVERSE SOLIDUS +        ctrll   keycode  30 = U+21f1           # ⇱ [U+21F1] NORTH WEST ARROW TO CORNER +shiftl  ctrll   keycode  30 = U+21f1           # ⇱ [U+21F1] NORTH WEST ARROW TO CORNER +shiftr  ctrll   keycode  30 = U+21f1           # ⇱ [U+21F1] NORTH WEST ARROW TO CORNER +shiftl  altgr   keycode  30 = space            #   [U+0020] SPACE +shiftr  altgr   keycode  30 = space            #   [U+0020] SPACE +ctrll   altgr   keycode  30 = U+2282           # ⊂ [U+2282] SUBSET OF + +                keycode  31 = i                # i [U+0069] LATIN SMALL LETTER I +shift   shiftl  keycode  31 = i                # i [U+0069] LATIN SMALL LETTER I +shift   shiftr  keycode  31 = i                # i [U+0069] LATIN SMALL LETTER I +        shiftl  keycode  31 = +I               # I [U+0049] LATIN CAPITAL LETTER I +        shiftr  keycode  31 = +I               # I [U+0049] LATIN CAPITAL LETTER I +        altgr   keycode  31 = slash            # / [U+002F] SOLIDUS +        ctrll   keycode  31 = U+21e0           # ⇠ [U+21E0] LEFTWARDS DASHED ARROW +shiftl  ctrll   keycode  31 = U+21e0           # ⇠ [U+21E0] LEFTWARDS DASHED ARROW +shiftr  ctrll   keycode  31 = U+21e0           # ⇠ [U+21E0] LEFTWARDS DASHED ARROW +shiftl  altgr   keycode  31 = U+03b9           # ι [U+03B9] GREEK SMALL LETTER IOTA +shiftr  altgr   keycode  31 = U+03b9           # ι [U+03B9] GREEK SMALL LETTER IOTA +ctrll   altgr   keycode  31 = U+222b           # ∫ [U+222B] INTEGRAL + +                keycode  32 = a                # a [U+0061] LATIN SMALL LETTER A +shift   shiftl  keycode  32 = a                # a [U+0061] LATIN SMALL LETTER A +shift   shiftr  keycode  32 = a                # a [U+0061] LATIN SMALL LETTER A +        shiftl  keycode  32 = +A               # A [U+0041] LATIN CAPITAL LETTER A +        shiftr  keycode  32 = +A               # A [U+0041] LATIN CAPITAL LETTER A +        altgr   keycode  32 = braceleft        # { [U+007B] LEFT CURLY BRACKET +        ctrll   keycode  32 = U+21e3           # ⇣ [U+21E3] DOWNWARDS DASHED ARROW +shiftl  ctrll   keycode  32 = U+21e3           # ⇣ [U+21E3] DOWNWARDS DASHED ARROW +shiftr  ctrll   keycode  32 = U+21e3           # ⇣ [U+21E3] DOWNWARDS DASHED ARROW +shiftl  altgr   keycode  32 = U+03b1           # α [U+03B1] GREEK SMALL LETTER ALPHA +shiftr  altgr   keycode  32 = U+03b1           # α [U+03B1] GREEK SMALL LETTER ALPHA +ctrll   altgr   keycode  32 = U+2200           # ∀ [U+2200] FOR ALL + +                keycode  33 = e                # e [U+0065] LATIN SMALL LETTER E +shift   shiftl  keycode  33 = e                # e [U+0065] LATIN SMALL LETTER E +shift   shiftr  keycode  33 = e                # e [U+0065] LATIN SMALL LETTER E +        shiftl  keycode  33 = +E               # E [U+0045] LATIN CAPITAL LETTER E +        shiftr  keycode  33 = +E               # E [U+0045] LATIN CAPITAL LETTER E +        altgr   keycode  33 = braceright       # } [U+007D] RIGHT CURLY BRACKET +        ctrll   keycode  33 = U+21e2           # ⇢ [U+21E2] RIGHTWARDS DASHED ARROW +shiftl  ctrll   keycode  33 = U+21e2           # ⇢ [U+21E2] RIGHTWARDS DASHED ARROW +shiftr  ctrll   keycode  33 = U+21e2           # ⇢ [U+21E2] RIGHTWARDS DASHED ARROW +shiftl  altgr   keycode  33 = U+03b5           # ε [U+03B5] GREEK SMALL LETTER EPSILON +shiftr  altgr   keycode  33 = U+03b5           # ε [U+03B5] GREEK SMALL LETTER EPSILON +ctrll   altgr   keycode  33 = U+2203           # ∃ [U+2203] THERE EXISTS + +                keycode  34 = o                # o [U+006F] LATIN SMALL LETTER O +shift   shiftl  keycode  34 = o                # o [U+006F] LATIN SMALL LETTER O +shift   shiftr  keycode  34 = o                # o [U+006F] LATIN SMALL LETTER O +        shiftl  keycode  34 = +O               # O [U+004F] LATIN CAPITAL LETTER O +        shiftr  keycode  34 = +O               # O [U+004F] LATIN CAPITAL LETTER O +        altgr   keycode  34 = asterisk         # * [U+002A] ASTERISK +        ctrll   keycode  34 = U+21f2           # ⇲ [U+21F2] SOUTH EAST ARROW TO CORNER +shiftl  ctrll   keycode  34 = U+21f2           # ⇲ [U+21F2] SOUTH EAST ARROW TO CORNER +shiftr  ctrll   keycode  34 = U+21f2           # ⇲ [U+21F2] SOUTH EAST ARROW TO CORNER +shiftl  altgr   keycode  34 = U+03bf           # ο [U+03BF] GREEK SMALL LETTER OMICRON +shiftr  altgr   keycode  34 = U+03bf           # ο [U+03BF] GREEK SMALL LETTER OMICRON +ctrll   altgr   keycode  34 = U+2208           # ∈ [U+2208] ELEMENT OF + +                keycode  35 = s                # s [U+0073] LATIN SMALL LETTER S +shift   shiftl  keycode  35 = s                # s [U+0073] LATIN SMALL LETTER S +shift   shiftr  keycode  35 = s                # s [U+0073] LATIN SMALL LETTER S +        shiftl  keycode  35 = +S               # S [U+0053] LATIN CAPITAL LETTER S +        shiftr  keycode  35 = +S               # S [U+0053] LATIN CAPITAL LETTER S +        altgr   keycode  35 = question         # ? [U+003F] QUESTION MARK +        ctrll   keycode  35 = questiondown     # ¿ [U+00BF] INVERTED QUESTION MARK +shiftl  ctrll   keycode  35 = questiondown     # ¿ [U+00BF] INVERTED QUESTION MARK +shiftr  ctrll   keycode  35 = questiondown     # ¿ [U+00BF] INVERTED QUESTION MARK +shiftl  altgr   keycode  35 = U+03c3           # σ [U+03C3] GREEK SMALL LETTER SIGMA +shiftr  altgr   keycode  35 = U+03c3           # σ [U+03C3] GREEK SMALL LETTER SIGMA +ctrll   altgr   keycode  35 = U+03a3           # Σ [U+03A3] GREEK CAPITAL LETTER SIGMA + +                keycode  36 = n                # n [U+006E] LATIN SMALL LETTER N +shift   shiftl  keycode  36 = n                # n [U+006E] LATIN SMALL LETTER N +shift   shiftr  keycode  36 = n                # n [U+006E] LATIN SMALL LETTER N +        shiftl  keycode  36 = +N               # N [U+004E] LATIN CAPITAL LETTER N +        shiftr  keycode  36 = +N               # N [U+004E] LATIN CAPITAL LETTER N +        altgr   keycode  36 = parenleft        # ( [U+0028] LEFT PARENTHESIS +        ctrll   keycode  36 = four             # 4 [U+0034] DIGIT FOUR +shiftl  ctrll   keycode  36 = four             # 4 [U+0034] DIGIT FOUR +shiftr  ctrll   keycode  36 = four             # 4 [U+0034] DIGIT FOUR +shiftl  altgr   keycode  36 = U+03bd           # ν [U+03BD] GREEK SMALL LETTER NU +shiftr  altgr   keycode  36 = U+03bd           # ν [U+03BD] GREEK SMALL LETTER NU +ctrll   altgr   keycode  36 = U+2115           # ℕ [U+2115] DOUBLE-STRUCK CAPITAL N + +                keycode  37 = r                # r [U+0072] LATIN SMALL LETTER R +shift   shiftl  keycode  37 = r                # r [U+0072] LATIN SMALL LETTER R +shift   shiftr  keycode  37 = r                # r [U+0072] LATIN SMALL LETTER R +        shiftl  keycode  37 = +R               # R [U+0052] LATIN CAPITAL LETTER R +        shiftr  keycode  37 = +R               # R [U+0052] LATIN CAPITAL LETTER R +        altgr   keycode  37 = parenright       # ) [U+0029] RIGHT PARENTHESIS +        ctrll   keycode  37 = five             # 5 [U+0035] DIGIT FIVE +shiftl  ctrll   keycode  37 = five             # 5 [U+0035] DIGIT FIVE +shiftr  ctrll   keycode  37 = five             # 5 [U+0035] DIGIT FIVE +shiftl  altgr   keycode  37 = U+03c1           # ρ [U+03C1] GREEK SMALL LETTER RHO +shiftr  altgr   keycode  37 = U+03c1           # ρ [U+03C1] GREEK SMALL LETTER RHO +ctrll   altgr   keycode  37 = U+211d           # ℝ [U+211D] DOUBLE-STRUCK CAPITAL R + +                keycode  38 = t                # t [U+0074] LATIN SMALL LETTER T +shift   shiftl  keycode  38 = t                # t [U+0074] LATIN SMALL LETTER T +shift   shiftr  keycode  38 = t                # t [U+0074] LATIN SMALL LETTER T +        shiftl  keycode  38 = +T               # T [U+0054] LATIN CAPITAL LETTER T +        shiftr  keycode  38 = +T               # T [U+0054] LATIN CAPITAL LETTER T +        altgr   keycode  38 = minus            # - [U+002D] HYPHEN-MINUS +        ctrll   keycode  38 = six              # 6 [U+0036] DIGIT SIX +shiftl  ctrll   keycode  38 = six              # 6 [U+0036] DIGIT SIX +shiftr  ctrll   keycode  38 = six              # 6 [U+0036] DIGIT SIX +shiftl  altgr   keycode  38 = U+03c4           # τ [U+03C4] GREEK SMALL LETTER TAU +shiftr  altgr   keycode  38 = U+03c4           # τ [U+03C4] GREEK SMALL LETTER TAU +ctrll   altgr   keycode  38 = U+2202           # ∂ [U+2202] PARTIAL DIFFERENTIAL + +                keycode  39 = d                # d [U+0064] LATIN SMALL LETTER D +shift   shiftl  keycode  39 = d                # d [U+0064] LATIN SMALL LETTER D +shift   shiftr  keycode  39 = d                # d [U+0064] LATIN SMALL LETTER D +        shiftl  keycode  39 = +D               # D [U+0044] LATIN CAPITAL LETTER D +        shiftr  keycode  39 = +D               # D [U+0044] LATIN CAPITAL LETTER D +        altgr   keycode  39 = colon            # : [U+003A] COLON +        ctrll   keycode  39 = comma            # , [U+002C] COMMA +shiftl  ctrll   keycode  39 = comma            # , [U+002C] COMMA +shiftr  ctrll   keycode  39 = comma            # , [U+002C] COMMA +shiftl  altgr   keycode  39 = U+03b4           # δ [U+03B4] GREEK SMALL LETTER DELTA +shiftr  altgr   keycode  39 = U+03b4           # δ [U+03B4] GREEK SMALL LETTER DELTA +ctrll   altgr   keycode  39 = U+0394           # Δ [U+0394] GREEK CAPITAL LETTER DELTA + +                keycode  40 = y                # y [U+0079] LATIN SMALL LETTER Y +shift   shiftl  keycode  40 = y                # y [U+0079] LATIN SMALL LETTER Y +shift   shiftr  keycode  40 = y                # y [U+0079] LATIN SMALL LETTER Y +        shiftl  keycode  40 = +Y               # Y [U+0059] LATIN CAPITAL LETTER Y +        shiftr  keycode  40 = +Y               # Y [U+0059] LATIN CAPITAL LETTER Y +        altgr   keycode  40 = at               # @ [U+0040] COMMERCIAL AT +        ctrll   keycode  40 = period           # . [U+002E] FULL STOP +shiftl  ctrll   keycode  40 = period           # . [U+002E] FULL STOP +shiftr  ctrll   keycode  40 = period           # . [U+002E] FULL STOP +shiftl  altgr   keycode  40 = U+03c5           # υ [U+03C5] GREEK SMALL LETTER UPSILON +shiftr  altgr   keycode  40 = U+03c5           # υ [U+03C5] GREEK SMALL LETTER UPSILON +ctrll   altgr   keycode  40 = U+2207           # ∇ [U+2207] NABLA + +                keycode  44 = udiaeresis       # ü [U+00FC] LATIN SMALL LETTER U WITH DIAERESIS +shift   shiftl  keycode  44 = udiaeresis       # ü [U+00FC] LATIN SMALL LETTER U WITH DIAERESIS +shift   shiftr  keycode  44 = udiaeresis       # ü [U+00FC] LATIN SMALL LETTER U WITH DIAERESIS +        shiftl  keycode  44 = +Udiaeresis      # Ü [U+00DC] LATIN CAPITAL LETTER U WITH DIAERESIS +        shiftr  keycode  44 = +Udiaeresis      # Ü [U+00DC] LATIN CAPITAL LETTER U WITH DIAERESIS +        altgr   keycode  44 = numbersign       # # [U+0023] NUMBER SIGN +        ctrll   keycode  44 = U+2327           # ⌧ [U+2327] X IN A RECTANGLE BOX +shiftl  ctrll   keycode  44 = U+2327           # ⌧ [U+2327] X IN A RECTANGLE BOX +shiftr  ctrll   keycode  44 = U+2327           # ⌧ [U+2327] X IN A RECTANGLE BOX +shiftl  altgr   keycode  44 = space            #   [U+0020] SPACE +shiftr  altgr   keycode  44 = space            #   [U+0020] SPACE +ctrll   altgr   keycode  44 = U+222a           # ∪ [U+222A] UNION + +                keycode  45 = odiaeresis       # ö [U+00F6] LATIN SMALL LETTER O WITH DIAERESIS +shift   shiftl  keycode  45 = odiaeresis       # ö [U+00F6] LATIN SMALL LETTER O WITH DIAERESIS +shift   shiftr  keycode  45 = odiaeresis       # ö [U+00F6] LATIN SMALL LETTER O WITH DIAERESIS +        shiftl  keycode  45 = +Odiaeresis      # Ö [U+00D6] LATIN CAPITAL LETTER O WITH DIAERESIS +        shiftr  keycode  45 = +Odiaeresis      # Ö [U+00D6] LATIN CAPITAL LETTER O WITH DIAERESIS +        altgr   keycode  45 = dollar           # $ [U+0024] DOLLAR SIGN +        ctrll   keycode  45 = U+21e5           # ⇥ [U+21E5] RIGHTWARDS ARROW TO BAR +shiftl  ctrll   keycode  45 = U+21e5           # ⇥ [U+21E5] RIGHTWARDS ARROW TO BAR +shiftr  ctrll   keycode  45 = U+21e5           # ⇥ [U+21E5] RIGHTWARDS ARROW TO BAR +shiftl  altgr   keycode  45 = U+03f5           # ϵ [U+03F5] GREEK LUNATE EPSILON SYMBOL +shiftr  altgr   keycode  45 = U+03f5           # ϵ [U+03F5] GREEK LUNATE EPSILON SYMBOL +ctrll   altgr   keycode  45 = U+2229           # ∩ [U+2229] INTERSECTION + +                keycode  46 = adiaeresis       # ä [U+00E4] LATIN SMALL LETTER A WITH DIAERESIS +shift   shiftl  keycode  46 = adiaeresis       # ä [U+00E4] LATIN SMALL LETTER A WITH DIAERESIS +shift   shiftr  keycode  46 = adiaeresis       # ä [U+00E4] LATIN SMALL LETTER A WITH DIAERESIS +        shiftl  keycode  46 = +Adiaeresis      # Ä [U+00C4] LATIN CAPITAL LETTER A WITH DIAERESIS +        shiftr  keycode  46 = +Adiaeresis      # Ä [U+00C4] LATIN CAPITAL LETTER A WITH DIAERESIS +        altgr   keycode  46 = bar              # | [U+007C] VERTICAL LINE +        ctrll   keycode  46 = U+2380           # ⎀ [U+2380] INSERTION SYMBOL +shiftl  ctrll   keycode  46 = U+2380           # ⎀ [U+2380] INSERTION SYMBOL +shiftr  ctrll   keycode  46 = U+2380           # ⎀ [U+2380] INSERTION SYMBOL +shiftl  altgr   keycode  46 = U+03b7           # η [U+03B7] GREEK SMALL LETTER ETA +shiftr  altgr   keycode  46 = U+03b7           # η [U+03B7] GREEK SMALL LETTER ETA +ctrll   altgr   keycode  46 = U+2135           # ℵ [U+2135] ALEF SYMBOL + +                keycode  47 = p                # p [U+0070] LATIN SMALL LETTER P +shift   shiftl  keycode  47 = p                # p [U+0070] LATIN SMALL LETTER P +shift   shiftr  keycode  47 = p                # p [U+0070] LATIN SMALL LETTER P +        shiftl  keycode  47 = +P               # P [U+0050] LATIN CAPITAL LETTER P +        shiftr  keycode  47 = +P               # P [U+0050] LATIN CAPITAL LETTER P +        altgr   keycode  47 = asciitilde       # ~ [U+007E] TILDE +        ctrll   keycode  47 = U+21b2           # ↲ [U+21B2] DOWNWARDS ARROW WITH TIP LEFTWARDS +shiftl  ctrll   keycode  47 = U+21b2           # ↲ [U+21B2] DOWNWARDS ARROW WITH TIP LEFTWARDS +shiftr  ctrll   keycode  47 = U+21b2           # ↲ [U+21B2] DOWNWARDS ARROW WITH TIP LEFTWARDS +shiftl  altgr   keycode  47 = U+03c0           # π [U+03C0] GREEK SMALL LETTER PI +shiftr  altgr   keycode  47 = U+03c0           # π [U+03C0] GREEK SMALL LETTER PI +ctrll   altgr   keycode  47 = U+03a0           # Π [U+03A0] GREEK CAPITAL LETTER PI + +                keycode  48 = z                # z [U+007A] LATIN SMALL LETTER Z +shift   shiftl  keycode  48 = z                # z [U+007A] LATIN SMALL LETTER Z +shift   shiftr  keycode  48 = z                # z [U+007A] LATIN SMALL LETTER Z +        shiftl  keycode  48 = +Z               # Z [U+005A] LATIN CAPITAL LETTER Z +        shiftr  keycode  48 = +Z               # Z [U+005A] LATIN CAPITAL LETTER Z +        altgr   keycode  48 = grave            # ` [U+0060] GRAVE ACCENT +        ctrll   keycode  48 = U+21b6           # ↶ [U+21B6] ANTICLOCKWISE TOP SEMICIRCLE ARROW +shiftl  ctrll   keycode  48 = U+21b6           # ↶ [U+21B6] ANTICLOCKWISE TOP SEMICIRCLE ARROW +shiftr  ctrll   keycode  48 = U+21b6           # ↶ [U+21B6] ANTICLOCKWISE TOP SEMICIRCLE ARROW +shiftl  altgr   keycode  48 = U+03b6           # ζ [U+03B6] GREEK SMALL LETTER ZETA +shiftr  altgr   keycode  48 = U+03b6           # ζ [U+03B6] GREEK SMALL LETTER ZETA +ctrll   altgr   keycode  48 = U+2124           # ℤ [U+2124] DOUBLE-STRUCK CAPITAL Z + +                keycode  49 = b                # b [U+0062] LATIN SMALL LETTER B +shift   shiftl  keycode  49 = b                # b [U+0062] LATIN SMALL LETTER B +shift   shiftr  keycode  49 = b                # b [U+0062] LATIN SMALL LETTER B +        shiftl  keycode  49 = +B               # B [U+0042] LATIN CAPITAL LETTER B +        shiftr  keycode  49 = +B               # B [U+0042] LATIN CAPITAL LETTER B +        altgr   keycode  49 = plus             # + [U+002B] PLUS SIGN +        ctrll   keycode  49 = colon            # : [U+003A] COLON +shiftl  ctrll   keycode  49 = colon            # : [U+003A] COLON +shiftr  ctrll   keycode  49 = colon            # : [U+003A] COLON +shiftl  altgr   keycode  49 = U+03b2           # β [U+03B2] GREEK SMALL LETTER BETA +shiftr  altgr   keycode  49 = U+03b2           # β [U+03B2] GREEK SMALL LETTER BETA +ctrll   altgr   keycode  49 = U+21d0           # ⇐ [U+21D0] LEFTWARDS DOUBLE ARROW + +                keycode  50 = m                # m [U+006D] LATIN SMALL LETTER M +shift   shiftl  keycode  50 = m                # m [U+006D] LATIN SMALL LETTER M +shift   shiftr  keycode  50 = m                # m [U+006D] LATIN SMALL LETTER M +        shiftl  keycode  50 = +M               # M [U+004D] LATIN CAPITAL LETTER M +        shiftr  keycode  50 = +M               # M [U+004D] LATIN CAPITAL LETTER M +        altgr   keycode  50 = percent          # % [U+0025] PERCENT SIGN +        ctrll   keycode  50 = one              # 1 [U+0031] DIGIT ONE +shiftl  ctrll   keycode  50 = one              # 1 [U+0031] DIGIT ONE +shiftr  ctrll   keycode  50 = one              # 1 [U+0031] DIGIT ONE +shiftl  altgr   keycode  50 = U+03bc           # μ [U+03BC] GREEK SMALL LETTER MU +shiftr  altgr   keycode  50 = U+03bc           # μ [U+03BC] GREEK SMALL LETTER MU +ctrll   altgr   keycode  50 = U+21d4           # ⇔ [U+21D4] LEFT RIGHT DOUBLE ARROW + +                keycode  51 = comma            # , [U+002C] COMMA +        shiftl  keycode  51 = U+2013           # – [U+2013] EN DASH +        shiftr  keycode  51 = U+2013           # – [U+2013] EN DASH +        altgr   keycode  51 = quotedbl         # " [U+0022] QUOTATION MARK +        ctrll   keycode  51 = two              # 2 [U+0032] DIGIT TWO +shiftl  ctrll   keycode  51 = two              # 2 [U+0032] DIGIT TWO +shiftr  ctrll   keycode  51 = two              # 2 [U+0032] DIGIT TWO +shiftl  altgr   keycode  51 = U+03f1           # ϱ [U+03F1] GREEK RHO SYMBOL +shiftr  altgr   keycode  51 = U+03f1           # ϱ [U+03F1] GREEK RHO SYMBOL +ctrll   altgr   keycode  51 = U+21d2           # ⇒ [U+21D2] RIGHTWARDS DOUBLE ARROW + +                keycode  52 = period           # . [U+002E] FULL STOP +        shiftl  keycode  52 = U+2022           # • [U+2022] BULLET +        shiftr  keycode  52 = U+2022           # • [U+2022] BULLET +        altgr   keycode  52 = apostrophe       # ' [U+0027] APOSTROPHE +        ctrll   keycode  52 = three            # 3 [U+0033] DIGIT THREE +shiftl  ctrll   keycode  52 = three            # 3 [U+0033] DIGIT THREE +shiftr  ctrll   keycode  52 = three            # 3 [U+0033] DIGIT THREE +shiftl  altgr   keycode  52 = U+03d1           # ϑ [U+03D1] GREEK THETA SYMBOL +shiftr  altgr   keycode  52 = U+03d1           # ϑ [U+03D1] GREEK THETA SYMBOL +ctrll   altgr   keycode  52 = U+21a6           # ↦ [U+21A6] RIGHTWARDS ARROW FROM BAR + +                keycode  53 = j                # j [U+006A] LATIN SMALL LETTER J +shift   shiftl  keycode  53 = j                # j [U+006A] LATIN SMALL LETTER J +shift   shiftr  keycode  53 = j                # j [U+006A] LATIN SMALL LETTER J +        shiftl  keycode  53 = +J               # J [U+004A] LATIN CAPITAL LETTER J +        shiftr  keycode  53 = +J               # J [U+004A] LATIN CAPITAL LETTER J +        altgr   keycode  53 = semicolon        # ; [U+003B] SEMICOLON +        ctrll   keycode  53 = semicolon        # ; [U+003B] SEMICOLON +shiftl  ctrll   keycode  53 = semicolon        # ; [U+003B] SEMICOLON +shiftr  ctrll   keycode  53 = semicolon        # ; [U+003B] SEMICOLON +shiftl  altgr   keycode  53 = U+03b8           # θ [U+03B8] GREEK SMALL LETTER THETA +shiftr  altgr   keycode  53 = U+03b8           # θ [U+03B8] GREEK SMALL LETTER THETA +ctrll   altgr   keycode  53 = U+0398           # Θ [U+0398] GREEK CAPITAL LETTER THETA + +#========================================================================== +# Manual character definitions +#========================================================================== + +# Die Leertaste definieren wir manuell +                keycode  57 = space            #   [U+0020] SPACE +        ctrll   keycode  57 = zero             # 0 [U+0030] DIGIT ZERO +shiftl  ctrll   keycode  57 = zero             # 0 [U+0030] DIGIT ZERO +shiftr  ctrll   keycode  57 = zero             # 0 [U+0030] DIGIT ZERO +shiftl  altgr   keycode  57 = nobreakspace     #   [U+02DE] NO-BREAK SPACE +shiftr  altgr   keycode  57 = nobreakspace     #   [U+02DE] NO-BREAK SPACE +ctrll   altgr   keycode  57 = U+202F           #   [U+202F] NARROW NO-BREAK SPACE + +# Wrong CapsLock behaviour with ssharp, see: +# https://bugzilla.kernel.org/show_bug.cgi?id=7063 +        plain   keycode  26 = +ssharp          # ß [U+00DF] LATIN SMALL LETTER SHARP S +        shift   keycode  26 = U+1e9e           # ẞ [U+1E9E] LATIN CAPITAL LETTER SHARP S + +#========================================================================== +# Special keys (dead keys, non-character keys, exeptions for keys above) +#========================================================================== + +        plain   keycode  41 = dead_circumflex  # +                 +        ctrll   keycode   5 = VoidSymbol       #    +shiftl  ctrll   keycode   5 = VoidSymbol       #    +shiftr  ctrll   keycode   5 = VoidSymbol       # + +        altgr   keycode  12 = VoidSymbol       # +         +        plain   keycode  13 = dead_grave       #  +        shiftl  keycode  13 = dead_cedilla     #  +        shiftr  keycode  13 = dead_cedilla     # +        altgr   keycode  13 = degree           # +        ctrll   keycode  13 = dead_diaeresis   #  +shiftl  ctrll   keycode  13 = dead_diaeresis   #  +shiftr  ctrll   keycode  13 = dead_diaeresis   #  + +        ctrll   keycode  16 = Prior            #  +shiftl  ctrll   keycode  16 = Prior            #  +shiftr  ctrll   keycode  16 = Prior            #  + +        ctrll   keycode  17 = BackSpace        # +shiftl  ctrll   keycode  17 = BackSpace        # +shiftr  ctrll   keycode  17 = BackSpace        #  +shiftl  altgr   keycode  17 = VoidSymbol       #   +shiftr  altgr   keycode  17 = VoidSymbol       #   + +        ctrll   keycode  18 = Up               #  +shiftl  ctrll   keycode  18 = Up               #  +shiftr  ctrll   keycode  18 = Up               #  + +        ctrll   keycode  19 = Remove           #  +shiftl  ctrll   keycode  19 = Remove           # +shiftr  ctrll   keycode  19 = Remove           #  + +        ctrll   keycode  20 = Next             #  +shiftl  ctrll   keycode  20 = Next             #  +shiftr  ctrll   keycode  20 = Next             #  + +        plain   keycode  27 = dead_acute       #  +        shiftl  keycode  27 = dead_tilde       #  +        shiftr  keycode  27 = dead_tilde       #  +         +        ctrll   keycode  30 = Home             #  +shiftl  ctrll   keycode  30 = Home             #  +shiftr  ctrll   keycode  30 = Home             #  +shiftl  altgr   keycode  30 = VoidSymbol       #    +shiftr  altgr   keycode  30 = VoidSymbol       #    + +        ctrll   keycode  31 = Left             #  +shiftl  ctrll   keycode  31 = Left             #  +shiftr  ctrll   keycode  31 = Left             #  + +        ctrll   keycode  32 = Down             #  +shiftl  ctrll   keycode  32 = Down             #  +shiftr  ctrll   keycode  32 = Down             #  + +        ctrll   keycode  33 = Right            #  +shiftl  ctrll   keycode  33 = Right            #  +shiftr  ctrll   keycode  33 = Right            #  + +        ctrll   keycode  34 = End              #  +shiftl  ctrll   keycode  34 = End              # +shiftr  ctrll   keycode  34 = End              #  + +        ctrll   keycode  44 = Escape           #  +shiftl  ctrll   keycode  44 = Escape           #  +shiftr  ctrll   keycode  44 = Escape           #  +shiftl  altgr   keycode  44 = VoidSymbol       #    +shiftr  altgr   keycode  44 = VoidSymbol       #    + +        ctrll   keycode  45 = Tab              #  +shiftl  ctrll   keycode  45 = Tab              #  +shiftr  ctrll   keycode  45 = Tab              #  + +        ctrll   keycode  46 = Insert           #  +shiftl  ctrll   keycode  46 = Insert           #  +shiftr  ctrll   keycode  46 = Insert           #  + +        ctrll   keycode  47 = Return           #  +shiftl  ctrll   keycode  47 = Return           #  +shiftr  ctrll   keycode  47 = Return           #  + +        ctrll   keycode  48 = VoidSymbol       #  +shiftl  ctrll   keycode  48 = VoidSymbol       #  +shiftr  ctrll   keycode  48 = VoidSymbol       #  + +#========================================================================== +# Keypad +#========================================================================== + +                keycode  69 = Tab              #  +        shiftl  keycode  69 = Tab              #  +        shiftr  keycode  69 = Tab              #  +        altgr   keycode  69 = equal            # = [U+003D] EQUALS SIGN +        ctrll   keycode  69 = U+2260           # ≠ [U+2260] NOT EQUAL TO +shiftl  ctrll   keycode  69 = U+2260           # ≠ [U+2260] NOT EQUAL TO +shiftr  ctrll   keycode  69 = U+2260           # ≠ [U+2260] NOT EQUAL TO +shiftl  altgr   keycode  69 = U+2248           # ≈ [U+2248] ALMOST EQUAL TO +shiftr  altgr   keycode  69 = U+2248           # ≈ [U+2248] ALMOST EQUAL TO +ctrll   altgr   keycode  69 = U+2261           # ≡ [U+2261] IDENTICAL TO + +                keycode  98 = KP_Divide        # / [U+002F] SOLIDUS +        shiftl  keycode  98 = KP_Divide        # / [U+002F] SOLIDUS +        shiftr  keycode  98 = KP_Divide        # / [U+002F] SOLIDUS +        altgr   keycode  98 = division         # ÷ [U+00F7] DIVISION SIGN +        ctrll   keycode  98 = U+2044           # ⁄ [U+2044] FRACTION SLASH +shiftl  ctrll   keycode  98 = U+2044           # ⁄ [U+2044] FRACTION SLASH +shiftr  ctrll   keycode  98 = U+2044           # ⁄ [U+2044] FRACTION SLASH +shiftl  altgr   keycode  98 = U+2300           # ⌀ [U+2300] DIAMETER SIGN +shiftr  altgr   keycode  98 = U+2300           # ⌀ [U+2300] DIAMETER SIGN +ctrll   altgr   keycode  98 = U+2223           # ∣ [U+2223] DIVIDES + +                keycode  55 = KP_Multiply      # * [U+002A] ASTERISK +        shiftl  keycode  55 = KP_Multiply      # * [U+002A] ASTERISK +        shiftr  keycode  55 = KP_Multiply      # * [U+002A] ASTERISK +        altgr   keycode  55 = U+22c5           # ⋅ [U+22C5] DOT OPERATOR +        ctrll   keycode  55 = multiply         # × [U+00D7] MULTIPLICATION SIGN +shiftl  ctrll   keycode  55 = multiply         # × [U+00D7] MULTIPLICATION SIGN +shiftr  ctrll   keycode  55 = multiply         # × [U+00D7] MULTIPLICATION SIGN +shiftl  altgr   keycode  55 = U+2299           # ⊙ [U+2299] CIRCLED DOT OPERATOR +shiftr  altgr   keycode  55 = U+2299           # ⊙ [U+2299] CIRCLED DOT OPERATOR +ctrll   altgr   keycode  55 = U+2297           # ⊗ [U+2297] CIRCLED TIMES + +                keycode  74 = KP_Subtract      # - [U+002D] HYPHEN-MINUS +        shiftl  keycode  74 = KP_Subtract      # - [U+002D] HYPHEN-MINUS +        shiftr  keycode  74 = KP_Subtract      # - [U+002D] HYPHEN-MINUS +        altgr   keycode  74 = U+2212           # − [U+2212] MINUS SIGN +        ctrll   keycode  74 = U+2216           # ∖ [U+2216] SET MINUS +shiftl  ctrll   keycode  74 = U+2216           # ∖ [U+2216] SET MINUS +shiftr  ctrll   keycode  74 = U+2216           # ∖ [U+2216] SET MINUS +shiftl  altgr   keycode  74 = U+2296           # ⊖ [U+2296] CIRCLED MINUS +shiftr  altgr   keycode  74 = U+2296           # ⊖ [U+2296] CIRCLED MINUS +ctrll   altgr   keycode  74 = U+2238           # ∸ [U+2238] DOT MINUS + +                keycode  71 = KP_7             # 7 [U+0037] DIGIT SEVEN +        shiftl  keycode  71 = U+2714           # ✔ [U+2714] HEAVY CHECK MARK +        shiftr  keycode  71 = U+2714           # ✔ [U+2714] HEAVY CHECK MARK +        altgr   keycode  71 = U+2195           # ↕ [U+2195] UP DOWN ARROW +        ctrll   keycode  71 = Home             #  +shiftl  ctrll   keycode  71 = Home             #  +shiftr  ctrll   keycode  71 = Home             #  +shiftl  altgr   keycode  71 = U+226a           # ≪ [U+226A] MUCH LESS-THAN +shiftr  altgr   keycode  71 = U+226a           # ≪ [U+226A] MUCH LESS-THAN +ctrll   altgr   keycode  71 = U+2308           # ⌈ [U+2308] LEFT CEILING + +                keycode  72 = KP_8             # 8 [U+0038] DIGIT EIGHT +        shiftl  keycode  72 = U+2718           # ✘ [U+2718] HEAVY BALLOT X +        shiftr  keycode  72 = U+2718           # ✘ [U+2718] HEAVY BALLOT X +        altgr   keycode  72 = U+2191           # ↑ [U+2191] UPWARDS ARROW +        ctrll   keycode  72 = Up               #  +shiftl  ctrll   keycode  72 = Up               #  +shiftr  ctrll   keycode  72 = Up               #  +shiftl  altgr   keycode  72 = U+2229           # ∩ [U+2229] INTERSECTION +shiftr  altgr   keycode  72 = U+2229           # ∩ [U+2229] INTERSECTION +ctrll   altgr   keycode  72 = U+22c2           # ⋂ [U+22C2] N-ARY INTERSECTION + +                keycode  73 = KP_9             # 9 [U+0039] DIGIT NINE +        shiftl  keycode  73 = U+2020           # † [U+2020] DAGGER +        shiftr  keycode  73 = U+2020           # † [U+2020] DAGGER +        altgr   keycode  73 = VoidSymbol       #  +        ctrll   keycode  73 = Prior            #  +shiftl  ctrll   keycode  73 = Prior            #  +shiftr  ctrll   keycode  73 = Prior            #  +shiftl  altgr   keycode  73 = U+226b           # ≫ [U+226B] MUCH GREATER-THAN +shiftr  altgr   keycode  73 = U+226b           # ≫ [U+226B] MUCH GREATER-THAN +ctrll   altgr   keycode  73 = U+2309           # ⌉ [U+2309] RIGHT CEILING + +                keycode  75 = KP_4             # 4 [U+0034] DIGIT FOUR +        shiftl  keycode  75 = U+2663           # ♣ [U+2663] BLACK CLUB SUIT +        shiftr  keycode  75 = U+2663           # ♣ [U+2663] BLACK CLUB SUIT +        altgr   keycode  75 = U+2190           # ← [U+2190] LEFTWARDS ARROW +        ctrll   keycode  75 = Left             #  +shiftl  ctrll   keycode  75 = Left             #  +shiftr  ctrll   keycode  75 = Left             #  +shiftl  altgr   keycode  75 = U+2282           # ⊂ [U+2282] SUBSET OF +shiftr  altgr   keycode  75 = U+2282           # ⊂ [U+2282] SUBSET OF +ctrll   altgr   keycode  75 = U+2286           # ⊆ [U+2286] SUBSET OF OR EQUAL TO + +                keycode  76 = KP_5             # 5 [U+0035] DIGIT FIVE +        shiftl  keycode  76 = U+20ac           # € [U+20AC] EURO SIGN +        shiftr  keycode  76 = U+20ac           # € [U+20AC] EURO SIGN +        altgr   keycode  76 = colon            # : [U+003A] COLON +        ctrll   keycode  76 = VoidSymbol       #  +shiftl  ctrll   keycode  76 = VoidSymbol       #  +shiftr  ctrll   keycode  76 = VoidSymbol       #  +shiftl  altgr   keycode  76 = U+22b6           # ⊶ [U+22B6] ORIGINAL OF +shiftr  altgr   keycode  76 = U+22b6           # ⊶ [U+22B6] ORIGINAL OF +ctrll   altgr   keycode  76 = U+22b7           # ⊷ [U+22B7] IMAGE OF + +                keycode  77 = KP_6             # 6 [U+0036] DIGIT SIX +        shiftl  keycode  77 = U+2023           # ‣ [U+2023] TRIANGULAR BULLET +        shiftr  keycode  77 = U+2023           # ‣ [U+2023] TRIANGULAR BULLET +        altgr   keycode  77 = U+2192           # → [U+2192] RIGHTWARDS ARROW +        ctrll   keycode  77 = Right            #  +shiftl  ctrll   keycode  77 = Right            #  +shiftr  ctrll   keycode  77 = Right            #  +shiftl  altgr   keycode  77 = U+2283           # ⊃ [U+2283] SUPERSET OF +shiftr  altgr   keycode  77 = U+2283           # ⊃ [U+2283] SUPERSET OF +ctrll   altgr   keycode  77 = U+2287           # ⊇ [U+2287] SUPERSET OF OR EQUAL TO + +                keycode  78 = KP_Add           # + [U+002B] PLUS SIGN +        shiftl  keycode  78 = KP_Add           # + [U+002B] PLUS SIGN +        shiftr  keycode  78 = KP_Add           # + [U+002B] PLUS SIGN +        altgr   keycode  78 = plusminus        # ± [U+00B1] PLUS-MINUS SIGN +        ctrll   keycode  78 = U+2213           # ∓ [U+2213] MINUS-OR-PLUS SIGN +shiftl  ctrll   keycode  78 = U+2213           # ∓ [U+2213] MINUS-OR-PLUS SIGN +shiftr  ctrll   keycode  78 = U+2213           # ∓ [U+2213] MINUS-OR-PLUS SIGN +shiftl  altgr   keycode  78 = U+2295           # ⊕ [U+2295] CIRCLED PLUS +shiftr  altgr   keycode  78 = U+2295           # ⊕ [U+2295] CIRCLED PLUS +ctrll   altgr   keycode  78 = U+2214           # ∔ [U+2214] DOT PLUS + +                keycode  79 = KP_1             # 1 [U+0031] DIGIT ONE +        shiftl  keycode  79 = U+2666           # ♦ [U+2666] BLACK DIAMOND SUIT +        shiftr  keycode  79 = U+2666           # ♦ [U+2666] BLACK DIAMOND SUIT +        altgr   keycode  79 = U+2194           # ↔ [U+2194] LEFT RIGHT ARROW +        ctrll   keycode  79 = End              #  +shiftl  ctrll   keycode  79 = End              #  +shiftr  ctrll   keycode  79 = End              #  +shiftl  altgr   keycode  79 = U+2264           # ≤ [U+2264] LESS-THAN OR EQUAL TO +shiftr  altgr   keycode  79 = U+2264           # ≤ [U+2264] LESS-THAN OR EQUAL TO +ctrll   altgr   keycode  79 = U+230a           # ⌊ [U+230A] LEFT FLOOR + +                keycode  80 = KP_2             # 2 [U+0032] DIGIT TWO +        shiftl  keycode  80 = U+2665           # ♥ [U+2665] BLACK HEART SUIT +        shiftr  keycode  80 = U+2665           # ♥ [U+2665] BLACK HEART SUIT +        altgr   keycode  80 = U+2193           # ↓ [U+2193] DOWNWARDS ARROW +        ctrll   keycode  80 = Down             #  +shiftl  ctrll   keycode  80 = Down             #  +shiftr  ctrll   keycode  80 = Down             #  +shiftl  altgr   keycode  80 = U+222a           # ∪ [U+222A] UNION +shiftr  altgr   keycode  80 = U+222a           # ∪ [U+222A] UNION +ctrll   altgr   keycode  80 = U+22c3           # ⋃ [U+22C3] N-ARY UNION + +                keycode  81 = KP_3             # 3 [U+0033] DIGIT THREE +        shiftl  keycode  81 = U+2660           # ♠ [U+2660] BLACK SPADE SUIT +        shiftr  keycode  81 = U+2660           # ♠ [U+2660] BLACK SPADE SUIT +        altgr   keycode  81 = U+21cc           # ⇌ [U+21CC] RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON +        ctrll   keycode  81 = Next             #  +shiftl  ctrll   keycode  81 = Next             #  +shiftr  ctrll   keycode  81 = Next             #  +shiftl  altgr   keycode  81 = U+2265           # ≥ [U+2265] GREATER-THAN OR EQUAL TO +shiftr  altgr   keycode  81 = U+2265           # ≥ [U+2265] GREATER-THAN OR EQUAL TO +ctrll   altgr   keycode  81 = U+230b           # ⌋ [U+230B] RIGHT FLOOR + +                keycode  82 = KP_0             # 0 [U+0030] DIGIT ZERO +        shiftl  keycode  82 = U+2423           # ␣ [U+2423] OPEN BOX +        shiftr  keycode  82 = U+2423           # ␣ [U+2423] OPEN BOX +        altgr   keycode  82 = percent          # % [U+0025] PERCENT SIGN +        ctrll   keycode  82 = Insert           #  +shiftl  ctrll   keycode  82 = Insert           #  +shiftr  ctrll   keycode  82 = Insert           #  +shiftl  altgr   keycode  82 = U+2030           # ‰ [U+2030] PER MILLE SIGN +shiftr  altgr   keycode  82 = U+2030           # ‰ [U+2030] PER MILLE SIGN +ctrll   altgr   keycode  82 = U+25a1           # □ [U+25A1] WHITE SQUARE + +                keycode  83 = KP_Comma         # , [U+002C] COMMA +        shiftl  keycode  83 = period           # . [U+002E] FULL STOP +        shiftr  keycode  83 = period           # . [U+002E] FULL STOP +        altgr   keycode  83 = comma            # , [U+002C] COMMA +        ctrll   keycode  83 = Remove           #  +shiftl  ctrll   keycode  83 = Remove           #  +shiftr  ctrll   keycode  83 = Remove           #  +shiftl  altgr   keycode  83 = U+2032           # ′ [U+2032] PRIME +shiftr  altgr   keycode  83 = U+2032           # ′ [U+2032] PRIME +ctrll   altgr   keycode  83 = U+2033           # ″ [U+2033] DOUBLE PRIME + +                keycode  96 = KP_Enter         #  | 
