diff options
Diffstat (limited to 'linux/console')
-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 # |