PATH:
usr
/
lib
/
kbd
/
keymaps
/
legacy
/
i386
/
qwerty
# # hypermap.map 1994/11/11 # Michael Shields <shields@tembel.org> # # 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. # dnl Set default values. ifdef(`CAPSLOCK_K', , `define(`CAPSLOCK_K', `Hyper')') ifdef(`LEFTCTRL_K', , `define(`LEFTCTRL_K', `Control')') ifdef(`RIGHTCTRL_K', , `define(`RIGHTCTRL_K', `Control')') dnl Figure out if any key is a Hyper key. If so, define `hyper', both dnl for usefulness and `ifdef' testability. ifelse(CAPSLOCK_K, `Hyper', `define(`hyper', `ctrlr')', LEFTCTRL_K, `Hyper', `define(`hyper', `ctrlr')', RIGHTCTRL_K, `Hyper', `define(`hyper', `ctrlr')') define(`Hyper', `CtrlR') keymaps 0,1,4,5,8,9,12,13`'ifdef(`hyper', `,128,129,132,133,136,137,140,141') dnl General usage of these macros is MACRO(KEYCODE, UNSHIFTED, SHIFTED). dnl We first undefine `shift', which only causes problems. undefine(`shift') define(`SIMPLE', `keycode $1 = $2 $2') define(`KEY', ` keycode $1 = $2 VoidSymbol shift keycode $1 = $3 alt keycode $1 = Meta_$2 shift alt keycode $1 = Meta_$3') dnl This macro adds Control variations to a key. define(`CONTROL', ` control keycode $1 = $2 shift control keycode $1 = $2 control alt keycode $1 = Meta_$2 shift control alt keycode $1 = Meta_$2') dnl Add Hyper variations to a key. define(`HYPER', ifdef(`hyper', ` hyper keycode $1 = $2 shift hyper keycode $1 = $2')) define(`CONTROLHYPER', ifdef(`hyper', ` control hyper keycode $1 = $2 shift control hyper keycode $1 = $2')) define(`METAHYPER', ifdef(`hyper', ` alt hyper keycode $1 = $2 shift alt hyper keycode $1 = $2')) define(`CONTROLMETAHYPER', ifdef(`hyper', dnl Ludicrous. ` control alt hyper keycode $1 = $2 shift control alt hyper keycode $1 = $2')) dnl Special case for letters. Best to be explicit. define(`LETTER', ` keycode $1 = `+'$2 VoidSymbol shift keycode $1 = `+'translit($2, `a-z', `A-Z') alt keycode $1 = `Meta_'$2 shift alt keycode $1 = `Meta_'translit($2, `a-z', `A-Z') CONTROL($1, Control_$2)') dnl For function keys. Call here is FUNCTION(KEYCODE, FKEYNUM). define(`BANKSIZE', 12) define(`FUNCTION', ` keycode $1 = `F'$2 VoidSymbol shift keycode $1 = `F'eval($2 + BANKSIZE) hyper keycode $1 = `F'eval($2 + BANKSIZE * 2) shift hyper keycode $1 = `F'eval($2 + BANKSIZE * 3) alt keycode $1 = `Console_'$2 shift alt keycode $1 = `Console_'eval($2 + BANKSIZE) hyper alt keycode $1 = `Console_'eval($2 + BANKSIZE * 2) shift hyper alt keycode $1 = `Console_'eval($2 + BANKSIZE * 3)') dnl For the keypad digits. KPDIGIT(KEYCODE, DIGIT). define(`KPDIGIT', ` keycode $1 = KP_$2 VoidSymbol shift keycode $1 = KP_$2 alt keycode $1 = Ascii_$2 shift alt keycode $1 = Ascii_$2 METAHYPER($1, Ascii_$2)') dnl And a special approximation: define(`Meta_Return', `Meta_Control_m') KEY(1, Escape, Escape) FUNCTION(59, 1) FUNCTION(60, 2) FUNCTION(61, 3) FUNCTION(62, 4) FUNCTION(63, 5) FUNCTION(64, 6) FUNCTION(65, 7) FUNCTION(66, 8) FUNCTION(67, 9) FUNCTION(68, 10) FUNCTION(87, 11) FUNCTION(88, 12) KEY(2, one, exclam) HYPER(2, exclamdown) METAHYPER(2, Hex_1) KEY(3, two, at) CONTROL(3, nul) METAHYPER(3, Hex_2) KEY(4, three, numbersign) HYPER(4, pound) METAHYPER(4, Hex_3) KEY(5, four, dollar) HYPER(5, currency) METAHYPER(5, Hex_4) KEY(6, five, percent) HYPER(6, division) METAHYPER(6, Hex_5) KEY(7, six, asciicircum) CONTROL(7, Control_asciicircum) HYPER(7, dead_circumflex) METAHYPER(7, Hex_6) KEY(8, seven, ampersand) METAHYPER(8, Hex_7) KEY(9, eight, asterisk) METAHYPER(9, Hex_8) KEY(10, nine, parenleft) METAHYPER(10, Hex_9) KEY(11, zero, parenright) HYPER(11, degree) METAHYPER(11, Hex_0) KEY(12, minus, underscore) CONTROL(12, Control_underscore) HYPER(12, hyphen) KEY(13, equal, plus) HYPER(13, macron) KEY(14, Delete, Delete) CONTROL(14, BackSpace) KEY(15, Tab, Tab) HYPER(15, Caps_Lock) LETTER(16, q) HYPER(16, onequarter) LETTER(17, w) HYPER(17, onehalf) LETTER(18, e) HYPER(18, threequarters) METAHYPER(18, Hex_E) LETTER(19, r) HYPER(19, registered) LETTER(20, t) HYPER(20, dead_tilde) LETTER(21, y) HYPER(21, yen) LETTER(22, u) HYPER(22, mu) LETTER(23, i) LETTER(24, o) HYPER(24, masculine) LETTER(25, p) HYPER(25, 182) # pilcrow KEY(26, bracketleft, braceleft) CONTROL(26, Escape) HYPER(26, plusminus) KEY(27, bracketright, braceright) CONTROL(27, Control_bracketright) HYPER(27, notsign) KEY(28, Return, Return) LETTER(30, a) HYPER(30, ordfeminine) METAHYPER(30, Hex_A) LETTER(31, s) HYPER(31, section) LETTER(32, d) HYPER(32, dead_diaeresis) METAHYPER(32, Hex_D) LETTER(33, f) METAHYPER(33, Hex_F) LETTER(34, g) LETTER(35, h) HYPER(35, cent) LETTER(36, j) HYPER(36, onesuperior) LETTER(37, k) HYPER(37, twosuperior) LETTER(38, l) HYPER(38, threesuperior) KEY(39, semicolon, colon) HYPER(39, periodcentered) KEY(40, apostrophe, quotedbl) HYPER(40, dead_acute) KEY(41, grave, asciitilde) HYPER(41, dead_grave) KEY(43, backslash, bar) CONTROL(43, Control_backslash) HYPER(43, brokenbar) LETTER(44, z) LETTER(45, x) HYPER(45, multiplication) LETTER(46, c) HYPER(46, copyright) METAHYPER(46, Hex_C) LETTER(47, v) LETTER(48, b) METAHYPER(48, Hex_B) LETTER(49, n) LETTER(50, m) KEY(51, comma, less) HYPER(51, guillemotleft) KEY(52, period, greater) HYPER(52, guillemotright) KEY(53, slash, question) HYPER(53, questiondown) KEY(57, space, space) CONTROL(57, nul) HYPER(57, nobreakspace) KPDIGIT(71, 7) KPDIGIT(72, 8) KPDIGIT(73, 9) SIMPLE(74, KP_Subtract) KPDIGIT(75, 4) KPDIGIT(76, 5) KPDIGIT(77, 6) SIMPLE(78, KP_Add) KPDIGIT(79, 1) KPDIGIT(80, 2) KPDIGIT(81, 3) KPDIGIT(82, 0) SIMPLE(83, KP_Period) SIMPLE(96, KP_Enter) SIMPLE(98, KP_Divide) SIMPLE(55, KP_Multiply) SIMPLE(118, KP_MinPlus) # Modifiers. keycode 42 = Shift keycode 54 = Shift keycode 56 = Alt keycode 100 = Alt keycode 58 = CAPSLOCK_K keycode 29 = LEFTCTRL_K keycode 97 = RIGHTCTRL_K # Everyone needs a compose key. This is C-.. control keycode 52 = Compose SIMPLE(69, 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 ^\. SIMPLE(99, Control_backslash) SIMPLE(119, Pause) # Ctrl-Break seems to have low-level hardware behind it. SIMPLE(101, Break) SIMPLE(110, Insert) SIMPLE(102, Find) keycode 104 = Prior Scroll_Backward SIMPLE(111, Remove) SIMPLE(107, Select) keycode 109 = Next Scroll_Forward SIMPLE(103, Up) SIMPLE(105, Left) alt keycode 105 = Decr_Console SIMPLE(106, Right) alt keycode 106 = Incr_Console SIMPLE(108, 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. changequote()dnl 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
[+]
..
[-] defkeymap_V1.0.map.gz
[edit]
[-] se-ir209.map.gz
[edit]
[-] dk-latin1.map.gz
[edit]
[-] sk-prog-qwerty.map.gz
[edit]
[-] lv-tilde.map.gz
[edit]
[-] emacs.map.gz
[edit]
[-] pl1.map.gz
[edit]
[-] pc110.map.gz
[edit]
[-] ruwin_ct_sh-KOI8-R.map.gz
[edit]
[-] sk-qwerty.map.gz
[edit]
[-] ru-yawerty.map.gz
[edit]
[-] ruwin_ctrl-UTF-8.map.gz
[edit]
[-] tralt.map.gz
[edit]
[-] ruwin_ctrl-KOI8-R.map.gz
[edit]
[-] ruwin_ct_sh-CP1251.map.gz
[edit]
[-] il.map.gz
[edit]
[-] es.map.gz
[edit]
[-] cz-cp1250.map.gz
[edit]
[-] il-phonetic.map.gz
[edit]
[-] ruwin_ct_sh-UTF-8.map.gz
[edit]
[-] ua-cp1251.map.gz
[edit]
[-] bg_bds-cp1251.map.gz
[edit]
[-] br-latin1-abnt2.map.gz
[edit]
[-] fi.map.gz
[edit]
[-] nl.map.gz
[edit]
[-] ro.map.gz
[edit]
[-] pl.map.gz
[edit]
[-] kazakh.map.gz
[edit]
[-] cz-qwerty.map.gz
[edit]
[-] bg_bds-utf8.map.gz
[edit]
[-] bg_pho-utf8.map.gz
[edit]
[-] emacs2.map.gz
[edit]
[-] pt.map.gz
[edit]
[-] ua-ws.map.gz
[edit]
[-] us.map.gz
[edit]
[-] us-acentos.map.gz
[edit]
[-] pl2.map.gz
[edit]
[-] mk-cp1251.map.gz
[edit]
[-] se-fi-ir209.map.gz
[edit]
[-] dk.map.gz
[edit]
[-] ruwin_alt-CP1251.map.gz
[edit]
[-] es-cp850.map.gz
[edit]
[-] cf.map.gz
[edit]
[-] ky_alt_sh-UTF-8.map.gz
[edit]
[-] cz-lat2.map.gz
[edit]
[-] ttwin_ct_sh-UTF-8.map.gz
[edit]
[-] nl2.map.gz
[edit]
[-] ru2.map.gz
[edit]
[-] no-latin1.doc
[edit]
[-] ttwin_cplk-UTF-8.map.gz
[edit]
[-] by.map.gz
[edit]
[-] kyrgyz.map.gz
[edit]
[-] br-abnt2.map.gz
[edit]
[-] se-lat6.map.gz
[edit]
[-] pl3.map.gz
[edit]
[-] se-fi-lat6.map.gz
[edit]
[-] gr-pc.map.gz
[edit]
[-] tr_q-latin5.map.gz
[edit]
[-] ru.map.gz
[edit]
[-] ttwin_alt-UTF-8.map.gz
[edit]
[-] et.map.gz
[edit]
[-] ruwin_alt_sh-UTF-8.map.gz
[edit]
[-] ruwin_alt-UTF-8.map.gz
[edit]
[-] defkeymap.map.gz
[edit]
[-] lt.map.gz
[edit]
[-] ro_std.map.gz
[edit]
[-] bg_pho-cp1251.map.gz
[edit]
[-] sr-latin.map.gz
[edit]
[-] ua-utf.map.gz
[edit]
[-] la-latin1.map.gz
[edit]
[-] il-heb.map.gz
[edit]
[-] trf.map.gz
[edit]
[-] trq.map.gz
[edit]
[-] ruwin_cplk-CP1251.map.gz
[edit]
[-] hypermap.m4
[edit]
[-] sr-cy.map.gz
[edit]
[-] ru-cp1251.map.gz
[edit]
[-] mk.map.gz
[edit]
[-] no.map.gz
[edit]
[-] et-nodeadkeys.map.gz
[edit]
[-] sv-latin1.map.gz
[edit]
[-] ruwin_cplk-KOI8-R.map.gz
[edit]
[-] is-latin1.map.gz
[edit]
[-] ua.map.gz
[edit]
[-] ruwin_ctrl-CP1251.map.gz
[edit]
[-] by-cp1251.map.gz
[edit]
[-] ru1.map.gz
[edit]
[-] uk.map.gz
[edit]
[-] ru-ms.map.gz
[edit]
[-] cz-lat2-prog.map.gz
[edit]
[-] lv.map.gz
[edit]
[-] no-latin1.map.gz
[edit]
[-] jp106.map.gz
[edit]
[-] ko.map.gz
[edit]
[-] br-latin1-us.map.gz
[edit]
[-] pl4.map.gz
[edit]
[-] tj_alt-UTF8.map.gz
[edit]
[-] it-ibm.map.gz
[edit]
[-] it.map.gz
[edit]
[-] ruwin_alt-KOI8-R.map.gz
[edit]
[-] se-latin1.map.gz
[edit]
[-] bg-cp1251.map.gz
[edit]
[-] lt.baltic.map.gz
[edit]
[-] bywin-cp1251.map.gz
[edit]
[-] ru_win.map.gz
[edit]
[-] it2.map.gz
[edit]
[-] br-abnt.map.gz
[edit]
[-] lt.l4.map.gz
[edit]
[-] mk-utf.map.gz
[edit]
[-] is-latin1-us.map.gz
[edit]
[-] mk0.map.gz
[edit]
[-] ru4.map.gz
[edit]
[-] bg-cp855.map.gz
[edit]
[-] ttwin_ctrl-UTF-8.map.gz
[edit]
[-] gr.map.gz
[edit]
[-] ru3.map.gz
[edit]
[-] pt-latin9.map.gz
[edit]
[-] ruwin_cplk-UTF-8.map.gz
[edit]
[-] ua-utf-ws.map.gz
[edit]
[-] pt-latin1.map.gz
[edit]
[-] bashkir.map.gz
[edit]
[-] hu101.map.gz
[edit]