## -*- conf -*- ## ## this file: ## https://dataswamp.org/~incal/conf/vt/remap.inc ## ## related: ## /etc/default/console-setup ## /etc/default/keyboard ## ## more VT files: ## https://dataswamp.org/~incal/conf/vt ## ## unlock additional shortcuts in a tty Emacs: ## https://dataswamp.org/~incal/tty-emacs-keys.txt ## https://dataswamp.org/~incal/emacs-init/console-keys.el ## ## * "ctrll" below makes it work even when caps-locked ## [update: I got rid of caps altogether since ## I wrote this, but it looks like this: ## ctrll alt keycode 36 = Decr_Console ## alt keycode 36 = Decr_Console ## yes, add both lines!] ## ## * get keycode with showkey(1) [1] ## ## * on-the-fly update: ## $ loadkeys -c -s KEYFILE # [1] ## see 'lkeys' in ~/.zprofile ## in ## ## * output current compose key state: ## $ dumpkeys --compose-only # [1] ## ## * if the compose key suddenly stops working for no reason, ## unplug the keyboard, plug it in and run 'lkeys' ## ## [1] $ sudo chmod +s /bin/dumpkeys /bin/loadkeys /usr/bin/showkey # keycode 60 = F70 # string F70 = "Word on the street, Staffan is gay" # Linux VTs (ttys) alt keycode 38 = Incr_Console # M-l, cycle right alt keycode 36 = Decr_Console # M-j, cycle left alt keycode 18 = Console_1 # M-e, tty/Emacs alt keycode 22 = Console_6 # M-u, X/xterm/tmux/zsh # disable right-side prefix keys # so not touched accidentally keycode 100 = nul # Meta keycode 126 = nul # Ctrl # make M-S-RET work alt shift keycode 28 = U+1000 # TAB alt keycode 15 = U+1003 # M-TAB control keycode 15 = U+011D # C-TAB shift keycode 15 = U+010E # backtab # C control keycode 11 = U+1002 # C-0 control keycode 13 = U+011E # C-= control keycode 23 = U+1001 # C-i control keycode 26 = U+1005 # C-[ control keycode 39 = U+010F # C-; control keycode 50 = U+0110 # C-m, prevent RET on C-m control keycode 52 = U+0115 # C-. control keycode 53 = U+0114 # C-/ # CAPS (don't change order!) keycode 58 = U+0113 # CAPS (ē) shift keycode 58 = U+0116 # S-CAPS alt keycode 58 = U+00E2 # M-CAPS (â) # SPC control alt keycode 57 = U+1006 ### compose key keycode 125 = Compose ## note: circumflex DNC ## S compose '/' 'S' to U+015A # Ś, acute compose '/' 's' to U+015B # ś ## Æ compose 'A' 'E' to U+00C6 # Æ compose 'a' 'e' to U+00E6 # æ ## Å compose '0' 'A' to U+00C5 # Å, ring compose '0' 'a' to U+00E5 # å compose 'o' 'A' to U+00C5 # Å compose 'o' 'a' to U+00E5 # å ## Ä compose '"' 'A' to U+00C4 # Ä, diaeresis compose '"' 'a' to U+00E4 # ä ## Ö compose '"' 'O' to U+00D6 # Ö compose '"' 'o' to U+00F6 # ö ## U compose '"' 'U' to U+00DC # Ü compose '"' 'u' to U+00FC # ü compose '/' 'U' to U+00DA # Ú compose '/' 'u' to U+00FA # ú ## more As compose '/' 'A' to U+00C1 # Á compose '/' 'a' to U+00E1 # á compose '\\' 'A' to U+00C0 # À, grave compose '\\' 'a' to U+00E0 # à ## C compose '.' 'C' to U+00C7 # Ç, cedilla compose '.' 'c' to U+00E7 # ç compose '/' 'C' to U+0106 # Ć compose '/' 'c' to U+0107 # ć ## E compose '/' 'E' to U+00C9 # É compose '/' 'e' to U+00E9 # é compose '\\' 'E' to U+00C8 # È compose '\\' 'e' to U+00E8 # è ## I (I/i and grave DNC) compose '/' 'I' to U+00CD # Í compose '/' 'i' to U+00ED # í ## O compose '/' 'O' to U+00D3 # Ó compose '/' 'o' to U+00F3 # ó compose 'i' 'O' to U+00D8 # Ø, stroke (slash) compose 'i' 'o' to U+00F8 # ø ## N compose '/' 'N' to U+0143 # Ń compose '/' 'n' to U+0144 # ń compose '~' 'N' to U+00D1 # Ñ, tilde compose '~' 'n' to U+00F1 # ñ ## Z compose '\'' 'Z' to U+017B # Ż, dot compose '\'' 'z' to U+017C # ż