Last active
July 15, 2025 04:48
-
-
Save dardo82/ec183e778bad1d6be5a75a0a95353b4e to your computer and use it in GitHub Desktop.
fixterms keymap
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# hypermap.map 1994/11/11 | |
# Michael Shields <[email protected]> | |
# | |
# A keymap redesigned for sanity. | |
# | |
# | |
# This keymap is a ground-up reimplementation of the keyboard map, | |
# intended to be consistent and rational. It uses an m4 metalanguage to | |
# declare the key mappings. Usage is `m4 hypermap.map | loadkeys'. | |
# | |
# The modifier flags used are `shift' (1), `control' (4), and `alt' (8). | |
# Left and right modifiers are not distinguished. | |
# | |
# In general, Meta is always distinguished, and M-S-KEY is distinct from | |
# M-KEY. This is good news for Emacs users. C-S-KEY is consistently | |
# folded into C-KEY. | |
# | |
# Shift is more loosely interpreted than the other modifiers; usually if | |
# S-KEY has no special meaning, the action will be the same as KEY. | |
# However, if M-KEY or H-KEY is undefined, nothing happens. | |
# | |
# Because Caps Lock's position is so out of proportion to its utility, | |
# it's been totally redefined to a new sort of modifier, which I've | |
# arbitrarily named `Hyper'. Shift is ignored with Hyper. Hyper | |
# provides dead keys: | |
# H-` dead accent grave | |
# H-' dead acute accent | |
# H-^ dead circumflex | |
# H-t dead tilde | |
# H-d dead diaeresis | |
# and ISO-8859-1 symbols (some more mnemonic than others): | |
# H-SPC nobreakspace | |
# H-! inverted bang | |
# H-h cents (`hundredths') | |
# H-# pounds sterling | |
# H-$ currency | |
# H-y yen | |
# H-| broken bar | |
# H-s section (the galaxy symbol) | |
# H-c copyright | |
# H-a feminine ordinal | |
# H-< left guillemot | |
# H-] not sign (it's angular) | |
# H-- soft hyphen | |
# H-r registered trademark symbol | |
# H-= macron | |
# H-0 degrees | |
# H-[ plus/minus (near + and -) | |
# H-k superior 2 (jkl form a series) | |
# H-l superior 3 | |
# H-u mu | |
# H-p pilcrow | |
# H-: centered dot | |
# H-j superior 1 | |
# H-o masculine ordinal | |
# H-> right guillemot | |
# H-q 1/4 fraction (qwe form a series) | |
# H-w 1/2 fraction | |
# H-e 3/4 fraction | |
# H-? inverted question mark | |
# H-x multiplication symbol | |
# H-% division symbol | |
# You can also use Hyper plus Alt to type characters by decimal code on | |
# the keypad, as with Alt alone, or in hex on the main keyboard. And | |
# H-TAB is a Caps Lock. | |
# | |
# Function keys work as marked, unless with Alt, in which case they | |
# switch to the console with the same number. Shift adds 12 and Hyper | |
# adds 24 to the numbers (i.e., they logically switch to other banks). | |
# Thus you can easily address up to 48. Control is ignored, for | |
# consistency with X. | |
# | |
# Finally, you can change the behavior of the Caps Lock and Controls | |
# with m4 command-line options. The default values are equivalent to | |
# `-DCAPSLOCK_K=Hyper -DLEFTCTRL_K=Control -DRIGHTCTRL_K=Control'. You | |
# can remove the Hyper code entirely with `-DCAPSLOCK_K=Caps_Lock'. | |
# | |
# This file is arranged vaguely by key position on the classic PC layout. | |
# | |
keymaps 0,1,4,5,8,9,12,13,128,129,132,133,136,137,140,141 | |
keycode 1 = Escape VoidSymbol | |
shift keycode 1 = Escape | |
alt keycode 1 = Meta_Escape | |
shift alt keycode 1 = Meta_Escape | |
keycode 59 = F1 VoidSymbol | |
shift keycode 59 = F13 | |
ctrlr keycode 59 = F25 | |
shift ctrlr keycode 59 = F37 | |
alt keycode 59 = Console_1 | |
shift alt keycode 59 = Console_13 | |
ctrlr alt keycode 59 = Console_25 | |
shift ctrlr alt keycode 59 = Console_37 | |
keycode 60 = F2 VoidSymbol | |
shift keycode 60 = F14 | |
ctrlr keycode 60 = F26 | |
shift ctrlr keycode 60 = F38 | |
alt keycode 60 = Console_2 | |
shift alt keycode 60 = Console_14 | |
ctrlr alt keycode 60 = Console_26 | |
shift ctrlr alt keycode 60 = Console_38 | |
keycode 61 = F3 VoidSymbol | |
shift keycode 61 = F15 | |
ctrlr keycode 61 = F27 | |
shift ctrlr keycode 61 = F39 | |
alt keycode 61 = Console_3 | |
shift alt keycode 61 = Console_15 | |
ctrlr alt keycode 61 = Console_27 | |
shift ctrlr alt keycode 61 = Console_39 | |
keycode 62 = F4 VoidSymbol | |
shift keycode 62 = F16 | |
ctrlr keycode 62 = F28 | |
shift ctrlr keycode 62 = F40 | |
alt keycode 62 = Console_4 | |
shift alt keycode 62 = Console_16 | |
ctrlr alt keycode 62 = Console_28 | |
shift ctrlr alt keycode 62 = Console_40 | |
keycode 63 = F5 VoidSymbol | |
shift keycode 63 = F17 | |
ctrlr keycode 63 = F29 | |
shift ctrlr keycode 63 = F41 | |
alt keycode 63 = Console_5 | |
shift alt keycode 63 = Console_17 | |
ctrlr alt keycode 63 = Console_29 | |
shift ctrlr alt keycode 63 = Console_41 | |
keycode 64 = F6 VoidSymbol | |
shift keycode 64 = F18 | |
ctrlr keycode 64 = F30 | |
shift ctrlr keycode 64 = F42 | |
alt keycode 64 = Console_6 | |
shift alt keycode 64 = Console_18 | |
ctrlr alt keycode 64 = Console_30 | |
shift ctrlr alt keycode 64 = Console_42 | |
keycode 65 = F7 VoidSymbol | |
shift keycode 65 = F19 | |
ctrlr keycode 65 = F31 | |
shift ctrlr keycode 65 = F43 | |
alt keycode 65 = Console_7 | |
shift alt keycode 65 = Console_19 | |
ctrlr alt keycode 65 = Console_31 | |
shift ctrlr alt keycode 65 = Console_43 | |
keycode 66 = F8 VoidSymbol | |
shift keycode 66 = F20 | |
ctrlr keycode 66 = F32 | |
shift ctrlr keycode 66 = F44 | |
alt keycode 66 = Console_8 | |
shift alt keycode 66 = Console_20 | |
ctrlr alt keycode 66 = Console_32 | |
shift ctrlr alt keycode 66 = Console_44 | |
keycode 67 = F9 VoidSymbol | |
shift keycode 67 = F21 | |
ctrlr keycode 67 = F33 | |
shift ctrlr keycode 67 = F45 | |
alt keycode 67 = Console_9 | |
shift alt keycode 67 = Console_21 | |
ctrlr alt keycode 67 = Console_33 | |
shift ctrlr alt keycode 67 = Console_45 | |
keycode 68 = F10 VoidSymbol | |
shift keycode 68 = F22 | |
ctrlr keycode 68 = F34 | |
shift ctrlr keycode 68 = F46 | |
alt keycode 68 = Console_10 | |
shift alt keycode 68 = Console_22 | |
ctrlr alt keycode 68 = Console_34 | |
shift ctrlr alt keycode 68 = Console_46 | |
keycode 87 = F11 VoidSymbol | |
shift keycode 87 = F23 | |
ctrlr keycode 87 = F35 | |
shift ctrlr keycode 87 = F47 | |
alt keycode 87 = Console_11 | |
shift alt keycode 87 = Console_23 | |
ctrlr alt keycode 87 = Console_35 | |
shift ctrlr alt keycode 87 = Console_47 | |
keycode 88 = F12 VoidSymbol | |
shift keycode 88 = F24 | |
ctrlr keycode 88 = F36 | |
shift ctrlr keycode 88 = F48 | |
alt keycode 88 = Console_12 | |
shift alt keycode 88 = Console_24 | |
ctrlr alt keycode 88 = Console_36 | |
shift ctrlr alt keycode 88 = Console_48 | |
keycode 2 = one VoidSymbol | |
shift keycode 2 = exclam | |
alt keycode 2 = Meta_one | |
shift alt keycode 2 = Meta_exclam | |
ctrlr keycode 2 = exclamdown | |
shift ctrlr keycode 2 = exclamdown | |
alt ctrlr keycode 2 = Hex_1 | |
shift alt ctrlr keycode 2 = Hex_1 | |
keycode 3 = two VoidSymbol | |
shift keycode 3 = at | |
alt keycode 3 = Meta_two | |
shift alt keycode 3 = Meta_at | |
control keycode 3 = nul | |
shift control keycode 3 = nul | |
control alt keycode 3 = Meta_nul | |
shift control alt keycode 3 = Meta_nul | |
alt ctrlr keycode 3 = Hex_2 | |
shift alt ctrlr keycode 3 = Hex_2 | |
keycode 4 = three VoidSymbol | |
shift keycode 4 = numbersign | |
alt keycode 4 = Meta_three | |
shift alt keycode 4 = Meta_numbersign | |
ctrlr keycode 4 = pound | |
shift ctrlr keycode 4 = pound | |
alt ctrlr keycode 4 = Hex_3 | |
shift alt ctrlr keycode 4 = Hex_3 | |
keycode 5 = four VoidSymbol | |
shift keycode 5 = dollar | |
alt keycode 5 = Meta_four | |
shift alt keycode 5 = Meta_dollar | |
ctrlr keycode 5 = currency | |
shift ctrlr keycode 5 = currency | |
alt ctrlr keycode 5 = Hex_4 | |
shift alt ctrlr keycode 5 = Hex_4 | |
keycode 6 = five VoidSymbol | |
shift keycode 6 = percent | |
alt keycode 6 = Meta_five | |
shift alt keycode 6 = Meta_percent | |
ctrlr keycode 6 = division | |
shift ctrlr keycode 6 = division | |
alt ctrlr keycode 6 = Hex_5 | |
shift alt ctrlr keycode 6 = Hex_5 | |
keycode 7 = six VoidSymbol | |
shift keycode 7 = asciicircum | |
alt keycode 7 = Meta_six | |
shift alt keycode 7 = Meta_asciicircum | |
control keycode 7 = Control_asciicircum | |
shift control keycode 7 = Control_asciicircum | |
control alt keycode 7 = Meta_Control_asciicircum | |
shift control alt keycode 7 = Meta_Control_asciicircum | |
ctrlr keycode 7 = dead_circumflex | |
shift ctrlr keycode 7 = dead_circumflex | |
alt ctrlr keycode 7 = Hex_6 | |
shift alt ctrlr keycode 7 = Hex_6 | |
keycode 8 = seven VoidSymbol | |
shift keycode 8 = ampersand | |
alt keycode 8 = Meta_seven | |
shift alt keycode 8 = Meta_ampersand | |
alt ctrlr keycode 8 = Hex_7 | |
shift alt ctrlr keycode 8 = Hex_7 | |
keycode 9 = eight VoidSymbol | |
shift keycode 9 = asterisk | |
alt keycode 9 = Meta_eight | |
shift alt keycode 9 = Meta_asterisk | |
alt ctrlr keycode 9 = Hex_8 | |
shift alt ctrlr keycode 9 = Hex_8 | |
keycode 10 = nine VoidSymbol | |
shift keycode 10 = parenleft | |
alt keycode 10 = Meta_nine | |
shift alt keycode 10 = Meta_parenleft | |
alt ctrlr keycode 10 = Hex_9 | |
shift alt ctrlr keycode 10 = Hex_9 | |
keycode 11 = zero VoidSymbol | |
shift keycode 11 = parenright | |
alt keycode 11 = Meta_zero | |
shift alt keycode 11 = Meta_parenright | |
ctrlr keycode 11 = degree | |
shift ctrlr keycode 11 = degree | |
alt ctrlr keycode 11 = Hex_0 | |
shift alt ctrlr keycode 11 = Hex_0 | |
keycode 12 = minus VoidSymbol | |
shift keycode 12 = underscore | |
alt keycode 12 = Meta_minus | |
shift alt keycode 12 = Meta_underscore | |
control keycode 12 = Control_underscore | |
shift control keycode 12 = Control_underscore | |
control alt keycode 12 = Meta_Control_underscore | |
shift control alt keycode 12 = Meta_Control_underscore | |
ctrlr keycode 12 = hyphen | |
shift ctrlr keycode 12 = hyphen | |
keycode 13 = equal VoidSymbol | |
shift keycode 13 = plus | |
alt keycode 13 = Meta_equal | |
shift alt keycode 13 = Meta_plus | |
ctrlr keycode 13 = macron | |
shift ctrlr keycode 13 = macron | |
keycode 14 = Delete VoidSymbol | |
shift keycode 14 = Delete | |
alt keycode 14 = Meta_Delete | |
shift alt keycode 14 = Meta_Delete | |
control keycode 14 = BackSpace | |
shift control keycode 14 = BackSpace | |
control alt keycode 14 = Meta_BackSpace | |
shift control alt keycode 14 = Meta_BackSpace | |
keycode 15 = Tab VoidSymbol | |
shift keycode 15 = Tab | |
alt keycode 15 = Meta_Tab | |
shift alt keycode 15 = Meta_Tab | |
ctrlr keycode 15 = Caps_Lock | |
shift ctrlr keycode 15 = Caps_Lock | |
keycode 16 = +q VoidSymbol | |
shift keycode 16 = +Q | |
alt keycode 16 = Meta_q | |
shift alt keycode 16 = Meta_Q | |
control keycode 16 = Control_q | |
shift control keycode 16 = F113 | |
control alt keycode 16 = Meta_Control_q | |
shift control alt keycode 16 = Meta_Control_q | |
ctrlr keycode 16 = onequarter | |
shift ctrlr keycode 16 = onequarter | |
keycode 17 = +w VoidSymbol | |
shift keycode 17 = +W | |
alt keycode 17 = Meta_w | |
shift alt keycode 17 = Meta_W | |
control keycode 17 = Control_w | |
shift control keycode 17 = F119 | |
control alt keycode 17 = Meta_Control_w | |
shift control alt keycode 17 = Meta_Control_w | |
ctrlr keycode 17 = onehalf | |
shift ctrlr keycode 17 = onehalf | |
keycode 18 = +e VoidSymbol | |
shift keycode 18 = +E | |
alt keycode 18 = Meta_e | |
shift alt keycode 18 = Meta_E | |
control keycode 18 = Control_e | |
shift control keycode 18 = F101 | |
control alt keycode 18 = Meta_Control_e | |
shift control alt keycode 18 = Meta_Control_e | |
ctrlr keycode 18 = threequarters | |
shift ctrlr keycode 18 = threequarters | |
alt ctrlr keycode 18 = Hex_E | |
shift alt ctrlr keycode 18 = Hex_E | |
keycode 19 = +r VoidSymbol | |
shift keycode 19 = +R | |
alt keycode 19 = Meta_r | |
shift alt keycode 19 = Meta_R | |
control keycode 19 = Control_r | |
shift control keycode 19 = F114 | |
control alt keycode 19 = Meta_Control_r | |
shift control alt keycode 19 = Meta_Control_r | |
ctrlr keycode 19 = registered | |
shift ctrlr keycode 19 = registered | |
keycode 20 = +t VoidSymbol | |
shift keycode 20 = +T | |
alt keycode 20 = Meta_t | |
shift alt keycode 20 = Meta_T | |
control keycode 20 = Control_t | |
shift control keycode 20 = F116 | |
control alt keycode 20 = Meta_Control_t | |
shift control alt keycode 20 = Meta_Control_t | |
ctrlr keycode 20 = dead_tilde | |
shift ctrlr keycode 20 = dead_tilde | |
keycode 21 = +y VoidSymbol | |
shift keycode 21 = +Y | |
alt keycode 21 = Meta_y | |
shift alt keycode 21 = Meta_Y | |
control keycode 21 = Control_y | |
shift control keycode 21 = F121 | |
control alt keycode 21 = Meta_Control_y | |
shift control alt keycode 21 = Meta_Control_y | |
ctrlr keycode 21 = yen | |
shift ctrlr keycode 21 = yen | |
keycode 22 = +u VoidSymbol | |
shift keycode 22 = +U | |
alt keycode 22 = Meta_u | |
shift alt keycode 22 = Meta_U | |
control keycode 22 = Control_u | |
shift control keycode 22 = F117 | |
control alt keycode 22 = Meta_Control_u | |
shift control alt keycode 22 = Meta_Control_u | |
ctrlr keycode 22 = mu | |
shift ctrlr keycode 22 = mu | |
keycode 23 = +i VoidSymbol | |
shift keycode 23 = +I | |
alt keycode 23 = Meta_i | |
shift alt keycode 23 = Meta_I | |
control keycode 23 = Control_i | |
shift control keycode 23 = F105 | |
control alt keycode 23 = Meta_Control_i | |
shift control alt keycode 23 = Meta_Control_i | |
keycode 24 = +o VoidSymbol | |
shift keycode 24 = +O | |
alt keycode 24 = Meta_o | |
shift alt keycode 24 = Meta_O | |
control keycode 24 = Control_o | |
shift control keycode 24 = F111 | |
control alt keycode 24 = Meta_Control_o | |
shift control alt keycode 24 = Meta_Control_o | |
ctrlr keycode 24 = masculine | |
shift ctrlr keycode 24 = masculine | |
keycode 25 = +p VoidSymbol | |
shift keycode 25 = +P | |
alt keycode 25 = Meta_p | |
shift alt keycode 25 = Meta_P | |
control keycode 25 = Control_p | |
shift control keycode 25 = F112 | |
control alt keycode 25 = Meta_Control_p | |
shift control alt keycode 25 = Meta_Control_p | |
ctrlr keycode 25 = 182 | |
shift ctrlr keycode 25 = 182 # pilcrow | |
keycode 26 = bracketleft VoidSymbol | |
shift keycode 26 = braceleft | |
alt keycode 26 = Meta_bracketleft | |
shift alt keycode 26 = Meta_braceleft | |
control keycode 26 = Escape | |
shift control keycode 26 = Escape | |
control alt keycode 26 = Meta_Escape | |
shift control alt keycode 26 = Meta_Escape | |
ctrlr keycode 26 = plusminus | |
shift ctrlr keycode 26 = plusminus | |
keycode 27 = bracketright VoidSymbol | |
shift keycode 27 = braceright | |
alt keycode 27 = Meta_bracketright | |
shift alt keycode 27 = Meta_braceright | |
control keycode 27 = Control_bracketright | |
shift control keycode 27 = Control_bracketright | |
control alt keycode 27 = Meta_Control_bracketright | |
shift control alt keycode 27 = Meta_Control_bracketright | |
ctrlr keycode 27 = notsign | |
shift ctrlr keycode 27 = notsign | |
keycode 28 = Return VoidSymbol | |
shift keycode 28 = Return | |
alt keycode 28 = Meta_Control_m | |
shift alt keycode 28 = Meta_Control_m | |
keycode 30 = +a VoidSymbol | |
shift keycode 30 = +A | |
alt keycode 30 = Meta_a | |
shift alt keycode 30 = Meta_A | |
control keycode 30 = Control_a | |
shift control keycode 30 = F97 | |
control alt keycode 30 = Meta_Control_a | |
shift control alt keycode 30 = Meta_Control_a | |
ctrlr keycode 30 = ordfeminine | |
shift ctrlr keycode 30 = ordfeminine | |
alt ctrlr keycode 30 = Hex_A | |
shift alt ctrlr keycode 30 = Hex_A | |
keycode 31 = +s VoidSymbol | |
shift keycode 31 = +S | |
alt keycode 31 = Meta_s | |
shift alt keycode 31 = Meta_S | |
control keycode 31 = Control_s | |
shift control keycode 31 = F115 | |
control alt keycode 31 = Meta_Control_s | |
shift control alt keycode 31 = Meta_Control_s | |
ctrlr keycode 31 = section | |
shift ctrlr keycode 31 = section | |
keycode 32 = +d VoidSymbol | |
shift keycode 32 = +D | |
alt keycode 32 = Meta_d | |
shift alt keycode 32 = Meta_D | |
control keycode 32 = Control_d | |
shift control keycode 32 = F100 | |
control alt keycode 32 = Meta_Control_d | |
shift control alt keycode 32 = Meta_Control_d | |
ctrlr keycode 32 = dead_diaeresis | |
shift ctrlr keycode 32 = dead_diaeresis | |
alt ctrlr keycode 32 = Hex_D | |
shift alt ctrlr keycode 32 = Hex_D | |
keycode 33 = +f VoidSymbol | |
shift keycode 33 = +F | |
alt keycode 33 = Meta_f | |
shift alt keycode 33 = Meta_F | |
control keycode 33 = Control_f | |
shift control keycode 33 = F102 | |
control alt keycode 33 = Meta_Control_f | |
shift control alt keycode 33 = Meta_Control_f | |
alt ctrlr keycode 33 = Hex_F | |
shift alt ctrlr keycode 33 = Hex_F | |
keycode 34 = +g VoidSymbol | |
shift keycode 34 = +G | |
alt keycode 34 = Meta_g | |
shift alt keycode 34 = Meta_G | |
control keycode 34 = Control_g | |
shift control keycode 34 = F103 | |
control alt keycode 34 = Meta_Control_g | |
shift control alt keycode 34 = Meta_Control_g | |
keycode 35 = +h VoidSymbol | |
shift keycode 35 = +H | |
alt keycode 35 = Meta_h | |
shift alt keycode 35 = Meta_H | |
control keycode 35 = Control_h | |
shift control keycode 35 = F104 | |
control alt keycode 35 = Meta_Control_h | |
shift control alt keycode 35 = Meta_Control_h | |
ctrlr keycode 35 = cent | |
shift ctrlr keycode 35 = cent | |
keycode 36 = +j VoidSymbol | |
shift keycode 36 = +J | |
alt keycode 36 = Meta_j | |
shift alt keycode 36 = Meta_J | |
control keycode 36 = Control_j | |
shift control keycode 36 = F106 | |
control alt keycode 36 = Meta_Control_j | |
shift control alt keycode 36 = Meta_Control_j | |
ctrlr keycode 36 = onesuperior | |
shift ctrlr keycode 36 = onesuperior | |
keycode 37 = +k VoidSymbol | |
shift keycode 37 = +K | |
alt keycode 37 = Meta_k | |
shift alt keycode 37 = Meta_K | |
control keycode 37 = Control_k | |
shift control keycode 37 = F107 | |
control alt keycode 37 = Meta_Control_k | |
shift control alt keycode 37 = Meta_Control_k | |
ctrlr keycode 37 = twosuperior | |
shift ctrlr keycode 37 = twosuperior | |
keycode 38 = +l VoidSymbol | |
shift keycode 38 = +L | |
alt keycode 38 = Meta_l | |
shift alt keycode 38 = Meta_L | |
control keycode 38 = Control_l | |
shift control keycode 38 = F108 | |
control alt keycode 38 = Meta_Control_l | |
shift control alt keycode 38 = Meta_Control_l | |
ctrlr keycode 38 = threesuperior | |
shift ctrlr keycode 38 = threesuperior | |
keycode 39 = semicolon VoidSymbol | |
shift keycode 39 = colon | |
alt keycode 39 = Meta_semicolon | |
shift alt keycode 39 = Meta_colon | |
ctrlr keycode 39 = periodcentered | |
shift ctrlr keycode 39 = periodcentered | |
keycode 40 = apostrophe VoidSymbol | |
shift keycode 40 = quotedbl | |
alt keycode 40 = Meta_apostrophe | |
shift alt keycode 40 = Meta_quotedbl | |
ctrlr keycode 40 = dead_acute | |
shift ctrlr keycode 40 = dead_acute | |
keycode 41 = grave VoidSymbol | |
shift keycode 41 = asciitilde | |
alt keycode 41 = Meta_grave | |
shift alt keycode 41 = Meta_asciitilde | |
ctrlr keycode 41 = dead_grave | |
shift ctrlr keycode 41 = dead_grave | |
keycode 43 = backslash VoidSymbol | |
shift keycode 43 = bar | |
alt keycode 43 = Meta_backslash | |
shift alt keycode 43 = Meta_bar | |
control keycode 43 = Control_backslash | |
shift control keycode 43 = Control_backslash | |
control alt keycode 43 = Meta_Control_backslash | |
shift control alt keycode 43 = Meta_Control_backslash | |
ctrlr keycode 43 = brokenbar | |
shift ctrlr keycode 43 = brokenbar | |
keycode 44 = +z VoidSymbol | |
shift keycode 44 = +Z | |
alt keycode 44 = Meta_z | |
shift alt keycode 44 = Meta_Z | |
control keycode 44 = Control_z | |
shift control keycode 44 = F122 | |
control alt keycode 44 = Meta_Control_z | |
shift control alt keycode 44 = Meta_Control_z | |
keycode 45 = +x VoidSymbol | |
shift keycode 45 = +X | |
alt keycode 45 = Meta_x | |
shift alt keycode 45 = Meta_X | |
control keycode 45 = Control_x | |
shift control keycode 45 = F120 | |
control alt keycode 45 = Meta_Control_x | |
shift control alt keycode 45 = Meta_Control_x | |
ctrlr keycode 45 = multiplication | |
shift ctrlr keycode 45 = multiplication | |
keycode 46 = +c VoidSymbol | |
shift keycode 46 = +C | |
alt keycode 46 = Meta_c | |
shift alt keycode 46 = Meta_C | |
control keycode 46 = Control_c | |
shift control keycode 46 = F99 | |
control alt keycode 46 = Meta_Control_c | |
shift control alt keycode 46 = Meta_Control_c | |
ctrlr keycode 46 = copyright | |
shift ctrlr keycode 46 = copyright | |
alt ctrlr keycode 46 = Hex_C | |
shift alt ctrlr keycode 46 = Hex_C | |
keycode 47 = +v VoidSymbol | |
shift keycode 47 = +V | |
alt keycode 47 = Meta_v | |
shift alt keycode 47 = Meta_V | |
control keycode 47 = Control_v | |
shift control keycode 47 = F118 | |
control alt keycode 47 = Meta_Control_v | |
shift control alt keycode 47 = Meta_Control_v | |
keycode 48 = +b VoidSymbol | |
shift keycode 48 = +B | |
alt keycode 48 = Meta_b | |
shift alt keycode 48 = Meta_B | |
control keycode 48 = Control_b | |
shift control keycode 48 = F98 | |
control alt keycode 48 = Meta_Control_b | |
shift control alt keycode 48 = Meta_Control_b | |
alt ctrlr keycode 48 = Hex_B | |
shift alt ctrlr keycode 48 = Hex_B | |
keycode 49 = +n VoidSymbol | |
shift keycode 49 = +N | |
alt keycode 49 = Meta_n | |
shift alt keycode 49 = Meta_N | |
control keycode 49 = Control_n | |
shift control keycode 49 = F110 | |
control alt keycode 49 = Meta_Control_n | |
shift control alt keycode 49 = Meta_Control_n | |
keycode 50 = +m VoidSymbol | |
shift keycode 50 = +M | |
alt keycode 50 = Meta_m | |
shift alt keycode 50 = Meta_M | |
control keycode 50 = Control_m | |
shift control keycode 50 = F109 | |
control alt keycode 50 = Meta_Control_m | |
shift control alt keycode 50 = Meta_Control_m | |
keycode 51 = comma VoidSymbol | |
shift keycode 51 = less | |
alt keycode 51 = Meta_comma | |
shift alt keycode 51 = Meta_less | |
ctrlr keycode 51 = guillemotleft | |
shift ctrlr keycode 51 = guillemotleft | |
keycode 52 = period VoidSymbol | |
shift keycode 52 = greater | |
alt keycode 52 = Meta_period | |
shift alt keycode 52 = Meta_greater | |
ctrlr keycode 52 = guillemotright | |
shift ctrlr keycode 52 = guillemotright | |
keycode 53 = slash VoidSymbol | |
shift keycode 53 = question | |
alt keycode 53 = Meta_slash | |
shift alt keycode 53 = Meta_question | |
ctrlr keycode 53 = questiondown | |
shift ctrlr keycode 53 = questiondown | |
keycode 57 = space VoidSymbol | |
shift keycode 57 = space | |
alt keycode 57 = Meta_space | |
shift alt keycode 57 = Meta_space | |
control keycode 57 = nul | |
shift control keycode 57 = nul | |
control alt keycode 57 = Meta_nul | |
shift control alt keycode 57 = Meta_nul | |
ctrlr keycode 57 = nobreakspace | |
shift ctrlr keycode 57 = nobreakspace | |
keycode 71 = KP_7 VoidSymbol | |
shift keycode 71 = KP_7 | |
alt keycode 71 = Ascii_7 | |
shift alt keycode 71 = Ascii_7 | |
alt ctrlr keycode 71 = Ascii_7 | |
shift alt ctrlr keycode 71 = Ascii_7 | |
keycode 72 = KP_8 VoidSymbol | |
shift keycode 72 = KP_8 | |
alt keycode 72 = Ascii_8 | |
shift alt keycode 72 = Ascii_8 | |
alt ctrlr keycode 72 = Ascii_8 | |
shift alt ctrlr keycode 72 = Ascii_8 | |
keycode 73 = KP_9 VoidSymbol | |
shift keycode 73 = KP_9 | |
alt keycode 73 = Ascii_9 | |
shift alt keycode 73 = Ascii_9 | |
alt ctrlr keycode 73 = Ascii_9 | |
shift alt ctrlr keycode 73 = Ascii_9 | |
keycode 74 = KP_Subtract KP_Subtract | |
keycode 75 = KP_4 VoidSymbol | |
shift keycode 75 = KP_4 | |
alt keycode 75 = Ascii_4 | |
shift alt keycode 75 = Ascii_4 | |
alt ctrlr keycode 75 = Ascii_4 | |
shift alt ctrlr keycode 75 = Ascii_4 | |
keycode 76 = KP_5 VoidSymbol | |
shift keycode 76 = KP_5 | |
alt keycode 76 = Ascii_5 | |
shift alt keycode 76 = Ascii_5 | |
alt ctrlr keycode 76 = Ascii_5 | |
shift alt ctrlr keycode 76 = Ascii_5 | |
keycode 77 = KP_6 VoidSymbol | |
shift keycode 77 = KP_6 | |
alt keycode 77 = Ascii_6 | |
shift alt keycode 77 = Ascii_6 | |
alt ctrlr keycode 77 = Ascii_6 | |
shift alt ctrlr keycode 77 = Ascii_6 | |
keycode 78 = KP_Add KP_Add | |
keycode 79 = KP_1 VoidSymbol | |
shift keycode 79 = KP_1 | |
alt keycode 79 = Ascii_1 | |
shift alt keycode 79 = Ascii_1 | |
alt ctrlr keycode 79 = Ascii_1 | |
shift alt ctrlr keycode 79 = Ascii_1 | |
keycode 80 = KP_2 VoidSymbol | |
shift keycode 80 = KP_2 | |
alt keycode 80 = Ascii_2 | |
shift alt keycode 80 = Ascii_2 | |
alt ctrlr keycode 80 = Ascii_2 | |
shift alt ctrlr keycode 80 = Ascii_2 | |
keycode 81 = KP_3 VoidSymbol | |
shift keycode 81 = KP_3 | |
alt keycode 81 = Ascii_3 | |
shift alt keycode 81 = Ascii_3 | |
alt ctrlr keycode 81 = Ascii_3 | |
shift alt ctrlr keycode 81 = Ascii_3 | |
keycode 82 = KP_0 VoidSymbol | |
shift keycode 82 = KP_0 | |
alt keycode 82 = Ascii_0 | |
shift alt keycode 82 = Ascii_0 | |
alt ctrlr keycode 82 = Ascii_0 | |
shift alt ctrlr keycode 82 = Ascii_0 | |
keycode 83 = KP_Period KP_Period | |
keycode 96 = KP_Enter KP_Enter | |
keycode 98 = KP_Divide KP_Divide | |
keycode 55 = KP_Multiply KP_Multiply | |
keycode 118 = KP_MinPlus KP_MinPlus | |
# Modifiers. | |
keycode 42 = Shift | |
keycode 54 = Shift | |
keycode 56 = Alt | |
keycode 100 = Alt | |
keycode 58 = CtrlR | |
keycode 29 = Control | |
keycode 97 = Control | |
# Everyone needs a compose key. This is C-.. | |
control keycode 52 = Compose | |
keycode 69 = Num_Lock Num_Lock | |
keycode 70 = Scroll_Lock | |
shift keycode 70 = Show_Memory | |
control keycode 70 = Show_State | |
alt keycode 70 = Show_Registers | |
# SysRq. I suppose there's some reason it's ^\. | |
keycode 99 = Control_backslash Control_backslash | |
keycode 119 = Pause Pause | |
# Ctrl-Break seems to have low-level hardware behind it. | |
keycode 101 = Break Break | |
keycode 102 = Find Find | |
control keycode 102 = F123 | |
keycode 110 = Insert Insert | |
control keycode 110 = F124 | |
keycode 111 = Remove Remove | |
control keycode 111 = F125 | |
keycode 107 = Select Select | |
control keycode 107 = F126 | |
keycode 104 = Prior Scroll_Backward | |
control keycode 104 = F127 | |
keycode 109 = Next Scroll_Forward | |
control keycode 109 = F128 | |
keycode 103 = Up Up | |
keycode 105 = Left Left | |
alt keycode 105 = Decr_Console | |
keycode 106 = Right Right | |
alt keycode 106 = Incr_Console | |
keycode 108 = Down Down | |
control alt keycode 83 = Boot | |
control alt keycode 111 = Boot | |
# Stock VT102 string definitions. | |
string F1 = "\033[[A" | |
string F2 = "\033[[B" | |
string F3 = "\033[[C" | |
string F4 = "\033[[D" | |
string F5 = "\033[[E" | |
string F6 = "\033[17~" | |
string F7 = "\033[18~" | |
string F8 = "\033[19~" | |
string F9 = "\033[20~" | |
string F10 = "\033[21~" | |
string F11 = "\033[23~" | |
string F12 = "\033[24~" | |
string F13 = "\033[25~" | |
string F14 = "\033[26~" | |
string F15 = "\033[28~" | |
string F16 = "\033[29~" | |
string F17 = "\033[31~" | |
string F18 = "\033[32~" | |
string F19 = "\033[33~" | |
string F20 = "\033[34~" | |
string Find = "\033[1~" | |
string Insert = "\033[2~" | |
string Remove = "\033[3~" | |
string Select = "\033[4~" | |
string Prior = "\033[5~" | |
string Next = "\033[6~" | |
string Macro = "\033[M" | |
string Pause = "\033[P" | |
# Stock ISO-8859-1 compositions. | |
compose '`' 'A' to '�' | |
compose '`' 'a' to '�' | |
compose '\'' 'A' to '�' | |
compose '\'' 'a' to '�' | |
compose '^' 'A' to '�' | |
compose '^' 'a' to '�' | |
compose '~' 'A' to '�' | |
compose '~' 'a' to '�' | |
compose '"' 'A' to '�' | |
compose '"' 'a' to '�' | |
compose 'O' 'A' to '�' | |
compose 'o' 'a' to '�' | |
compose '0' 'A' to '�' | |
compose '0' 'a' to '�' | |
compose 'A' 'A' to '�' | |
compose 'a' 'a' to '�' | |
compose 'A' 'E' to '�' | |
compose 'a' 'e' to '�' | |
compose ',' 'C' to '�' | |
compose ',' 'c' to '�' | |
compose '`' 'E' to '�' | |
compose '`' 'e' to '�' | |
compose '\'' 'E' to '�' | |
compose '\'' 'e' to '�' | |
compose '^' 'E' to '�' | |
compose '^' 'e' to '�' | |
compose '"' 'E' to '�' | |
compose '"' 'e' to '�' | |
compose '`' 'I' to '�' | |
compose '`' 'i' to '�' | |
compose '\'' 'I' to '�' | |
compose '\'' 'i' to '�' | |
compose '^' 'I' to '�' | |
compose '^' 'i' to '�' | |
compose '"' 'I' to '�' | |
compose '"' 'i' to '�' | |
compose '-' 'D' to '�' | |
compose '-' 'd' to '�' | |
compose '~' 'N' to '�' | |
compose '~' 'n' to '�' | |
compose '`' 'O' to '�' | |
compose '`' 'o' to '�' | |
compose '\'' 'O' to '�' | |
compose '\'' 'o' to '�' | |
compose '^' 'O' to '�' | |
compose '^' 'o' to '�' | |
compose '~' 'O' to '�' | |
compose '~' 'o' to '�' | |
compose '"' 'O' to '�' | |
compose '"' 'o' to '�' | |
compose '/' 'O' to '�' | |
compose '/' 'o' to '�' | |
compose '`' 'U' to '�' | |
compose '`' 'u' to '�' | |
compose '\'' 'U' to '�' | |
compose '\'' 'u' to '�' | |
compose '^' 'U' to '�' | |
compose '^' 'u' to '�' | |
compose '"' 'U' to '�' | |
compose '"' 'u' to '�' | |
compose '\'' 'Y' to '�' | |
compose '\'' 'y' to '�' | |
compose 'T' 'H' to '�' | |
compose 't' 'h' to '�' | |
compose 's' 's' to '�' | |
compose '"' 'y' to '�' | |
compose 's' 'z' to '�' | |
compose 'i' 'j' to '�' | |
# ISO-8859-3 compositions for Esperanto. | |
compose 'C' 'x' to '�' #198 | |
compose 'G' 'x' to '�' #216 | |
compose 'H' 'x' to '�' #166 | |
compose 'J' 'x' to '�' #172 | |
compose 'S' 'x' to '�' #222 | |
compose 'U' 'x' to '�' #221 | |
compose 'c' 'x' to '�' #230 | |
compose 'g' 'x' to '�' #248 | |
compose 'h' 'x' to '�' #182 | |
compose 'j' 'x' to '�' #188 | |
compose 's' 'x' to '�' #254 | |
compose 'u' 'x' to '�' #253 | |
# Shift-Control Function-Keys String-Definitions. | |
string F97 = "\033[97;6u" | |
string F98 = "\033[98;6u" | |
string F99 = "\033[99;6u" | |
string F100 = "\033[100;6u" | |
string F101 = "\033[101;6u" | |
string F102 = "\033[102;6u" | |
string F103 = "\033[103;6u" | |
string F104 = "\033[104;6u" | |
string F105 = "\033[105;6u" | |
string F106 = "\033[106;6u" | |
string F107 = "\033[107;6u" | |
string F108 = "\033[108;6u" | |
string F109 = "\033[109;6u" | |
string F110 = "\033[110;6u" | |
string F111 = "\033[111;6u" | |
string F112 = "\033[112;6u" | |
string F113 = "\033[113;6u" | |
string F114 = "\033[114;6u" | |
string F115 = "\033[115;6u" | |
string F116 = "\033[116;6u" | |
string F117 = "\033[117;6u" | |
string F118 = "\033[118;6u" | |
string F119 = "\033[119;6u" | |
string F120 = "\033[120;6u" | |
string F121 = "\033[121;6u" | |
string F122 = "\033[122;6u" | |
string F123 = "\033[1;5~" | |
string F124 = "\033[2;5~" | |
string F125 = "\033[3;5~" | |
string F126 = "\033[4;5~" | |
string F127 = "\033[5;5~" | |
string F128 = "\033[6;5~" | |
# UK layout definitions. | |
# old: shift keycode 41 = asciitilde | |
# bam: shift keycode 41 = notsign | |
keycode 1 = Escape | |
keycode 2 = one exclam | |
keycode 3 = two quotedbl at nul | |
keycode 4 = three sterling | |
control keycode 4 = Escape | |
keycode 5 = four dollar dollar Control_backslash | |
keycode 6 = five percent | |
control keycode 6 = Control_bracketright | |
keycode 7 = six asciicircum | |
control keycode 7 = Control_asciicircum | |
keycode 8 = seven ampersand braceleft Control_underscore | |
keycode 9 = eight asterisk bracketleft Delete | |
keycode 10 = nine parenleft bracketright | |
keycode 11 = zero parenright braceright | |
# alt keycode 11 = Meta_parenright | |
keycode 12 = minus underscore backslash Control_underscore | |
keycode 13 = equal plus | |
keycode 14 = Delete | |
control keycode 14 = Control_underscore | |
keycode 15 = Tab | |
shift keycode 15 = Meta_Tab | |
keycode 26 = bracketleft braceleft | |
control keycode 26 = Escape | |
keycode 27 = bracketright braceright asciitilde Control_bracketright | |
keycode 28 = Return | |
alt keycode 28 = Meta_Control_m | |
keycode 29 = Control | |
keycode 39 = semicolon colon | |
keycode 40 = apostrophe at | |
control keycode 40 = Control_g | |
shift control keycode 40 = nul | |
keycode 41 = grave notsign bar nul | |
keycode 42 = Shift | |
keycode 43 = numbersign asciitilde | |
control keycode 43 = Control_backslash | |
keycode 51 = comma less | |
keycode 52 = period greater | |
keycode 53 = slash question | |
control keycode 53 = Delete | |
keycode 54 = Shift | |
keycode 56 = Alt | |
keycode 57 = space | |
control keycode 57 = nul | |
keycode 58 = Caps_Lock | |
keycode 86 = backslash bar bar Control_backslash | |
keycode 97 = Control |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!#/bin/bash | |
# MaKe KeyMap FixTerms United Kingdom | |
m4 /usr/share/kbd/keymaps/i386/qwerty/hypermap.m4 | awk -v FS='[_ ]' 'BEGIN{for(n=0;n<128;n++)a[sprintf("%c",n)]=n}{if($0~/^shift\t.+ Control_.$/){print $1" "$2" = F"a[$5]} else{print $0}}' > keymap | |
{echo "\n# Shift-Control Function-Keys String-Definitions."; for c in {a..z}; do printf 'string F%d = "\\033[%d;6u"\n' "'$c" "'$c"; done} >> keymap | |
{echo "\n# UK layout definitions."; zgrep = /usr/share/kbd/keymaps/i386/qwerty/uk.map.gz} >> keymap | |
awk -v FS='[ "^]+' 'BEGIN{for(n=0;n<128;n++)a[sprintf("%c",n)]=n}{if($0~/"\^[A-Z]"/){print $1"\t\"^[["a[$2]+2**5";6u\"\t"$3}else{print $0}}' .bashrc > bashrc | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment