aboutsummaryrefslogtreecommitdiffstats
path: root/linux-vt-keyboard
diff options
context:
space:
mode:
Diffstat (limited to 'linux-vt-keyboard')
-rw-r--r--linux-vt-keyboard/.gitignore1
-rw-r--r--linux-vt-keyboard/LICENSE15
-rw-r--r--linux-vt-keyboard/Makefile26
-rw-r--r--linux-vt-keyboard/README20
-rw-r--r--linux-vt-keyboard/sv-maandree.map581
5 files changed, 643 insertions, 0 deletions
diff --git a/linux-vt-keyboard/.gitignore b/linux-vt-keyboard/.gitignore
new file mode 100644
index 0000000..10d00b5
--- /dev/null
+++ b/linux-vt-keyboard/.gitignore
@@ -0,0 +1 @@
+*.gz
diff --git a/linux-vt-keyboard/LICENSE b/linux-vt-keyboard/LICENSE
new file mode 100644
index 0000000..e765484
--- /dev/null
+++ b/linux-vt-keyboard/LICENSE
@@ -0,0 +1,15 @@
+ISC License
+
+© 2012, 2013, 2021 Mattias Andrée <maandree@kth.se>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/linux-vt-keyboard/Makefile b/linux-vt-keyboard/Makefile
new file mode 100644
index 0000000..81c0b7b
--- /dev/null
+++ b/linux-vt-keyboard/Makefile
@@ -0,0 +1,26 @@
+.POSIX:
+
+PREFIX = /usr
+NAME = sv-maandree
+
+
+all: sv-maandree.map.gz
+
+sv-maandree.map.gz: sv-maandree.map
+ gzip -9f < sv-maandree.map > sv-maandree.map.gz
+
+install: sv-maandree.map.gz
+ mkdir -p -- "$(DESTDIR)$(PREFIX)/share/kbd/keymaps/i386/qwerty/"
+ cp -- sv-maandree.map.gz "$(DESTDIR)$(PREFIX)/share/kbd/keymaps/i386/qwerty/$(NAME).map.gz"
+
+uninstall:
+ -rm -f -- "$(DESTDIR)$(PREFIX)/share/kbd/keymaps/i386/qwerty/$(NAME).map.gz"
+ -rm -f -- "$(DESTDIR)$(PREFIX)/share/kbd/keymaps/i386/qwerty/$(NAME).map"
+
+clean:
+ -rm -f -- sv-maandree.map.gz
+
+use:
+ loadkeys ./sv-maandree.map
+
+.PHONY: all install uninstall clean use
diff --git a/linux-vt-keyboard/README b/linux-vt-keyboard/README
new file mode 100644
index 0000000..bd61181
--- /dev/null
+++ b/linux-vt-keyboard/README
@@ -0,0 +1,20 @@
+My customised Swedish keyboard layout
+
+FEATURES:
+• xterm compatible, Emacs is better if it thinks you are using xterm
+• switch to any of the 63 VT:s
+• swapped left control with caps lock
+• swapped (left alternative → less → q)
+• swapped § and 0 for level 1 and for alternative
+• circumflex and title are dead
+• control+shift+[a-z] as alternative to meta+[a-z], for some reason C-S-x does not work
+• mapped meta+shift+[0-9]
+• mapped alt+control+[left|right] to control+x,[left|right]
+• mapped right supper to home
+• mapped menu to end
+• mapped shift+left super to compose (sysreq is still also compose)
+• control, shift, control+shift support for up,left,right,down
+• some support for o[control|shift|control+shift]+[home|end]
+• mapped meta+page[up|down], scrolls next buffer in Emacs
+• mapped altgr+shift+less to slash
+• heavier use of [shift +] alt graph
diff --git a/linux-vt-keyboard/sv-maandree.map b/linux-vt-keyboard/sv-maandree.map
new file mode 100644
index 0000000..0228dcb
--- /dev/null
+++ b/linux-vt-keyboard/sv-maandree.map
@@ -0,0 +1,581 @@
+#!sudo loadkeys
+#Install to /usr/share/kbd/keymaps/i386/qwerty/sv-maandree.map[.gz]
+
+charset "iso-8859-1"
+keymaps 0-6,8-14
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+
+
+
+## reflect <shift>{up,down,right,left}
+
+shift keycode 103 = F103
+shift keycode 108 = F108
+shift keycode 106 = F106
+shift keycode 105 = F105
+
+
+## reflect <control>{up,down,right,left}
+
+control keycode 103 = F113
+control keycode 108 = F118
+control keycode 106 = F116
+control keycode 105 = F115
+
+
+## reflect <control><shift>{up,down,right,left}
+
+control shift keycode 103 = F123
+control shift keycode 108 = F128
+control shift keycode 106 = F126
+control shift keycode 105 = F125
+
+
+## map <alternative><shift>{right,left} to C-x {right,left}
+## and <control><alternative>{right,left} to C-x {right,left}
+
+alt shift keycode 106 = F156
+alt shift keycode 105 = F155
+control alt keycode 106 = F156
+control alt keycode 105 = F155
+
+
+## map <alternative graph>{right,left} to {end,home}
+
+altgr keycode 106 = F136
+altgr keycode 105 = F135
+
+
+## map {menu,R-super} to {end,home}
+
+keycode 127 = F136
+keycode 126 = F135
+
+
+## map <alternative>{menu,R-super} to legacy {home,end}
+
+alt keycode 127 = F146
+alt keycode 126 = F145
+
+
+## map <alternative>{menu,R-super} to <shift>{home,end}
+
+shift alt keycode 127 = F168
+shift alt keycode 126 = F167
+
+
+## map <alternative>{menu,R-super} to <control>{home,end}
+
+control alt keycode 127 = F178
+control alt keycode 126 = F177
+
+
+## map <alternative>{menu,R-super} to <control><shift>{home,end}
+
+control shift alt keycode 127 = F188
+control shift alt keycode 126 = F187
+
+
+## map <shift>L-super to compose
+
+shift keycode 125 = Compose
+
+
+
+## map <alternative><shift>F{1..12} to console {13..24}
+
+alt shift keycode 59 = Console_13
+alt shift keycode 60 = Console_14
+alt shift keycode 61 = Console_15
+alt shift keycode 62 = Console_16
+alt shift keycode 63 = Console_17
+alt shift keycode 64 = Console_18
+alt shift keycode 65 = Console_19
+alt shift keycode 66 = Console_20
+alt shift keycode 67 = Console_21
+alt shift keycode 68 = Console_22
+alt shift keycode 87 = Console_23
+alt shift keycode 88 = Console_24
+
+
+## map <control><shift>F{1..12} to console {13..24}
+
+control shift keycode 59 = Console_13
+control shift keycode 60 = Console_14
+control shift keycode 61 = Console_15
+control shift keycode 62 = Console_16
+control shift keycode 63 = Console_17
+control shift keycode 64 = Console_18
+control shift keycode 65 = Console_19
+control shift keycode 66 = Console_20
+control shift keycode 67 = Console_21
+control shift keycode 68 = Console_22
+control shift keycode 87 = Console_23
+control shift keycode 88 = Console_24
+
+
+## map <alternative><control><shift>F{1..12} to console {25..36}
+
+alt control shift keycode 59 = Console_25
+alt control shift keycode 60 = Console_26
+alt control shift keycode 61 = Console_27
+alt control shift keycode 62 = Console_28
+alt control shift keycode 63 = Console_29
+alt control shift keycode 64 = Console_30
+alt control shift keycode 65 = Console_31
+alt control shift keycode 66 = Console_32
+alt control shift keycode 67 = Console_33
+alt control shift keycode 68 = Console_34
+alt control shift keycode 87 = Console_35
+alt control shift keycode 88 = Console_36
+
+
+## map <alternative><alternative graph>F{1..12} to console {37..48}
+
+alt altgr keycode 59 = Console_37
+alt altgr keycode 60 = Console_38
+alt altgr keycode 61 = Console_39
+alt altgr keycode 62 = Console_40
+alt altgr keycode 63 = Console_41
+alt altgr keycode 64 = Console_42
+alt altgr keycode 65 = Console_43
+alt altgr keycode 66 = Console_44
+alt altgr keycode 67 = Console_45
+alt altgr keycode 68 = Console_46
+alt altgr keycode 87 = Console_47
+alt altgr keycode 88 = Console_48
+
+
+## map <control><alternative graph>F{1..12} to console {37..48}
+
+control altgr keycode 59 = Console_37
+control altgr keycode 60 = Console_38
+control altgr keycode 61 = Console_39
+control altgr keycode 62 = Console_40
+control altgr keycode 63 = Console_41
+control altgr keycode 64 = Console_42
+control altgr keycode 65 = Console_43
+control altgr keycode 66 = Console_44
+control altgr keycode 67 = Console_45
+control altgr keycode 68 = Console_46
+control altgr keycode 87 = Console_47
+control altgr keycode 88 = Console_48
+
+
+## map <alternative><alternative graph><shift>F{1..12} to console {49..60}
+
+alt altgr shift keycode 59 = Console_49
+alt altgr shift keycode 60 = Console_50
+alt altgr shift keycode 61 = Console_51
+alt altgr shift keycode 62 = Console_52
+alt altgr shift keycode 63 = Console_53
+alt altgr shift keycode 64 = Console_54
+alt altgr shift keycode 65 = Console_55
+alt altgr shift keycode 66 = Console_56
+alt altgr shift keycode 67 = Console_57
+alt altgr shift keycode 68 = Console_58
+alt altgr shift keycode 87 = Console_59
+alt altgr shift keycode 88 = Console_60
+
+
+## map <alternative><alternative graph><shift>F{1..3} to console {61..63}
+
+alt altgr control keycode 59 = Console_61
+alt altgr control keycode 60 = Console_62
+alt altgr control keycode 61 = Console_63
+
+
+## map escape and <alternative>escape to esc and M-esc
+
+keycode 1 = Escape
+alt keycode 1 = Meta_Escape
+
+
+## map backspace and <alternative>backspace to backspace and M-backspace
+
+keycode 14 = Delete
+alt keycode 14 = Meta_Delete
+
+
+## map tab, <shift>tab and <alternative>tab to tab, backstab = M-tab and M-tab = backtab
+
+keycode 15 = Tab
+shift keycode 15 = Meta_Tab
+alt keycode 15 = Meta_Tab
+
+
+## map space, <shift>space and <alternative graph>space all to space and <shift><alternative graph>space to nbsp
+## and <control>space and <alternative>space to C-@ and M-space
+
+keycode 57 = space space space F190
+control keycode 57 = nul
+alt keycode 57 = Meta_space
+
+
+
+
+## [<normal> <shift> <alternative graph> <shift><alternative graph>]
+## [<alternative> <alternative><shift> <alternative><alternative graph> <alternative><shift><alternative graph>]
+## [<control> <control><shift> <control><alternative graph> <control><shift><alternative graph>]
+
+## 0 1 2 3 4 5 6 7 8 9 § + ´ C- <control>
+## q w e r t y u i o p å ^ M- <meta>
+## a s d f g h j k l ö ä ' D- <dead>
+## < z x c v b n m , . -
+
+
+
+## 0 = [0 ½ °] [M-0] [C-@]
+
+keycode 41 = zero onehalf degree
+alt keycode 41 = Meta_zero
+control keycode 41 = nul
+
+
+## 1 = [1 ! ¡ ¹] [M-1 M-! M-¡ M-¹] []
+
+keycode 2 = one exclam F104 F109
+alt keycode 2 = Meta_one
+alt shift keycode 2 = F201
+alt altgr keycode 2 = F107
+alt shift altgr keycode 2 = F114
+
+
+## 2 = [2 " @ ²] [M-2 M-" M-@ M-²] [C-@]
+
+keycode 3 = two quotedbl at F110
+alt keycode 3 = Meta_two
+alt shift keycode 3 = F202
+alt altgr keycode 3 = Meta_at
+alt shift altgr keycode 3 = F117
+control keycode 3 = nul
+
+
+## 3 = [3 # £ ³] [M-3 M-# M-£ M-³] [esc]
+
+keycode 4 = three numbersign sterling F111
+alt keycode 4 = Meta_three
+alt shift keycode 4 = F203
+alt altgr keycode 4 = Meta_sterling
+alt shift altgr keycode 4 = F119
+control keycode 4 = Escape
+
+
+## 4 = [4 ç $ ¼] [M-4 M-ç M-$ M-¼] [C-\]
+
+keycode 5 = four ccedilla dollar F112
+alt keycode 5 = Meta_four
+alt shift keycode 5 = F204
+alt altgr keycode 5 = Meta_dollar
+alt shift altgr keycode 5 = F120
+control keycode 5 = Control_backslash
+
+
+## 5 = [5 % € ¢] [M-5 M-% M-€ M-¢] [C-]]
+
+keycode 6 = five percent F101 F121
+alt keycode 6 = Meta_five
+alt shift keycode 6 = F205
+alt altgr keycode 6 = F102
+alt shift altgr keycode 6 = F122
+control keycode 6 = Control_bracketright
+
+
+## 6 = [6 & ¥ ¬] [M-6 M-& M-¥ M-¬] [C-^]
+
+keycode 7 = six ampersand F124 notsign
+alt keycode 7 = Meta_six
+alt shift keycode 7 = F206
+alt altgr keycode 7 = F127
+alt shift altgr keycode 7 = Meta_notsign
+control keycode 7 = Control_asciicircum
+
+
+## 7 = [7 / {] [M-7 M-/ M-{] [C-_]
+
+keycode 8 = seven slash braceleft
+alt keycode 8 = Meta_seven
+alt shift keycode 8 = F207
+alt altgr keycode 8 = Meta_braceleft
+control keycode 8 = Control_underscore
+
+
+## 8 = [8 ( [] [M-8 M-( M-[] [del]
+
+keycode 9 = eight parenleft bracketleft
+alt keycode 9 = Meta_eight
+alt shift keycode 9 = F208
+alt altgr keycode 9 = Meta_bracketleft
+control keycode 9 = Delete
+
+
+## 9 = [9 ) ]] [M-9 M-) M-]] []
+
+keycode 10 = nine parenright bracketright
+alt keycode 10 = Meta_nine
+alt shift keycode 10 = F209
+alt altgr keycode 10 = Meta_bracketright
+
+
+## § = [§ = }] [M-` M-= M-}] []
+
+keycode 11 = section equal braceright
+alt keycode 11 = Meta_grave
+alt shift keycode 11 = F210
+alt altgr keycode 11 = Meta_braceright
+
+
+## + = [+ ? \] [M--] [C-_]
+
+keycode 12 = plus question backslash
+alt keycode 12 = Meta_minus
+control keycode 12 = Control_underscore
+
+
+## ´ = [D-´ D-`] [M-=] []
+
+keycode 13 = dead_acute dead_grave
+alt keycode 13 = Meta_equal
+
+
+control shift keycode 86 = Meta_q
+control shift keycode 17 = Meta_w
+control shift keycode 18 = Meta_e
+control shift keycode 19 = Meta_r
+control shift keycode 20 = Meta_t
+control shift keycode 21 = Meta_y
+control shift keycode 22 = Meta_u
+control shift keycode 23 = Meta_i
+control shift keycode 24 = Meta_o
+control shift keycode 25 = Meta_p
+
+keycode 26 = +aring +Aring slash bar
+control keycode 26 = Escape
+alt keycode 26 = Meta_bracketleft
+
+keycode 27 = dead_diaeresis dead_circumflex dead_tilde
+control keycode 27 = Control_bracketright
+alt keycode 27 = Meta_bracketright
+
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+
+keycode 29 = Caps_Lock
+
+control shift keycode 30 = Meta_a
+control shift keycode 31 = Meta_s
+control shift keycode 32 = Meta_d
+control shift keycode 33 = Meta_f
+control shift keycode 34 = Meta_j
+control shift keycode 35 = Meta_h
+control shift keycode 36 = Meta_l
+control shift keycode 37 = Meta_k
+control shift keycode 38 = Meta_l
+
+keycode 39 = +odiaeresis +Odiaeresis
+alt keycode 39 = Meta_semicolon
+
+keycode 40 = +adiaeresis +Adiaeresis slash bar
+control keycode 40 = Control_g
+alt keycode 40 = Meta_apostrophe
+
+keycode 42 = Shift
+
+keycode 43 = apostrophe asterisk
+control keycode 43 = Control_backslash
+alt keycode 43 = Meta_backslash
+
+control shift keycode 44 = Meta_z
+control shift keycode 45 = Meta_x
+control shift keycode 46 = Meta_c
+control shift keycode 47 = Meta_v
+control shift keycode 48 = Meta_b
+control shift keycode 49 = Meta_n
+control shift keycode 50 = Meta_m
+
+keycode 51 = comma semicolon
+alt keycode 51 = Meta_comma
+
+keycode 52 = period colon
+alt keycode 52 = Meta_period
+
+keycode 53 = minus underscore slash backslash
+control keycode 53 = Delete
+alt keycode 53 = Meta_slash
+shift control keycode 53 = Control_underscore
+
+keycode 54 = Shift
+
+keycode 56 = less greater bar slash
+alt keycode 86 = Meta_less
+
+keycode 58 = Control
+
+keycode 16 = Alt
+keycode 86 = q
+
+keycode 97 = Control
+
+alt keycode 104 = F195
+alt keycode 109 = F196
+control shift keycode 104 = F195
+control shift keycode 109 = F196
+
+
+
+
+## map <alternative graph>{qweruasdflzxcvbnm} to {‽ł↑®▄↔←↓→ł«»©“”│µ}
+
+altgr keycode 16 = F200
+altgr keycode 17 = F201
+altgr keycode 18 = F202
+altgr keycode 19 = F203
+altgr keycode 22 = F236
+altgr keycode 30 = F204
+altgr keycode 31 = F205
+altgr keycode 32 = F206
+altgr keycode 33 = F207
+altgr keycode 38 = F208
+altgr keycode 44 = F209
+altgr keycode 45 = F210
+altgr keycode 46 = F211
+altgr keycode 47 = F212
+altgr keycode 48 = F213
+altgr keycode 49 = F214
+altgr keycode 50 = F215
+
+
+## map <shift><alternative graph>{qwertyuasdfglzxcvbn} to {⸘Ł┬┼┌┐▀↕├┴┤└┘Ł⁅⁆’⸮‘─}
+
+shift altgr keycode 16 = F216
+shift altgr keycode 17 = F217
+shift altgr keycode 18 = F218
+shift altgr keycode 19 = F219
+shift altgr keycode 20 = F220
+shift altgr keycode 21 = F221
+shift altgr keycode 22 = F235
+shift altgr keycode 30 = F222
+shift altgr keycode 31 = F223
+shift altgr keycode 32 = F224
+shift altgr keycode 33 = F225
+shift altgr keycode 34 = F226
+shift altgr keycode 35 = F227
+shift altgr keycode 38 = F228
+shift altgr keycode 44 = F229
+shift altgr keycode 45 = F230
+shift altgr keycode 46 = F231
+shift altgr keycode 47 = F232
+shift altgr keycode 48 = F233
+shift altgr keycode 49 = F234
+
+
+
+############################
+
+string F103 = "\033[1;2A"
+string F108 = "\033[1;2B"
+string F106 = "\033[1;2C"
+string F105 = "\033[1;2D"
+
+string F113 = "\033[1;5A"
+string F118 = "\033[1;5B"
+string F116 = "\033[1;5C"
+string F115 = "\033[1;5D"
+
+string F123 = "\033[1;6A"
+string F128 = "\033[1;6B"
+string F126 = "\033[1;6C"
+string F125 = "\033[1;6D"
+
+string F156 = "\030\033[C"
+string F155 = "\030\033[D"
+
+string F136 = "\033OF"
+string F135 = "\033OH"
+
+string F146 = "\033[4~"
+string F145 = "\033[1~"
+
+string F168 = "\033[4;2~"
+string F167 = "\033[1;2~"
+
+string F178 = "\033[4;3~"
+string F177 = "\033[1;3~"
+
+string F188 = "\033[4;4~"
+string F187 = "\033[1;4~"
+
+string F195 = "\033\033[5~"
+string F196 = "\033\033[6~"
+
+string F200 = "‽"
+string F201 = "ł"
+string F202 = "↑"
+string F203 = "®"
+string F236 = "▄"
+string F204 = "↔"
+string F205 = "←"
+string F206 = "↓"
+string F207 = "→"
+string F208 = "ł"
+string F209 = "«"
+string F210 = "»"
+string F211 = "©"
+string F212 = "“"
+string F213 = "”"
+string F214 = "│"
+string F215 = "µ"
+
+string F216 = "⸘"
+string F217 = "Ł"
+string F218 = "┬"
+string F219 = "┼"
+string F220 = "┌"
+string F221 = "┐"
+string F235 = "▀"
+string F222 = "↕"
+string F223 = "├"
+string F224 = "┴"
+string F225 = "┤"
+string F226 = "└"
+string F227 = "┘"
+string F228 = "Ł"
+string F229 = "⁅"
+string F230 = "⁆"
+string F231 = "⸮"
+string F232 = "‘"
+string F233 = "’"
+string F234 = "─"
+
+string F190 = " "
+string F201 = "\033!"
+string F202 = "\033\""
+string F203 = "\033#"
+string F204 = "\033ç"
+string F205 = "\033%"
+string F206 = "\033&"
+string F207 = "\033/"
+string F208 = "\033("
+string F209 = "\033)"
+string F210 = "\033="
+
+string F101 = "€"
+string F102 = "\033€"
+string F104 = "¡"
+string F107 = "\033¡"
+string F109 = "¹"
+string F110 = "²"
+string F111 = "³"
+string F112 = "¼"
+string F114 = "\033¹"
+string F117 = "\033²"
+string F119 = "\033³"
+string F120 = "\033¼"
+string F121 = "¢"
+string F122 = "\033¢"
+string F124 = "¥"
+string F127 = "\033¥"