diff --git a/share/syscons/keymaps/INDEX.keymaps b/share/syscons/keymaps/INDEX.keymaps index 3493ebc49801..d34e7fedbb2d 100644 --- a/share/syscons/keymaps/INDEX.keymaps +++ b/share/syscons/keymaps/INDEX.keymaps @@ -90,6 +90,7 @@ ce.iso2.kbd:de:Zentral Europ ce.iso2.kbd:fr:Centre europen ISO-8859-2 ce.iso2.kbd:es:Centroeuropeo ISO-8859-2 +colemak-dh.iso15.acc.kbd:en:Colemak Mod-DH ergonomic alternative colemak.iso15.acc.kbd:en:Colemak ergonomic alternative cs.latin2.qwertz.kbd:en:Czech ISO-8859-2 (QWERTZ, accent keys) diff --git a/share/syscons/keymaps/Makefile b/share/syscons/keymaps/Makefile index 81d990598589..f04b4fa75d35 100644 --- a/share/syscons/keymaps/Makefile +++ b/share/syscons/keymaps/Makefile @@ -6,6 +6,7 @@ FILES= INDEX.keymaps \ br275.iso.kbd br275.iso.acc.kbd br275.cp850.kbd \ by.cp1131.kbd by.cp1251.kbd by.iso5.kbd \ ce.iso2.kbd \ + colemak-dh.iso15.acc.kbd \ colemak.iso15.acc.kbd \ cs.latin2.qwertz.kbd \ cz.iso2.kbd \ diff --git a/share/syscons/keymaps/colemak-dh.iso15.acc.kbd b/share/syscons/keymaps/colemak-dh.iso15.acc.kbd new file mode 100644 index 000000000000..fc29b8e02820 --- /dev/null +++ b/share/syscons/keymaps/colemak-dh.iso15.acc.kbd @@ -0,0 +1,151 @@ +# $FreeBSD$ +# +# Colemak Mod-DH (rev. 2) layout for FreeBSD console +# 2006-01-01 Shai Coleman (http://colemak.com/), +# 2014-10-27 Steve P (http://colemakmods.github.io/mod-dh/). +# Public domain. + +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + + 041 '`' '~' nop nop dtil '~' nop nop O + 002 '1' '!' nop nop '¡' '¹' nop nop O + 003 '2' '@' nul nul 'º' '²' nul nul O + 004 '3' '#' nop nop 'ª' '³' nop nop O + 005 '4' '$' nop nop '¢' '£' nop nop O + 006 '5' '%' nop nop '¤' '¥' nop nop O + 007 '6' '^' rs rs '~' '~' rs rs O + 008 '7' '&' nop nop 'ð' 'Ð' nop nop O + 009 '8' '*' nop nop 'þ' 'Þ' nop nop O + 010 '9' '(' nop nop '~' '~' nop nop O + 011 '0' ')' nop nop '~' '~' nop nop O + 012 '-' '_' us us '~' '~' us us O + 013 '=' '+' nop nop '×' '÷' nop nop O + + 016 'q' 'Q' dc1 dc1 'ä' 'Ä' dc1 dc1 C + 017 'w' 'W' etb etb 'å' 'Å' etb etb C + 018 'f' 'F' ack ack 'ã' 'Ã' ack ack C + 019 'p' 'P' dle dle 'ø' 'Ø' dle dle C + 020 'b' 'B' bel bel '~' '~' bel bel C + 021 'j' 'J' nl nl '~' '~' nl nl C + 022 'l' 'L' ff ff '~' '~' ff ff C + 023 'u' 'U' nak nak 'ú' 'Ú' nak nak C + 024 'y' 'Y' em em 'ü' 'Ü' em em C + 025 ';' ':' nop nop 'ö' 'Ö' nop nop O + 026 '[' '{' esc esc '«' '~' esc esc O + 027 ']' '}' gs gs '»' '~' gs gs O + 043 '\' '|' fs fs '~' '~' fs fs O + + 030 'a' 'A' soh soh 'á' 'Á' soh soh C + 031 'r' 'R' dc2 dc2 dgra '~' dc2 dc2 C + 032 's' 'S' dc3 dc3 'ß' '~' dc3 dc3 C + 033 't' 'T' dc4 dc4 dacu '~' dc4 dc4 C + 034 'g' 'G' eot eot duml '~' eot eot C + 035 'k' 'K' bs bs '~' '~' bs bs C + 036 'n' 'N' so so 'ñ' 'Ñ' so so C + 037 'e' 'E' enq enq 'é' 'É' enq enq C + 038 'i' 'I' ht ht 'í' 'Í' ht ht C + 039 'o' 'O' si si 'ó' 'Ó' si si C + 040 ''' '"' nop nop 'õ' 'Õ' nop nop O + + 044 'z' 'Z' sub sub 'æ' 'Æ' sub sub C + 045 'x' 'X' can can dcir '~' can can C + 046 'c' 'C' etx etx 'ç' 'Ç' etx etx C + 047 'd' 'D' syn syn '½' '¼' syn syn C + 048 'v' 'V' stx stx '~' '~' stx stx C + 049 'm' 'M' vt vt drin '~' vt vt C + 050 'h' 'H' cr cr '~' '~' cr cr C + 051 ',' '<' nop nop dced '~' nop nop O + 052 '.' '>' nop nop '~' '~' nop nop O + 053 '/' '?' nop nop '¿' '~' nop nop O + + 058 bs bs bs bs bs bs bs bs O + 086 '-' '_' us us '~' '~' us us O + 057 ' ' ' ' nul nul ' ' ' ' susp susp O + + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc debug debug O + 014 bs bs del del bs bs del del O + 015 ht btab nscr nscr ht btab nop nop O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del '.' '.' '.' '.' '.' boot boot N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr nscr nop nop debug debug debug debug O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O + 104 saver saver susp susp nop nop susp susp O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop O + + dgra '`' ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 ) + ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 ) + ( 'u' 249 ) ( 'U' 217 ) + dacu 180 ( 'a' 225 ) ( 'A' 193 ) ( 'e' 233 ) ( 'E' 201 ) + ( 'i' 237 ) ( 'I' 205 ) ( 'o' 243 ) ( 'O' 211 ) + ( 'u' 250 ) ( 'U' 218 ) ( 'y' 253 ) ( 'Y' 221 ) + dcir '^' ( 'a' 226 ) ( 'A' 194 ) ( 'e' 234 ) ( 'E' 202 ) + ( 'i' 238 ) ( 'I' 206 ) ( 'o' 244 ) ( 'O' 212 ) + ( 'u' 251 ) ( 'U' 219 ) + dtil '~' ( 'a' 227 ) ( 'A' 195 ) ( 'n' 241 ) ( 'N' 209 ) + ( 'o' 245 ) ( 'O' 213 ) + dmac 000 + dbre 000 + ddot 000 + duml 168 ( 'a' 228 ) ( 'A' 196 ) ( 'e' 235 ) ( 'E' 203 ) + ( 'i' 239 ) ( 'I' 207 ) ( 'o' 246 ) ( 'O' 214 ) + ( 'u' 252 ) ( 'U' 220 ) ( 'y' 255 ) + dsla 000 + drin 176 ( 'a' 229 ) ( 'A' 197 ) + dced 184 ( 'c' 231 ) ( 'C' 199 ) + dapo 000 + ddac 000 + dogo 000 + dcar 000 diff --git a/share/vt/keymaps/INDEX.keymaps b/share/vt/keymaps/INDEX.keymaps index 49520ccf396c..f1a93569b2a9 100644 --- a/share/vt/keymaps/INDEX.keymaps +++ b/share/vt/keymaps/INDEX.keymaps @@ -84,6 +84,7 @@ centraleuropean.qwerty.kbd:de:Zentral Europäisch (QWERTY) centraleuropean.qwerty.kbd:fr:Centre européen (QWERTY) centraleuropean.qwerty.kbd:es:Centroeuropeo (QWERTY) +colemak-dh.acc.kbd:en:Colemak Mod-DH ergonomic alternative colemak.acc.kbd:en:Colemak ergonomic alternative cz.kbd:en:Czech (QWERTZ, accent keys) diff --git a/share/vt/keymaps/Makefile b/share/vt/keymaps/Makefile index 07198200bb25..8b9fc4d26dc9 100644 --- a/share/vt/keymaps/Makefile +++ b/share/vt/keymaps/Makefile @@ -18,6 +18,7 @@ FILES= INDEX.keymaps \ ch.acc.kbd \ ch.kbd \ ch.macbook.acc.kbd \ + colemak-dh.acc.kbd \ colemak.acc.kbd \ cz.kbd \ de.acc.kbd \ diff --git a/share/vt/keymaps/colemak-dh.acc.kbd b/share/vt/keymaps/colemak-dh.acc.kbd new file mode 100644 index 000000000000..a1d591ef2732 --- /dev/null +++ b/share/vt/keymaps/colemak-dh.acc.kbd @@ -0,0 +1,149 @@ +# $FreeBSD $ +# +# Colemak Mod-DH (rev. 2) layout for FreeBSD console +# 2006-01-01 Shai Coleman (http://colemak.com/), +# 2014-10-27 Steve P (http://colemakmods.github.io/mod-dh/). +# Public domain. + +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + + 041 '`' '~' nop nop dtil '~' nop nop O + 002 '1' '!' nop nop 0xa1 0xb9 nop nop O + 003 '2' '@' nul nul 0xba 0xb2 nul nul O + 004 '3' '#' nop nop 0xaa 0xb3 nop nop O + 005 '4' '$' nop nop 0xa2 0xa3 nop nop O + 006 '5' '%' nop nop 0xa4 0xa5 nop nop O + 007 '6' '^' rs rs '~' '~' rs rs O + 008 '7' '&' nop nop 0xf0 0xd0 nop nop O + 009 '8' '*' nop nop 0xfe 0xde nop nop O + 010 '9' '(' nop nop '~' '~' nop nop O + 011 '0' ')' nop nop '~' '~' nop nop O + 012 '-' '_' us us '~' '~' us us O + 013 '=' '+' nop nop 0xd7 0xf7 nop nop O + + 016 'q' 'Q' dc1 dc1 0xe4 0xc4 dc1 dc1 C + 017 'w' 'W' etb etb 0xe5 0xc5 etb etb C + 018 'f' 'F' ack ack 0xe3 0xc3 ack ack C + 019 'p' 'P' dle dle 0xf8 0xd8 dle dle C + 020 'b' 'B' bel bel '~' '~' bel bel C + 021 'j' 'J' nl nl '~' '~' nl nl C + 022 'l' 'L' ff ff '~' '~' ff ff C + 023 'u' 'U' nak nak 0xfa 0xda nak nak C + 024 'y' 'Y' em em 0xfc 0xdc em em C + 025 ';' ':' nop nop 0xf6 0xd6 nop nop O + 026 '[' '{' esc esc 0xab '~' esc esc O + 027 ']' '}' gs gs 0xbb '~' gs gs O + 043 '\' '|' fs fs '~' '~' fs fs O + + 030 'a' 'A' soh soh 0xe1 0xc1 soh soh C + 031 'r' 'R' dc2 dc2 dgra '~' dc2 dc2 C + 032 's' 'S' dc3 dc3 0xdf '~' dc3 dc3 C + 033 't' 'T' dc4 dc4 dacu '~' dc4 dc4 C + 034 'g' 'G' eot eot duml '~' eot eot C + 035 'k' 'K' bs bs '~' '~' bs bs C + 036 'n' 'N' so so 0xf1 0xd1 so so C + 037 'e' 'E' enq enq 0xe9 0xc9 enq enq C + 038 'i' 'I' ht ht 0xed 0xcd ht ht C + 039 'o' 'O' si si 0xf3 0xd3 si si C + 040 ''' '"' nop nop 0xf5 0xd5 nop nop O + + 044 'z' 'Z' sub sub 0xe6 0xc6 sub sub C + 045 'x' 'X' can can dcir '~' can can C + 046 'c' 'C' etx etx 0xe7 0xc7 etx etx C + 047 'd' 'D' syn syn 0xbd 0xbc syn syn C + 048 'v' 'V' stx stx '~' '~' stx stx C + 049 'm' 'M' vt vt drin '~' vt vt C + 050 'h' 'H' cr cr '~' '~' cr cr C + 051 ',' '<' nop nop dced '~' nop nop O + 052 '.' '>' nop nop '~' '~' nop nop O + 053 '/' '?' nop nop 0xbf '~' nop nop O + + 058 bs bs bs bs bs bs bs bs O + 086 '-' '_' us us '~' '~' us us O + 057 ' ' ' ' nul nul ' ' ' ' susp susp O + + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc debug debug O + 014 bs bs del del bs bs del del O + 015 ht btab nscr nscr ht btab nop nop O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del '.' '.' '.' '.' '.' boot boot N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr nscr nop nop debug debug debug debug O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O + 104 saver saver susp susp nop nop susp susp O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop O + + dgra '`' ( 'a' 0xe0 ) ( 'A' 0xc0 ) ( 'e' 0xe8 ) ( 'E' 0xc8 ) + ( 'i' 0xec ) ( 'I' 0xcc ) ( 'o' 0xf2 ) ( 'O' 0xd2 ) + ( 'u' 0xf9 ) ( 'U' 0xd9 ) + + dacu 0xb4 ( 'a' 0xe1 ) ( 'A' 0xc1 ) ( 'e' 0xe9 ) ( 'E' 0xc9 ) + ( 'i' 0xed ) ( 'I' 0xcd ) ( 'o' 0xf3 ) ( 'O' 0xd3 ) + ( 'u' 0xfa ) ( 'U' 0xda ) ( 'y' 0xfd ) ( 'Y' 0xdd ) + + dcir '^' ( 'a' 0xe2 ) ( 'A' 0xc2 ) ( 'e' 0xea ) ( 'E' 0xca ) + ( 'i' 0xee ) ( 'I' 0xce ) ( 'o' 0xf4 ) ( 'O' 0xd4 ) + ( 'u' 0xfb ) ( 'U' 0xdb ) + + dtil '~' ( 'a' 0xe3 ) ( 'A' 0xc3 ) ( 'n' 0xf1 ) ( 'N' 0xd1 ) + ( 'o' 0xf5 ) ( 'O' 0xd5 ) + + duml 0xa8 ( 'a' 0xe4 ) ( 'A' 0xc4 ) ( 'e' 0xeb ) ( 'E' 0xcb ) + ( 'i' 0xef ) ( 'I' 0xcf ) ( 'o' 0xf6 ) ( 'O' 0xd6 ) + ( 'u' 0xfc ) ( 'U' 0xdc ) ( 'y' 0xff ) + + drin 0xb0 ( 'a' 0xe5 ) ( 'A' 0xc5 ) + + dced 0xb8 ( 'c' 0xe7 ) ( 'C' 0xc7 )