Update to xkb-data 2.17.1ub1; diverse changes

Several tweaks and tricks. Shell scripts improved, Curl and Tarmak-Curl
improvements, Kyrillic phonetic layouts updated. See the main Big Bag
for XKB topic, and the Tarmak topic (at the Colemak forum).
This commit is contained in:
Øystein Bech Gadmar 2016-06-17 15:04:32 +02:00
parent 4f838fd45d
commit 9d3de38160
112 changed files with 3776 additions and 19477 deletions

View File

@ -1,20 +1,26 @@
DreymaR's Big Bag of Keyboard Tricks
====================================
For Linux (updated to XKB-data v2.12.1)
For Linux (updated to XKB-data v2.17.1ub1, 2016-06)
* New "Colemak[eD]" AltGr mappings (lv3-4) putting dead keys on AltGr+symbol keys and reworking most other mappings
* An "Extend" layer using Caps Lock as a modifier (lv5-8) for navigation/editing from the home position and more
* Angle/Wide ergo modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
* Curl-DH ergo modifications to encourage natural finger curvature
* For several locales, a 'Unified Symbols' layout with only a few necessary changes from the standard Colemak[eD];
Also, a layout to 'Keep Local Symbols' like their default (QWERTY-type) counterparts for that locale
* Intuitive phonetic layouts for Cyrillic, Greek and Hebrew scripts
* Mirrored Colemak that allows one-handed typing (if I ever break an arm...)
* The 4 Tarmak transitional Colemak layouts for learning Colemak (or Colemak-Curl) in smaller steps if desired
More info
---------
Run the install and setxkb scripts with -h (or look inside them) for more help and info about their workings!
* New "Colemak[eD]" AltGr mappings (lv 3-4) putting dead keys on AltGr+symbol keys and reworking most other mappings
* An Extend layer using Caps Lock for its modifier (lv 5-8; "Extend") for navigation from the home position and more
* Angle/Wide modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
* Curl modifications to improve hand curvature
* For several locales, a 'Unified Symbols' layout with only a few necessary locale changes from the standard Colemak[eD];
* Also, a layout to 'Keep Local Symbols' like their default (QWERTY-type) counterparts and key cap markings for that locale
* Access to Cyrillic, Greek and Hebrew letters using layout toggling to intuitive phonetic Colemak layouts
* Access to a mirrored Colemak that allows one-handed typing (I haven't used it much - but if I ever break an arm...!)
* The 4 Tarmak transitional Colemak layouts for learning Colemak in smaller steps if so desired
Links
-----
See the [DREYMAR'S (XKB) topic on the Colemak Forums](http://forum.colemak.com/viewtopic.php?id=1438) (http://forum.colemak.com)
There are plenty of explanations and further links in there, as well as links to files
See the [DREYMAR'S (XKB) topic on the Colemak Forums](http://forum.colemak.com/viewtopic.php?id=1438) (http://forum.colemak.com).
There are plenty of explanations and further links in there, as well as links to files.

View File

@ -1,24 +0,0 @@
# =================================================================
# === INSTALL-DREYMAR-XMOD.sh for DreymaR's XKB modifications ===
# === by Øystein Bech "DreymaR" Gadmar, 2015 ===
# =================================================================
#
# DreymaR's Big Bag Of Tricks install script (by GadOE, 2015-01)
#
# Shell script to apply DreymaR's changes to the X keyboard files:
# - AngleWide Ergonomic keyboard models for pc104/pc105 keyboards,
# - Extend mappings as a Misc option and CapsLock as a chooser (using lv5-8),
# - the Colemak [edition DreymaR] layout, using my own lv3-4 mappings,
# - locale variants of Colemak[eD] with 'local' or 'unified' symbol keys,
# - mirrored Colemak[eD] for one-handed typing,
# - and the Tarmak(1-4) transitional (step-by-step) Colemak learning layouts.
#
# - By default, this script creates a backup of the X11 files if none exist.
# - With '-o', overwrite the system X11 files (makes the mod GUI accessible).
# - With '-s <mdl loc sym>', specify a model/layout to activate immediately.
# (Shortstring format: -s '[4|5][n|a|w] loc [ks|us]'; 'loc'(ale) is 2-letter.
# Some model shortstr examples: '4n' is pc104, '5w' is pc105AngleWide etc.
# E.g.: -s '5n fr us' is normal pc105 model, French Colemak[eD]'USym'.)
# - With '-?', list further instructions and default values.
#
# Happy xkb-hacking! Øystein Bech "DreymaR" Gadmar

View File

@ -0,0 +1,11 @@
From http://colemak.com/Unix
Linux in text console mode
————————————————————————————————————————
Download, untar/gunzip archive
Under Debian/Ubuntu/Knoppix/Debian derivatives type: install-keymap linux_console/colemak.iso15.kmap to install as the default layout.
Type: loadkeys linux_console/colemak.iso15.kmap to switch layouts.
To switch to a ISO8859-15 compatible font type: consolechars -f lat9v-14
To switch back to QWERTY type: loadkeys us
————————————————————————————————————————

View File

@ -0,0 +1,75 @@
# colemak.kmap for Linux console.
# 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.
alt_is_meta
charset "iso-8859-15" # use a ISO-8859-15 font, e.g.: consolechars -f lat9v-14
keymaps 0-12
include "qwerty-layout"
include "linux-with-alt-and-altgr"
strings as usual
keycode 41 = grave asciitilde dead_tilde asciitilde nul
keycode 2 = one exclam exclamdown onesuperior
keycode 3 = two at masculine twosuperior nul
keycode 4 = three numbersign ordfeminine threesuperior Escape
keycode 5 = four dollar cent sterling Control_backslash
keycode 6 = five percent euro yen Control_bracketright # EuroSign yen
keycode 7 = six asciicircum asciitilde asciitilde Control_asciicircum # hstroke Hstroke
keycode 8 = seven ampersand eth ETH Control_underscore
keycode 9 = eight asterisk thorn THORN Delete
keycode 10 = nine parenleft asciitilde asciitilde # leftsinglequotemark leftdoublequotemark
keycode 11 = zero parenright asciitilde asciitilde # rightsinglequotemark rightdoublequotemark
keycode 12 = minus underscore asciitilde asciitilde Control_underscore # endash emdash
keycode 13 = equal plus multiply division
keycode 16 = q Q adiaeresis Adiaeresis Control_q
keycode 17 = w W aring Aring Control_w
keycode 18 = f F atilde Atilde Control_f
keycode 19 = p P oslash Ooblique Control_p
keycode 20 = g G asciitilde asciitilde Control_g # dead_ogonek asciitilde
keycode 21 = j J asciitilde asciitilde Control_j # dstroke Dstroke
keycode 22 = l L asciitilde asciitilde Control_l # lstroke Lstroke
keycode 23 = u U uacute Uacute Control_u
keycode 24 = y Y udiaeresis Udiaeresis Control_y
keycode 25 = semicolon colon odiaeresis Odiaeresis
keycode 26 = bracketleft braceleft guillemotleft asciitilde Escape # guillemotleft 0x1002039
keycode 27 = bracketright braceright guillemotright asciitilde Control_bracketright # guillemotright 0x100203a
keycode 43 = backslash bar asciitilde asciitilde Control_backslash
keycode 30 = a A aacute Aacute Control_a
keycode 31 = r R dead_grave asciitilde Control_r
keycode 32 = s S ssharp asciitilde Control_s
keycode 33 = t T dead_acute asciitilde Control_t # dead_acute dead_doubleacute
keycode 34 = d D dead_diaeresis asciitilde Control_d
keycode 35 = h H asciitilde asciitilde Control_h # dead_caron asciitilde
keycode 36 = n N ntilde Ntilde Control_n
keycode 37 = e E eacute Eacute Control_e
keycode 38 = i I iacute Iacute Control_i
keycode 39 = o O oacute Oacute Control_o
keycode 40 = apostrophe quotedbl otilde Otilde
keycode 44 = z Z ae AE Control_z
keycode 45 = x X dead_circumflex asciitilde Control_x
keycode 46 = c C ccedilla Ccedilla Control_c
keycode 47 = v V oe OE Control_v
keycode 48 = b B asciitilde asciitilde Control_b # dead_breve asciitilde
keycode 49 = k K asciitilde asciitilde Control_k # dead_abovering asciitilde
keycode 50 = m M asciitilde asciitilde Control_m # dead_macron asciitilde
keycode 51 = comma less dead_cedilla asciitilde
keycode 52 = period greater asciitilde asciitilde # dead_abovedot asciitilde
keycode 53 = slash question questiondown asciitilde Delete
keycode 58 = BackSpace BackSpace BackSpace BackSpace
keycode 86 = minus underscore asciitilde asciitilde Control_underscore # endash emdash
keycode 57 = space space space nobreakspace nul
keycode 1 = Escape
keycode 14 = Delete
keycode 15 = Tab
keycode 28 = Return
alt keycode 28 = Meta_Control_m
keycode 29 = Control
keycode 42 = Shift
keycode 54 = Shift
keycode 56 = Alt
keycode 97 = Control

View File

@ -0,0 +1,75 @@
# colemak.kmap for Linux console.
# 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.
alt_is_meta
charset "iso-8859-15" # use a ISO-8859-15 font, e.g.: consolechars -f lat9v-14
keymaps 0-12
include "qwerty-layout"
include "linux-with-alt-and-altgr"
strings as usual
keycode 41 = grave asciitilde dead_tilde asciitilde nul
keycode 2 = one exclam exclamdown onesuperior
keycode 3 = two at masculine twosuperior nul
keycode 4 = three numbersign ordfeminine threesuperior Escape
keycode 5 = four dollar cent sterling Control_backslash
keycode 6 = five percent euro yen Control_bracketright # EuroSign yen
keycode 7 = six asciicircum asciitilde asciitilde Control_asciicircum # hstroke Hstroke
keycode 8 = seven ampersand eth ETH Control_underscore
keycode 9 = eight asterisk thorn THORN Delete
keycode 10 = nine parenleft asciitilde asciitilde # leftsinglequotemark leftdoublequotemark
keycode 11 = zero parenright asciitilde asciitilde # rightsinglequotemark rightdoublequotemark
keycode 12 = minus underscore asciitilde asciitilde Control_underscore # endash emdash
keycode 13 = equal plus multiply division
keycode 16 = q Q adiaeresis Adiaeresis Control_q
keycode 17 = w W aring Aring Control_w
keycode 18 = f F atilde Atilde Control_f
keycode 19 = p P oslash Ooblique Control_p
keycode 20 = g G asciitilde asciitilde Control_g # dead_ogonek asciitilde
keycode 21 = j J asciitilde asciitilde Control_j # dstroke Dstroke
keycode 22 = l L asciitilde asciitilde Control_l # lstroke Lstroke
keycode 23 = u U uacute Uacute Control_u
keycode 24 = y Y udiaeresis Udiaeresis Control_y
keycode 25 = semicolon colon odiaeresis Odiaeresis
keycode 26 = bracketleft braceleft guillemotleft asciitilde Escape # guillemotleft 0x1002039
keycode 27 = bracketright braceright guillemotright asciitilde Control_bracketright # guillemotright 0x100203a
keycode 43 = backslash bar asciitilde asciitilde Control_backslash
keycode 30 = a A aacute Aacute Control_a
keycode 31 = r R dead_grave asciitilde Control_r
keycode 32 = s S ssharp asciitilde Control_s
keycode 33 = t T dead_acute asciitilde Control_t # dead_acute dead_doubleacute
keycode 34 = d D dead_diaeresis asciitilde Control_d
keycode 35 = h H asciitilde asciitilde Control_h # dead_caron asciitilde
keycode 36 = n N ntilde Ntilde Control_n
keycode 37 = e E eacute Eacute Control_e
keycode 38 = i I iacute Iacute Control_i
keycode 39 = o O oacute Oacute Control_o
keycode 40 = apostrophe quotedbl otilde Otilde
keycode 44 = z Z ae AE Control_z
keycode 45 = x X dead_circumflex asciitilde Control_x
keycode 46 = c C ccedilla Ccedilla Control_c
keycode 47 = v V oe OE Control_v
keycode 48 = b B asciitilde asciitilde Control_b # dead_breve asciitilde
keycode 49 = k K asciitilde asciitilde Control_k # dead_abovering asciitilde
keycode 50 = m M asciitilde asciitilde Control_m # dead_macron asciitilde
keycode 51 = comma less dead_cedilla asciitilde
keycode 52 = period greater asciitilde asciitilde # dead_abovedot asciitilde
keycode 53 = slash question questiondown asciitilde Delete
keycode 58 = BackSpace BackSpace BackSpace BackSpace
keycode 86 = minus underscore asciitilde asciitilde Control_underscore # endash emdash
keycode 57 = space space space nobreakspace nul
keycode 1 = Escape
keycode 14 = Delete
keycode 15 = Tab
keycode 28 = Return
alt keycode 28 = Meta_Control_m
keycode 29 = Control
keycode 42 = Shift
keycode 54 = Shift
keycode 56 = Alt
keycode 97 = Control

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -2,26 +2,29 @@
## =================================================================
## === INSTALL-DREYMAR-XMOD.sh for DreymaR's XKB modifications ===
## === by Øystein Bech "DreymaR" Gadmar, 2015 ===
## === by Øystein Bech "DreymaR" Gadmar, -2016 ===
## =================================================================
HeadStr="DreymaR's Big Bag Of Tricks install script (by GadOE, 2015-01)"
#
HeadStr="DreymaR's Big Bag Of Tricks install script (by GadOE, 2016-06)"
DescStr=\
"Shell script to apply DreymaR's changes to the X keyboard files:\n"\
" - AngleWide Ergonomic keyboard models for pc104/pc105 keyboards,\n"\
" - Extend mappings as a Misc option and CapsLock as a chooser (using lv5-8),\n"\
" - the Colemak [edition DreymaR] layout, using my own lv3-4 mappings,\n"\
" - locale variants of Colemak[eD] with 'local' or 'unified' symbol keys,\n"\
" - mirrored Colemak[eD] for one-handed typing,\n"\
" - and the Tarmak(1-4) transitional (step-by-step) Colemak learning layouts.\n"\
"\e[1mShell script to apply DreymaR's changes to the X keyboard files:\e[0m\n"\
" - AngleWide Ergonomic keyboard models for pc104/pc105 keyboards,\n"\
" - Extend mappings as a Misc option and CapsLock as a chooser (using lv5-8),\n"\
" - the Colemak [edition DreymaR] layout, using my own lv3-4 mappings,\n"\
" - locale variants of Colemak[eD] with 'keep local' or 'unified' symbol keys,\n"\
" - phonetic variants of Colemak for other scripts such as Greek,\n"\
" - mirrored Colemak[eD] for one-handed typing, (if I ever break an arm...)\n"\
" - and the Tarmak(1-4) transitional (step-by-step) Colemak learning layouts.\n"\
"\n"\
"- By default, this script creates a backup of the X11 files if none exist.\n"\
"- With '-o', overwrite the system X11 files (makes the mod GUI accessible).\n"\
"- With '-s <mdl loc sym>', specify a model/layout to activate immediately.\n"\
" (Shortstr format: -s '[4|5][n|a|w|e|f] loc [ks|us]'; 'loc'(ale) is 2-letter.\n"\
" Some model shortstr examples: '4n' is pc104, '5e' is pc105AngleWide etc.\n"\
" (Shortstr format: -s '[4|5][n|a|b|v][w|f] loc [ks|us]'; 'loc'(ale) is 2-letter.\n"\
" Some model shortstr examples: '4n' is pc104, '5aw' is pc105AngleWide etc.\n"\
" E.g.: -s '5n fr us' is normal pc105 model, French Colemak[eD]'USym'.)\n"\
"- With '-?', list further instructions and default values.\n"
"- With '-?', list further instructions and default values.\n"\
"- See http://forum.colemak.com/viewtopic.php?id=1438 for more info\n"
#
FootStr="Happy xkb-hacking! ~ Øystein Bech 'DreymaR' Gadmar"
#"- With '-i <dir>', specify a directory path/name to install in.\n"\
#"- With '-g', also install GTK 2.0/3.0 config for XF86 Cut/Copy/Paste.\n"\
@ -31,10 +34,10 @@ FootStr="Happy xkb-hacking! ~ Øystein Bech 'DreymaR' Gadmar"
## - It has subdirectories like 'xkb' that are to be installed (one, some or all)
## NOTE: This is the new preferred way instead of patching the system files:
## - Backup system xkb to dbak-xkb_<DATE> (and the same for any other subdirs)
## - Copy X11/xkb to ${InstDir}/dmod-xkb, then modify files in dmod-xkb
## - Set up setxkb.sh to run from the modified dmod-xkb
## - Copy X11/xkb to ${InstDir}/dxkb, then modify files in dxkb
## - Set up setxkb.sh to run from the modified dxkb [WARNING: This may not work now!]
## - Optionally (-o) overwrite the system files instead
## NOTE: The x-mod dir holds an xkb subfolder; later, there will be a locale dir too.
## NOTE: The x-mod dir now holds x-mod*/xkb; eventually there may be a locale dir too.
##-------------- init ------------------------------------------
@ -45,7 +48,8 @@ MyNAME=`basename $0`
MyPATH=`dirname $0`
#~ XVERSION='2-5-1-3ub2'
#~ XVERSION='2-10-1-1'
XVERSION='2-12-1'
#~ XVERSION='2-12-1'
XVERSION='2-17-1ub1'
## @@@ The default X11 dir under Debian/Ubuntu/etc is /usr/share/X11 @@@
## @@@ The default X11 dir under some (older) distros is /usr/lib/X11 @@@
X11DIR='/usr/share/X11'; [ -d "${X11DIR}" ] || X11DIR='/usr/lib/X11'
@ -54,27 +58,27 @@ ModDATE=''
DModDir=`dirname $0` # (-d) Path to the script (and mod?) root directory
ToolDir="${DModDir}/dreymar-xtools" # The location of tool scripts (like setxkb.sh)
DModTag="x-mod_v${XVERSION}_${ModDATE}" # (-t) Mod dir "prefix"
DBakFix='dbak-' # (--) Backup dir prefix
DModFix='dmod-' # (--) Modded dir prefix
#~ InstDir="${X11DIR}" # (-i) Path to install subfolder(s) in
InstDir="${HOME}/drey-xmod" # (-i) Path to install subfolder(s) in
WriteSys='no' # (-o) Overwrite the original xkb dir with the modded one
Restore='0' # (-r) Reverse: Restore from backup # instead of installing
DoBackup='ifnone' # (-n/b) Default backup behavior is "if no backups are found"
SubDirs='all' # (-m) Directory/-ies inside X11 to modify (e.g., 'xkb locale', 'all')
InstGTK='no' # (-g) Whether to install the GTK 2.0/3.0 config (if not present)
SetXMap='no' # (-x) Whether to run the setxkb script after installing
SetXStr='5aw us us' # (-s) Shortcut string for setxkb - 'mmm ll vv' (model layout eD-variant)
DBakFix='dbak-' # (--) Backup dir prefix
DModFix='d' # (--) Modded dir prefix
InstDir="${X11DIR}" # (-i) Path to install subfolder(s) in
#~ InstDir="${HOME}/drey-xmod" # (-i) Path to install subfolder(s) in
WriteSys='no' # (-o) Overwrite the original xkb dir with the modded one
Restore='0' # (-r) Reverse: Restore from backup # instead of installing
DoBackup='ifnone' # (-n/b) Default backup behavior is "if no backups are found"
SubDirs='all' # (-m) Directory/-ies inside X11 to modify (e.g., 'xkb locale', 'all')
InstGTK='no' # (-g) Whether to install the GTK 2.0/3.0 config (if not present)
SetXMap='no' # (-x) Whether to run the setxkb script after installing
SetXStr='5aw us us' # (-s) Shortcut string for setxkb - 'mmm ll vv' (model layout eD-variant)
HelpStr="Usage: bash ${MyNAME} [optional args]\n"\
HelpStr="\e[1mUsage: bash ${MyNAME} [optional args]\e[0m\n"\
"Run this from the directory containing the x-mod dir\n"\
"[-o] Overwrite system X11 directory - ${WriteSys}\n"\
"[-i] <Install path> - ${InstDir}\n"\
"[-o] Override install path w/ X11 - ${WriteSys}\n"\
"[-b] Force backup | location - ${X11DIR}\n"\
"[-n] Force no backup | default - ${DoBackup}\n"\
"[-r] <#> Restore backup - 1 is oldest - ${Restore}\n"\
"[-m] <X11 subdir(s) to mod> - ${SubDirs}\n"\
"[-i] <Install path> - ${InstDir}\n"\
"[-r] <#> Restore backup | 1 is oldest - ${Restore}\n"\
"[-d] <mod dir path> - ${DModDir}\n"\
"[-m] <X11 subdir(s) to mod> - ${SubDirs}\n"\
"[-t] <mod dir prefix tag> - ${DModTag}\n"\
"[-g] Install GTK 2.0/3.0 edit config - ${InstGTK}\n"\
"[-x] Run the setxkbmap script, yes/no - ${SetXMap}\n"\
@ -84,17 +88,19 @@ HelpStr="Usage: bash ${MyNAME} [optional args]\n"\
##-------------- functions and line parser ---------------------
MyMsg()
MyMsg() # Formatted output: last arg is printf 'style[;fgcolor[;bgcolor]]'
{
printf "\n@@@ $1 @@@\n\n"
# Style: 0-Off, 1-Bold, 4-Underscore, 5-Blink, 7-Reverse, 8-Concealed
# Color: (3#/4# FG/BG): 0-Black, 1-Red, 2-Green, 3-Yellow, 4-Blue, 5-Magenta, 6-Cyan, 7-White
printf "\n\e[${3:-1;32;40}m@@@ $1 @@@\e[0m\n$2" # default: Bold green on black
}
PrintHelpAndExit()
{
MyMsg "${HeadStr}"
MyMsg "${HeadStr}" "\n"
printf "${DescStr}\n"
printf "${HelpStr}"
MyMsg "${FootStr}"
MyMsg "${FootStr}" "\n"
exit $1
}
@ -104,9 +110,20 @@ MyEcho()
[ -z "$2" ] || printf "$1\n" >> "$2"
}
MyPoint()
{
MyEcho "\e[1;32m¤ \e[0m$@" # Bold green
}
MyWarning()
{
MyMsg "WARNING: ${@:-'Beware of nargles!'}" "\n" '1;36;44' # Bold cyan on blue
#~ exit 1
}
MyError()
{
MyMsg "$MyNAME - ERROR: ${@:-'Undefined error'}"
MyMsg "$MyNAME - ERROR: ${@:-'Undefined error'}" "\n" '1;37;41' # Bold white on red
exit 1
}
@ -115,7 +132,7 @@ MyError()
#~ OldDir=`pwd`
#~ NewDir=${1:-`pwd`}
#~ cd ${NewDir} || MyError "Change to '${NewDir}' failed"
#~ MyEcho "¤ Changed dir to '${NewDir}'"
#~ MyPoint "Changed dir to '${NewDir}'"
#~ }
#~ if [ "$#" == 0 ]; then PrintHelpAndExit 2; fi # No args
@ -143,12 +160,12 @@ done
##-------------- main ------------------------------------------
MyMsg "$HeadStr"
#~ MyEcho "¤ Working from '`pwd`'"
#~ MyPoint "Working from '`pwd`'"
## Check for a mod dir (the latest found) and if found, get its full name
DModDir=`find "${DModDir%/}/${DModTag}"* -maxdepth 0 -type d 2>/dev/null | tail -n 1`
[ -n "${DModDir}" ] || MyError "Mod root dir not found!"
MyEcho "¤ Found mod root dir '${DModDir}'"
MyPoint "Found mod root dir '${DModDir}'"
## Read the mod subdirs
if [ "${SubDirs}" == "all" ]; then
@ -156,7 +173,7 @@ if [ "${SubDirs}" == "all" ]; then
SubDirs=`echo ${SubDirs}` # A trick to make a var space separated for the following echo cmd
[ -n "${SubDirs}" ] || MyError "No mod subdirs found!"
fi
MyEcho "¤ Subdirectories to mod: '${SubDirs}'"
MyPoint "Subdirectories to mod: '${SubDirs}'"
## For each subdir, backup if either DoBackup = 'yes' or DoBackup = 'ifnone' and no backup exists
BackIt=''
@ -164,7 +181,7 @@ if [ ${DoBackup} == 'yes' ]; then
BackIt="${SubDirs}"
elif [ ${DoBackup} == 'ifnone' ] && [ ${Restore} == '0' ]; then
for That in ${SubDirs}; do
MyEcho "¤ Looking for '${That}' backup in '${X11DIR}'..."
MyPoint "Looking for '${That}' backup in '${X11DIR}'..."
# Test for (at least one) backup dir; if none found then proceed without errors
# if [ -z `find "${X11DIR}/${DBakFix}${That}"* -maxdepth 0 -type d 2>/dev/null | head -n 1` ]; then
if [ -z `find "${X11DIR}/${DBakFix}${That}"* -maxdepth 0 -type d -print -quit 2>/dev/null` ]; then
@ -173,13 +190,21 @@ elif [ ${DoBackup} == 'ifnone' ] && [ ${Restore} == '0' ]; then
fi
done
fi
[ -z "${BackIt}" ] && MyEcho "¤ Backing up: None" || MyEcho "¤ Backing up: '${BackIt}'"
[ -z "${BackIt}" ] && MyPoint "Backing up: None" || MyPoint "Backing up: '${BackIt}'"
## Check for root privileges (if not root, sudo command); note that root is only needed in some cases!
DoSudo=''
if [ "$EUID" -ne 0 ]; then # not root, so test for and use sudo instead (but some distros don't have it!)
#[ command -v sudo >/dev/null 2>&1 ] || MyError "Root access needed - sudo won't run!"
( command -v sudo >/dev/null 2>&1 ) || MyWarning "Root/superuser access may be needed!"
DoSudo='sudo'
fi
## Perform the actual backup(s)
## NOTE: cp -a makes an "archive" copy, preserving all attributes and links
for That in ${BackIt}; do
[ -d "${X11DIR}/${That}" ] || MyError "Unable to backup '${That}': Directory not found!"
sudo cp -a "${X11DIR}/${That}" "${X11DIR}/${DBakFix}${That}_${MyDATE}" || MyError "Copy error!"
${DoSudo} cp -a "${X11DIR}/${That}" "${X11DIR}/${DBakFix}${That}_${MyDATE}" || MyError "Copy error!"
done
## For each subfolder: Restore from backup #, overwrite X11 files or make new mod folder
@ -188,22 +213,28 @@ for That in ${SubDirs}; do
## Restore from backup. Pick a backup # by parameter, 1 being oldest; use 999 or such for the last one
BackIt=`find "${X11DIR}/${DBakFix}${That}"* -maxdepth 0 -type d 2>/dev/null | head -n ${Restore} | tail -n 1`
[ -d "${BackIt}" ] || MyError "Unable to restore from '$(basename ${BackIt})': Not found!"
MyEcho "¤ Restoring from backup '$(basename "${BackIt}")'"
sudo cp -a "${BackIt}/"* "${X11DIR}/${That}" 2>/dev/null || MyError "Restore copy error!"
MyPoint "Restoring from backup '$(basename "${BackIt}")'"
${DoSudo} cp -a "${BackIt}/"* "${X11DIR}/${That}" 2>/dev/null \
&& MyPoint "Restore done" || MyError "Restore copy error!"
XKBDir="${X11DIR}/xkb" # Setxkbmap will default to the X11 dir, but this makes it unambigous
elif [ ${WriteSys} == 'yes' ] && [ -d "${DModDir}/${That}" ]; then # Overwrite system files
MyEcho "¤ Replacing files in '${X11DIR}/${That}' with mod"
sudo cp -a "${DModDir}/${That}/"* "${X11DIR}/${That}" 2>/dev/null || MyError "System files copy error!"
elif [ ${WriteSys} == 'yes' ] || [ ${InstDir} == ${X11DIR} ] && [ -d "${DModDir}/${That}" ]; then # Overwrite OS files
MyPoint "Replacing files in '${X11DIR}/${That}' with mod"
${DoSudo} cp -a "${DModDir}/${That}/"* "${X11DIR}/${That}" 2>/dev/null \
&& MyPoint "System install done" || MyError "System files copy error!"
XKBDir="${X11DIR}/xkb"
else ## Make new mod folder (will not show up in keyboard settings GUI; use setxkbmap instead)
DoSudo=''; mkdir -p "${InstDir}" 2>/dev/null && [ -w "${InstDir}" ] || DoSudo='sudo'
DoSudo=''
mkdir -p "${InstDir}" 2>/dev/null && [ -w "${InstDir}" ] || DoSudo='sudo' # check whether sudo is needed
MyDir="${InstDir%/}/${DModFix}${That}"
#~ MyDir="$(dirname "${MyDir}")/${DModFix}$(basename "${MyDir}")" # Insert prefix in path/name
MyEcho "¤ Installing mod files in '${MyDir}'"
MyPoint "Installing mod files in '${MyDir}'"
MyWarning "It seems that setxkbmap w/ local dir isn't working now?!"
${DoSudo} mkdir -p "${MyDir}" || MyError "Can't make '${MyDir}'!"
${DoSudo} cp -a "${X11DIR}/${That}/"* "${MyDir}" 2>/dev/null || MyError "Local files copy error!"
${DoSudo} cp -a "${DModDir}/${That}/"* "${MyDir}" 2>/dev/null || MyError "Local files copy error!"
${DoSudo} cp -a "${DModDir}/${That}/"* "${MyDir}" 2>/dev/null \
&& MyPoint "Local install done" || MyError "Local files copy error!"
XKBDir="${InstDir%/}/${DModFix}xkb" # Prepare for setxkbmap
cp -a setxkb.sh ${InstDir} # Copy over the setxkb.sh script to the new dir
fi
done
@ -218,15 +249,15 @@ fi
#~ MyMsg "Press any key to set the new xkb map${That}, or 'q' to quit"
#~ read -p '$>' -n 1 keypress
#~ if [ "${keypress}" == 'q' ]; then
## If selected, call the DreymaR setxkbmap script to activate the new (default) layout
if [ "${SetXMap}" != 'yes' ]; then
MyEcho; MyMsg "XKBmap activation skipped"
MyMsg "XKBmap activation skipped" "" '1;33;40'
else
#~ "${ToolDir}/setxkb.sh" -p $(dirname "${XKBDir}") -d $(basename "${XKBDir}") || MyError "setxkb.sh failed!"
"./setxkb.sh" -d "${XKBDir}" -s "${SetXStr}" || MyError "setxkb.sh failed!"
bash ./setxkb.sh -d "${XKBDir}" -s "${SetXStr}" || MyError "setxkb.sh failed!"
fi
MyMsg "${MyNAME} finished!"
MyMsg "${MyNAME} finished!" "\n"
exit 0
##-------------- misc ------------------------------------------

199
setxkb.sh
View File

@ -7,21 +7,22 @@
HeadStr="DreymaR's setxkbmap script (by GadOE, 2015-01)"
DescStr=\
"Shell script to change X.org keyboard setup\n"\
" using the 'setxkbmap' command.\n"\
" To override system settings after logon,\n"\
" source it, e.g., in your ~/.bashrc file\n"
"\e[1mShell script to change X.org keyboard setup\e[0m\n"\
" using the 'setxkbmap' command.\n"\
" To override system settings after logon,\n"\
" source it, e.g., in your ~/.bashrc file,\n"\
" or use -a to write the setxkbmap command to a file.\n"
FootStr="Happy xkb-hacking! ~ Øystein Bech 'DreymaR' Gadmar"
## NOTE: It now works with local xkb(-mod) dir
# By default, setxkbmap checks ./rules first!
# Need a full xkb dir then (not just the xkb-mod files)
# By default, setxkbmap checks ./rules first!
# Need a full xkb dir then (not just the xkb-mod files)
## NOTE: I made a handy shorthand for activating simple cmk_ed model/layout combos.
# Example: -s '5w no us' activates model pc105awide-sl, layout no(cmk_ed_us)
# Options left out of this: Too complex (replace all or add another, and if so, how?)
# Models: 4n 4a(pc104angle-z) 4w(pc104wide-qu) 4e(pc104awide-zqu) 4f(pc104aframe)
# 5n 5a(pc105angle-lg) 5w/5e(pc105awide-sl)
# Example: -s '5w no us' activates model pc105awide-sl, layout no(cmk_ed_us)
# Models: 4n 4a(pc104angle-z) 4w(pc104wide-qu) 4aw(pc104awide-zqu) 4f(pc104aframe)
# 5n 5a(pc105angle-lg) 5w/5aw(pc105awide-sl)
# Options left out of this: Too complex (replace all or add another, and if so, how?)
##-------------- init ------------------------------------------
## NOTE: '#(-a)' means that the value can be set by a command-line argument '-a <value>'
@ -35,15 +36,19 @@ X11DIR='/usr/share/X11'; [ -d "${X11DIR}" ] || X11DIR='/usr/lib/X11'
#~ XKBmodel=pc104awide-zqu # ANSI-104 keyboard w/ Angle(Z)Wide(Quote) mod
XKBmodel=pc105awide-sl # ISO-105 keyboard w/ AngleWide(Slash) mod
#~ XKBmodel=pc105caw-bksl # ISO-105 w/ Curl(DbgHk)AngleWide(Slash) mod
#~ XKBlayout='us(cmk_ed_us),gr(colemak),ru(colemak)'
XKBlayout='no(cmk_ed_us)' # Norwegian Colemak[eD]'Universal Symbols' layout
XKBoption='misc:extend,lv5:caps_switch_lock,grp:shifts_toggle,compose:menu'
VerboseLvl=9 # (-v) How much info should setxkbmap print out?
KeepXKM='no' # (-k) Retain old /var/lib/xkb/server-*.xkm files?
XKBdir="${X11DIR}/xkb" # (-d) The xkb-type dir to run setxkbmap from
AddCmd='no' # (-a) Add setxkbmap cmd to file?
AddDefault="${HOME}/.bashrc"
AddCmdTo=${AddDefault} # (-f) File (such as '~/.bashrc') to add setxkbmap cmd to
SetXStr='' #'5aw no us' # (-s) Shortcut string for setxkb - 'model locale eD-variant(sym)'
HelpStr="Usage: bash ${MyNAME} [optional args]\n"\
HelpStr="\e[1mUsage: bash ${MyNAME} [optional args]\e[0m\n"\
"[-m] <model> - '${XKBmodel}'\n"\
"[-l] <layout> - '${XKBlayout}'\n"\
"[-o] <option> - \n"\
@ -52,29 +57,35 @@ HelpStr="Usage: bash ${MyNAME} [optional args]\n"\
"[-s] <ShortStr> 'mod lay sym' - '${SetXStr}'\n"\
"[-d] Run from <directory> - '${XKBdir}'\n"\
"[-k] Keep old XKB server(s) - '${KeepXKM}'\n"\
"\n ShortStr notation (option to provide a space separated string):\n"\
" 1) 4/5 - ANSI-104/ISO-105 keyboard,\n"\
" n/a/v/b/c/d - Normal/Angle/Curl-Dvbg/Dbg/DvbgHm/DbgHk\n"\
" w/f - Wide/(Angle)Frame\n"\
" 2) Two-letter layout code like 'us' for USA, 'gb' for UK etc\n"\
" 3) 'us'/'ks' for 'Universal'/'Keep Local' symbol locale variants\n"\
" Example: '5aw se us': PC105-AngleWide, Swedish Cmk[eD] 'UniSym'\n"
"[-a] Add cmd line to file? - '${AddCmd}'\n"\
"[-f] <file> to add cmd to - '${AddCmdTo}'\n"\
"\n\e[1mShortStr notation (a space separated string defining model+layout):\e[0m\n"\
" 1) 4/5 - ANSI-104/ISO-105 keyboard,\n"\
" n/a/b/v - Normal/Angle/Curl-DbgHk/Curl-DvbgHm\n"\
" w/f - Wide/AngleFrame (a.k.a. 'A-Wing')\n"\
" 2) Two-letter layout code like 'us' for USA, 'gb' for UK etc\n"\
" 3) 'us'/'ks' for 'Universal'/'Keep Local' symbol locale variants\n"\
" Example: '5a se us': PC105-Angle, Swedish Cmk[eD] 'UniSym'\n"\
" '4bf gb ks': PC104-Curl(DbgHk)AWing, Eng.(UK) Cmk[eD] 'KeepSym'\n"\
" '5bw': PC105-Curl(DbgHk)AngleWide (keep existing layout)\n"
#~ " (See the script's comments for more info.)"
##-------------- functions and line parser ---------------------
MyMsg()
MyMsg() # Formatted output: last arg is printf 'style[;fgcolor[;bgcolor]]'
{
printf "\n@@@ $1 @@@\n\n"
# Style: 0-Off, 1-Bold, 4-Underscore, 5-Blink, 7-Reverse, 8-Concealed
# Color: (3#/4# FG/BG): 0-Black, 1-Red, 2-Green, 3-Yellow, 4-Blue, 5-Magenta, 6-Cyan, 7-White
printf "\n\e[${3:-1;32;40}m@@@ $1 @@@\e[0m\n$2" # default: Bold green on black
}
PrintHelpAndExit()
{
MyMsg "${HeadStr}"
MyMsg "${HeadStr}" "\n"
printf "${DescStr}\n"
printf "${HelpStr}\n"
MyMsg "${FootStr}"
printf "${HelpStr}"
MyMsg "${FootStr}" "\n"
exit $1
}
@ -84,9 +95,20 @@ MyEcho()
[ -z "$2" ] || printf "$1\n" >> "$2"
}
MyPoint()
{
MyEcho "\e[1;32m¤ \e[0m$@" # Bold green
}
MyWarning()
{
MyMsg "WARNING: ${@:-'Beware of nargles!'}" "\n" '1;36;44' # Bold cyan on blue
#~ exit 1
}
MyError()
{
MyMsg "$MyNAME - ERROR: ${@:-'Unknown'}"
MyMsg "$MyNAME - ERROR: ${@:-'Undefined error'}" "\n" '1;37;41' # Bold white on red
exit 1
}
@ -94,12 +116,12 @@ MyCD()
{
OldDir=`pwd`
NewDir=${1:-`pwd`}
cd ${NewDir} || MyError "Change to '${NewDir}' failed"
MyEcho "¤ Changed dir to '${NewDir}'"
cd ${NewDir} \
&& MyPoint "Changed dir to '${NewDir}'" || MyError "Change to '${NewDir}' failed"
}
#~ if [ "$#" == 0 ]; then PrintHelpAndExit 2; fi # No args
while getopts "m:l:o:v:s:d:kh?" cmdarg; do
while getopts "m:l:o:v:s:d:f:akh?" cmdarg; do
case $cmdarg in
m) XKBmodel="$OPTARG" ;;
l) XKBlayout="$OPTARG" ;;
@ -107,6 +129,8 @@ while getopts "m:l:o:v:s:d:kh?" cmdarg; do
v) VerboseLvl="$OPTARG" ;;
s) SetXStr=($OPTARG) ;; # Split the string
d) XKBdir="$OPTARG" ;;
f) AddCmdTo="$OPTARG" ;;
a) AddCmd='yes' ;;
k) KeepXKM='yes' ;;
h) PrintHelpAndExit 0 ;;
\?) PrintHelpAndExit 0 ;;
@ -117,73 +141,104 @@ done
if [ -n "${SetXStr}" ]; then # Use the ShortStr notation
case ${SetXStr[0]} in
4n) XKBmodel='pc104' ;; # Generic ANSI-101/104-key
4a) XKBmodel='pc104angle-z' ;; # w/ Angle(Z) ergo mod
4w) XKBmodel='pc104wide-qu' ;; # w/ Wide(Quote) ergo mod
4aw) XKBmodel='pc104awide-zqu' ;; # w/ Angle(Z)Wide(Quote) ergo mod
4f) XKBmodel='pc104aframe' ;; # w/ AngleFrame(Quote) ergo mod
4af) XKBmodel='pc104aframe' ;; # w/ AngleFrame(Quote) ergo mod
4n) XKBmodel='pc104' ;; # Generic ANSI-101/104-key
4a) XKBmodel='pc104angle-z' ;; # w/ Angle(Z) ergo mod
4w) XKBmodel='pc104wide-qu' ;; # w/ Wide(Quote) ergo mod
4aw) XKBmodel='pc104awide-zqu' ;; # w/ Angle(Z)Wide(Quote) ergo mod
4f|4af) XKBmodel='pc104aframe' ;; # w/ AngleWing(Quote) ergo mod
4b) XKBmodel='pc104curla-bkz' ;; # w/ Curl(DbgHk)Angle(Z) ergo mod
4v) XKBmodel='pc104curla-vmz' ;; # w/ Curl(DvbgHm)Angle(Z) ergo mod
4bw) XKBmodel='pc104caw-bkzqu' ;; # w/ Curl(DbgHk)Angle(Z)Wide(Quote) mod
4vw) XKBmodel='pc104caw-vmzqu' ;; # w/ Curl(DvbgHm)Angle(Z)Wide(Quote) mod
4bf) XKBmodel='pc104cawing-bk' ;; # w/ Curl(DbgHk)AngleWing(Quote) mod
4vf) XKBmodel='pc104cawing-vm' ;; # w/ Curl(DvbgHm)AngleWing(Quote) mod
4v) XKBmodel='pc104curla-vz' ;; # w/ Curl(Dvbg)Angle(Z) ergo mod
4b) XKBmodel='pc104curla-bz' ;; # w/ Curl(Dbg)Angle(Z) ergo mod
4vw) XKBmodel='pc104caw-vzqu' ;; # w/ Curl(Dvbg)Angle(Z)Wide(Quote) mod
4bw) XKBmodel='pc104caw-bzqu' ;; # w/ Curl(Dbg)Angle(Z)Wide(Quote) mod
4vf) XKBmodel='pc104caframe-v' ;; # w/ Curl(Dvbg)AngleFrame(Quote) mod
4bf) XKBmodel='pc104caframe-b' ;; # w/ Curl(Dbg)AngleFrame(Quote) mod
4c) XKBmodel='pc104curla-vmz' ;; # w/ Curl(DvbgHm)Angle(Z) ergo mod
4d) XKBmodel='pc104curla-bkz' ;; # w/ Curl(DbgHk)Angle(Z) ergo mod
4cw) XKBmodel='pc104caw-vmzqu' ;; # w/ Curl(DvbgHm)Angle(Z)Wide(Quote) mod
4dw) XKBmodel='pc104caw-bkzqu' ;; # w/ Curl(DbgHk)Angle(Z)Wide(Quote) mod
4cf) XKBmodel='pc104caframe-vm' ;; # w/ Curl(DvbgHm)AngleFrame(Quote) mod
4df) XKBmodel='pc104caframe-bk' ;; # w/ Curl(DbgHk)AngleFrame(Quote) mod
5n) XKBmodel='pc105' ;; # Generic ISO-102/105-key
5a) XKBmodel='pc105angle-lg' ;; # w/ Angle(LSGT) ergo mod
5w) XKBmodel='pc105awide-sl' ;; # w/ AngleWide(Slash) ergo mod
5aw) XKBmodel='pc105awide-sl' ;; # w/ AngleWide(Slash) ergo mod
5v) XKBmodel='pc105curla-v' ;; # w/ Curl(Dvbg)Angle ergo mod
5b) XKBmodel='pc105curla-b' ;; # w/ Curl(Dbg)Angle ergo mod
5vw) XKBmodel='pc105caw-vsl' ;; # w/ Curl(Dvbg)AngleWide(Slash) mod
5bw) XKBmodel='pc105caw-bsl' ;; # w/ Curl(Dbg)AngleWide(Slash) mod
5c) XKBmodel='pc105curla-vm' ;; # w/ Curl(DvbgHm)Angle ergo mod
5d) XKBmodel='pc105curla-bk' ;; # w/ Curl(DbgHk)Angle ergo mod
5cw) XKBmodel='pc105caw-vmsl' ;; # w/ Curl(DvbgHm)AngleWide(Slash) mod
5dw) XKBmodel='pc105caw-bksl' ;; # w/ Curl(DbgHk)AngleWide(Slash) mod
5n) XKBmodel='pc105' ;; # Generic ISO-102/105-key
5a) XKBmodel='pc105angle-lg' ;; # w/ Angle(LSGT) ergo mod
5w|5aw) XKBmodel='pc105awide-sl' ;; # w/ AngleWide(Slash) ergo mod
5b) XKBmodel='pc105curla-bk' ;; # w/ Curl(DbgHk)Angle ergo mod
5v) XKBmodel='pc105curla-vm' ;; # w/ Curl(DvbgHm)Angle ergo mod
5bw) XKBmodel='pc105caw-bksl' ;; # w/ Curl(DbgHk)AngleWide(Slash) mod
5vw) XKBmodel='pc105caw-vmsl' ;; # w/ Curl(DvbgHm)AngleWide(Slash) mod
*) MyError "ShortStr model '${SetXStr[0]}' unknown!" ;;
esac
XKBlayout="${SetXStr[1]}(cmk_ed_${SetXStr[2]})"
## If there are two more parts, generate the ??(cmk_ed_?s) layout; else, use existing layout.
[ -n "${SetXStr[2]}" ] && XKBlayout="${SetXStr[1]}(cmk_ed_${SetXStr[2]})" \
|| XKBlayout=`setxkbmap -query | grep layout | awk '{print $2}'`
fi
##TODO: Add curl mods to models?!? Then, new shortstr codes are needed
# Enough to do the left hand and full!
# So, [4|5][n|a|v|b|c|d][-|w|f]? (Or m|k for c|d?)
## NOTE: Curl mods as models would mess up Extend, but I've kept the shortstr codes above.
# So, model strings are [4|5][n|a|v|b][-|w|f]
## NOTE: The code below post processes Curl models into model+option, as per my implementation.
case ${XKBmodel} in
pc104curla-bkz) XKBmodel='pc104angle-z' # PC104-Curl(DbgHk)Angle(Z)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc104curla-vmz) XKBmodel='pc104angle-z' # PC104-Curl(DvbgHm)Angle(Z)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc104caw-bkzqu) XKBmodel='pc104awide-zqu' # PC104-Curl(DbgHk)Angle(Z)Wide(Quote)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc104caw-vmzqu) XKBmodel='pc104awide-zqu' # PC104-Curl(DvbgHm)Angle(Z)Wide(Quote)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc104cawing-bk) XKBmodel='pc104aframe' # PC104-Curl(DbgHk)AngleWing(Quote)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc104cawing-vm) XKBmodel='pc104aframe' # PC104-Curl(DvbgHm)AngleWing(Quote)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc105curla-bk) XKBmodel='pc105angle-lg' # PC105-Curl(DbgHk)Angle
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc105curla-vm) XKBmodel='pc105angle-lg' # PC105-Curl(DvbgHm)Angle
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc105caw-bksl) XKBmodel='pc105awide-sl' # PC105-Curl(DbgHk)AngleWide(Slash)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc105caw-vmsl) XKBmodel='pc105awide-sl' # PC105-Curl(DvbgHm)AngleWide(Slash)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
esac
##-------------- main ------------------------------------------
MyMsg "$HeadStr"
#~ MyCD "${XKBpath%/}/${XKBdir%/}"
if [ -n "${SetXStr}" ]; then
MyEcho "¤ Using model/layout '$XKBmodel'/'$XKBlayout' from ShortStr"
MyPoint "Using model/layout '$XKBmodel'/'$XKBlayout' from ShortStr"
fi
MyCD "${XKBdir%/}"
#~ MyEcho "¤ Running from `pwd`"
#~ MyPoint "Running from `pwd`"
## Check for root privileges (if not root, needs the sudo command)
DoSudo=''
if [ "$EUID" -ne 0 ]; then # or [ `whoami` = 'root' ]; not root, so test for sudo instead
( command -v sudo >/dev/null 2>&1 ) || MyError "Need root access and sudo won't run!"
DoSudo='sudo'
fi
## Purge the old xkb server files
MyEcho "¤ Looking for and removing any old .xkm server files"
if [ ${KeepXKM} == 'no' ]; then
sudo rm -f /var/lib/xkb/server-*.xkm || MyEcho "¤ No .xkm files"
MyPoint "Looking for and removing any old .xkm server files"
${DoSudo} rm -f /var/lib/xkb/server-*.xkm || MyPoint "No .xkm files removed"
fi
## Clear the xkb options (to avoid duplicates)
setxkbmap -option ''
## Run the actual setxkbmap command
MyEcho "¤ Running setxkbmap:\n"
setxkbmap -model "$XKBmodel" -layout "$XKBlayout" \
-option "$XKBoption" -v $VerboseLvl
MySetXKB="-model ${XKBmodel} -layout ${XKBlayout} -option ${XKBoption} -v ${VerboseLvl}"
MyPoint "Running setxkbmap:\n"
setxkbmap $MySetXKB
MyEcho ""
## Add the setxkbmap command to a file, if specified (Note the special format for MySetXKB!)
MySetXKB="-model '${XKBmodel}' -layout '${XKBlayout}' -option '${XKBoption}'"
if [ ${AddCmd} == 'yes' ] || [ ${AddCmdTo} != ${AddDefault} ]; then
MyPoint "Adding setxkbmap cmd to ${AddCmdTo}\n"
[ -w ${AddCmdTo} ] || MyError "Writing to '${AddCmdTo}' failed"
printf "\n%s\n%s\n%s\n" \
"##-> DreymaR's SetXKB.sh: Activate layout" \
"setxkbmap ${MySetXKB}" \
"##<- DreymaR's SetXKB.sh" \
>> ${AddCmdTo}
fi
MyCD "${OldDir}"
## When run in a terminal window, wait for a key press
@ -191,7 +246,9 @@ MyCD "${OldDir}"
#~ MyMsg "Press any key to proceed:"
#~ read -n 1
MyMsg "${MyNAME} finished!"
## A silly trick to not print the last Enter if called from the install script :-)
extraEnter='';[[ `ps --no-headers -o comm= $PPID` == 'install-dreymar' ]] || extraEnter='\n'
MyMsg "${MyNAME} finished!" ${extraEnter}
exit 0
##-------------- misc ------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@ -1,887 +0,0 @@
! model
pc101 Generic 101-key PC
pc102 Generic 102-key (Intl) PC
pc104 Generic 104-key PC
pc105 Generic 105-key (Intl) PC
dell101 Dell 101-key PC
latitude Dell Latitude series laptop
dellm65 Dell Precision M65
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98xx Series
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet Keyboard
scorpius Advance Scorpius KI
brother Brother Internet Keyboard
btc5113rf BTC 5113RF Multimedia
btc5126t BTC 5126T
btc6301urf BTC 6301URF
btc9000 BTC 9000
btc9000a BTC 9000A
btc9001ah BTC 9001AH
btc5090 BTC 5090
btc9019u BTC 9019U
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alternate option)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet Keyboard
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access Keyboard
compaqik7 Compaq Internet Keyboard (7 keys)
compaqik13 Compaq Internet Keyboard (13 keys)
compaqik18 Compaq Internet Keyboard (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard
presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard
ipaq Compaq iPaq Keyboard
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia Keyboard
inspiron Dell Laptop/notebook Inspiron 6xxx/8xxx
precision_m Dell Laptop/notebook Precision M series
dexxa Dexxa Wireless Desktop Keyboard
diamond Diamond 9801 / 9802 series
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Computers AMILO laptop
genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
htcdream HTC Dream
kinesis Kinesis
logitech_base Logitech Generic Keyboard
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet Keyboard
hp250x Hewlett-Packard SK-250x Multimedia Keyboard
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT11xx
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 5xx
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 Notebook
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access Keyboard
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350 Keyboard
logimel Logitech Media Elite Keyboard
logicd Logitech Cordless Desktop
logicd_it Logitech Cordless Desktop iTouch
logicd_nav Logitech Cordless Desktop Navigator
logicd_opt Logitech Cordless Desktop Optical
logicda Logitech Cordless Desktop (alternate option)
logicdpa2 Logitech Cordless Desktop Pro (alternate option 2)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Keyboard (model Y-RB6)
logiik Logitech Internet Keyboard
itouch Logitech iTouch
logicink Logitech Internet Navigator Keyboard
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator Keyboard SE
logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB)
logiultrax Logitech Ultra-X Keyboard
logiultraxc Logitech Ultra-X Cordless Media Desktop Keyboard
logidinovo Logitech diNovo Keyboard
logidinovoedge Logitech diNovo Edge Keyboard
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access Keyboard
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Wireless Ergonomic Keyboard 4000
microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000
microsoftinet Microsoft Internet Keyboard
microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro
microsoftprooem Microsoft Natural Keyboard Pro OEM
vsonku306 ViewSonic KU-306 Internet Keyboard
microsoftprose Microsoft Internet Keyboard Pro, Swedish
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A
microsoftelite Microsoft Natural Keyboard Elite
microsoftccurve2k Microsoft Comfort Curve Keyboard 2000
oretec Ortek MCK-800 MM/Internet keyboard
propeller Propeller Voyager (KTEZ-1000)
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 SK-1300
sk2500 SK-2500
sk6200 SK-6200
sk7100 SK-7100
sp_inet Super Power Multimedia Keyboard
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook (tablet PC)
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Keyboard Classic
trustda Trust Direct Access Keyboard
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet Keyboard
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (Intl)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking Keyboard for Mac
acer_c300 Acer C300
acer_ferrari4k Acer Ferrari 4000
acer_laptop Acer Laptop
asus_laptop Asus Laptop
apple Apple
apple_laptop Apple Laptop
applealu_ansi Apple Aluminium Keyboard (ANSI)
applealu_iso Apple Aluminium Keyboard (ISO)
applealu_jis Apple Aluminium Keyboard (JIS)
silvercrest SILVERCREST Multimedia Wireless Keyboard
emachines Laptop/notebook eMachines m68xx
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking Keyboard
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European layout)
sun_type7_unix_usb Sun Type 7 USB (Unix layout)
sun_type7_jp_usb Sun Type 7 USB (Japanese layout) / Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European layout)
sun_type6_unix_usb Sun Type 6 USB (Unix layout)
sun_type6_jp_usb Sun Type 6 USB (Japanese layout)
sun_type6_jp Sun Type 6 (Japanese layout)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
az Azerbaijani
by Belarusian
be Belgian
bd Bangla
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98xx Series)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
! variant
chr us: Cherokee
euro us: English (US, with euro on 5)
intl us: English (US, international with dead keys)
alt-intl us: English (US, alternative international)
colemak us: English (Colemak)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, international with dead keys)
dvorak-alt-intl us: English (Dvorak alternative international no dead keys)
dvorak-l us: English (left handed Dvorak)
dvorak-r us: English (right handed Dvorak)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (international AltGr dead keys)
olpc2 us: English (the divide/multiply keys toggle the layout)
hbs us: Serbo-Croatian (US)
workman us: English (Workman)
workman-intl us: English (Workman, international with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (azerty)
azerty_digits ara: Arabic (azerty/digits)
digits ara: Arabic (digits)
qwerty ara: Arabic (qwerty)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
plisi-d1 al: Albanian (Plisi D1)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alternative phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alternative eastern)
nodeadkeys at: German (Austria, eliminate dead keys)
sundeadkeys at: German (Austria, Sun dead keys)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
oss be: Belgian (alternative)
oss_latin9 be: Belgian (alternative, Latin-9 only)
oss_sundeadkeys be: Belgian (alternative, Sun dead keys)
iso-alternate be: Belgian (ISO alternate)
nodeadkeys be: Belgian (eliminate dead keys)
sundeadkeys be: Belgian (Sun dead keys)
wang be: Belgian (Wang model 724 azerty)
probhat bd: Bangla (Probhat)
ben in: Bangla (India)
ben_probhat in: Bangla (India, Probhat)
ben_baishakhi in: Bangla (India, Baishakhi)
ben_bornona in: Bangla (India, Bornona)
ben_gitanjali in: Bangla (India, Uni Gitanjali)
ben_inscript in: Bangla (India, Baishakhi Inscript)
eeyek in: Manipuri (Eeyek)
guj in: Gujarati
guru in: Punjabi (Gurmukhi)
jhelum in: Punjabi (Gurmukhi Jhelum)
kan in: Kannada
kan-kagapa in: Kannada (KaGaPa phonetic)
mal in: Malayalam
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee sign)
ori in: Oriya
tam_unicode in: Tamil (Unicode)
tam_keyboard_with_numerals in: Tamil (keyboard with numerals)
tam_TAB in: Tamil (TAB typewriter)
tam_TSCII in: Tamil (TSCII typewriter)
tam in: Tamil
tel in: Telugu
tel-kagapa in: Telugu (KaGaPa phonetic)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alternative phonetic)
urd-winkeys in: Urdu (WinKeys)
bolnagri in: Hindi (Bolnagri)
hin-wx in: Hindi (Wx)
hin-kagapa in: Hindi (KaGaPa phonetic)
san-kagapa in: Sanskrit (KaGaPa phonetic)
mar-kagapa in: Marathi (KaGaPa phonetic)
eng in: English (India, with rupee sign)
alternatequotes ba: Bosnian (with guillemets for quotes)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US keyboard with Bosnian digraphs)
us ba: Bosnian (US keyboard with Bosnian letters)
nodeadkeys br: Portuguese (Brazil, eliminate dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alternative)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh alternative phonetic)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (qwerty)
azerty cm: Cameroon Multilingual (azerty)
dvorak cm: Cameroon Multilingual (Dvorak)
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian Multilingual
multi ca: Canadian Multilingual (first part)
multi-2gr ca: Canadian Multilingual (second part)
ike ca: Inuktitut
eng ca: English (Canada)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
alternatequotes hr: Croatian (with guillemets for quotes)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US keyboard with Croatian digraphs)
us hr: Croatian (US keyboard with Croatian letters)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (qwerty)
qwerty_bksl cz: Czech (qwerty, extended Backslash)
ucw cz: Czech (UCW layout, accented letters only)
dvorak-ucw cz: Czech (US Dvorak with CZ UCW support)
nodeadkeys dk: Danish (eliminate dead keys)
winkeys dk: Danish (Winkeys)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, eliminate dead keys)
dvorak dk: Danish (Dvorak)
sundeadkeys nl: Dutch (Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (eliminate dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US keyboard with Estonian letters)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (eliminate dead keys)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, eliminate dead keys)
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (eliminate dead keys)
sundeadkeys fr: French (Sun dead keys)
oss fr: French (alternative)
oss_latin9 fr: French (alternative, Latin-9 only)
oss_nodeadkeys fr: French (alternative, eliminate dead keys)
oss_sundeadkeys fr: French (alternative, Sun dead keys)
latin9 fr: French (legacy, alternative)
latin9_nodeadkeys fr: French (legacy, alternative, eliminate dead keys)
latin9_sundeadkeys fr: French (legacy, alternative, Sun dead keys)
bepo fr: French (Bepo, ergonomic, Dvorak way)
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (eliminate dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, eliminate dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, eliminate dead keys)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (qwertz)
qwerty de: German (qwerty)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
legacy de: German (legacy)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (eliminate dead keys)
polytonic gr: Greek (polytonic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (eliminate dead keys)
qwerty hu: Hungarian (qwerty)
101_qwertz_comma_dead hu: Hungarian (101/qwertz/comma/dead keys)
101_qwertz_comma_nodead hu: Hungarian (101/qwertz/comma/eliminate dead keys)
101_qwertz_dot_dead hu: Hungarian (101/qwertz/dot/dead keys)
101_qwertz_dot_nodead hu: Hungarian (101/qwertz/dot/eliminate dead keys)
101_qwerty_comma_dead hu: Hungarian (101/qwerty/comma/dead keys)
101_qwerty_comma_nodead hu: Hungarian (101/qwerty/comma/eliminate dead keys)
101_qwerty_dot_dead hu: Hungarian (101/qwerty/dot/dead keys)
101_qwerty_dot_nodead hu: Hungarian (101/qwerty/dot/eliminate dead keys)
102_qwertz_comma_dead hu: Hungarian (102/qwertz/comma/dead keys)
102_qwertz_comma_nodead hu: Hungarian (102/qwertz/comma/eliminate dead keys)
102_qwertz_dot_dead hu: Hungarian (102/qwertz/dot/dead keys)
102_qwertz_dot_nodead hu: Hungarian (102/qwertz/dot/eliminate dead keys)
102_qwerty_comma_dead hu: Hungarian (102/qwerty/comma/dead keys)
102_qwerty_comma_nodead hu: Hungarian (102/qwerty/comma/eliminate dead keys)
102_qwerty_dot_dead hu: Hungarian (102/qwerty/dot/dead keys)
102_qwerty_dot_nodead hu: Hungarian (102/qwerty/dot/eliminate dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (eliminate dead keys)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
nodeadkeys it: Italian (eliminate dead keys)
winkeys it: Italian (Winkeys)
mac it: Italian (Macintosh)
us it: Italian (US keyboard with Italian letters)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
stea la: Lao (STEA proposed standard layout)
nodeadkeys latam: Spanish (Latin American, eliminate dead keys)
deadtilde latam: Spanish (Latin American, include dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
std lt: Lithuanian (standard)
us lt: Lithuanian (US keyboard with Lithuanian letters)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
apostrophe lv: Latvian (apostrophe variant)
tilde lv: Latvian (tilde variant)
fkey lv: Latvian (F variant)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin Unicode)
latinyz me: Montenegrin (Latin qwerty)
latinunicodeyz me: Montenegrin (Latin Unicode qwerty)
cyrillicalternatequotes me: Montenegrin (Cyrillic with guillemets)
latinalternatequotes me: Montenegrin (Latin with guillemets)
nodeadkeys mk: Macedonian (eliminate dead keys)
us mt: Maltese (with US layout)
nodeadkeys no: Norwegian (eliminate dead keys)
winkeys no: Norwegian (Winkeys)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, eliminate dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, eliminate dead keys)
colemak no: Norwegian (Colemak)
legacy pl: Polish (legacy)
qwertz pl: Polish (qwertz)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, Polish quotes on key 1)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (eliminate dead keys)
sundeadkeys pt: Portuguese (Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, eliminate dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, Sun dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (WinKeys)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic WinKeys)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (WinKeys)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin Unicode)
latinyz rs: Serbian (Latin qwerty)
latinunicodeyz rs: Serbian (Latin Unicode qwerty)
alternatequotes rs: Serbian (Cyrillic with guillemets)
latinalternatequotes rs: Serbian (Latin with guillemets)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets for quotes)
us si: Slovenian (US keyboard with Slovenian letters)
bksl sk: Slovak (extended Backslash)
qwerty sk: Slovak (qwerty)
qwerty_bksl sk: Slovak (qwerty, extended Backslash)
nodeadkeys es: Spanish (eliminate dead keys)
winkeys es: Spanish (Winkeys)
deadtilde es: Spanish (include dead tilde)
sundeadkeys es: Spanish (Sun dead keys)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and bottom-dot L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (eliminate dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, eliminate dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, eliminate dead keys)
de_sundeadkeys ch: German (Switzerland, Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, eliminate dead keys)
fr_sundeadkeys ch: French (Switzerland, Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (international with dead keys)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (WinKeys)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended WinKeys)
intl gb: English (UK, international with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, Macintosh international)
colemak gb: English (UK, Colemak)
latin uz: Uzbek (Latin)
kr104 kr: Korean (101/104 key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (displaced semicolon and quote, obsolete)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa
left_hand brai: Braille (left hand)
right_hand brai: Braille (right hand)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alternative)
us-mac ml: English (Mali, US Macintosh)
us-intl ml: English (Mali, US international)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006 Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006 Baybayin)
colemak ph: Filipino (Colemak Latin)
colemak-bay ph: Filipino (Colemak Baybayin)
dvorak ph: Filipino (Dvorak Latin)
dvorak-bay ph: Filipino (Dvorak Baybayin)
gag md: Moldavian (Gagauz)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win key (while pressed)
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)
grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift keys together
grp:alts_toggle Both Alt keys together
grp:ctrls_toggle Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win Key+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)
lv3 Key to choose 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win key
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt key
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose
lv3:ralt_alt Right Alt key never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch &lt;Less/Greater&gt;
lv3:caps_switch_latch Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:bksl_switch_latch Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:lsgt_switch_latch &lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:ac_ctrl At left of 'A'
ctrl:aa_ctrl At bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:ctrl_ralt Right Alt as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt key with Left Ctrl key
ctrl:swap_lwin_lctl Swap Left Win key with Left Ctrl key
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode additions (arrows and math operators)
keypad:future Unicode additions (arrows and math operators; math operators on default level)
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode additions (arrows and math operators)
keypad:future_wang Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)
keypad:hex Hexadecimal
keypad:atm ATM/phone-style
kpdl Numeric keypad delete key behaviour
kpdl:dot Legacy key with dot
kpdl:comma Legacy key with comma
kpdl:dotoss Four-level key with dot
kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock key behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:numlock Make Caps Lock an additional Num Lock
caps:swapescape Swap ESC and Caps Lock
caps:escape Make Caps Lock an additional ESC
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:none Caps Lock is disabled
caps:ctrl_modifier Make Caps Lock an additional Ctrl
altwin Alt/Win key behavior
altwin:menu Add the standard behavior to Menu key
altwin:meta_alt Alt and Meta are on Alt keys
altwin:alt_win Alt is mapped to Win keys (and the usual Alt keys)
altwin:ctrl_win Ctrl is mapped to Win keys (and the usual Ctrl keys)
altwin:ctrl_alt_win Ctrl is mapped to Alt keys, Alt is mapped to Win keys
altwin:meta_win Meta is mapped to Win keys
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win keys
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_alt_win Alt is swapped with Win
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 &lt;Less/Greater&gt;
compose:102-altgr 3rd level of &lt;Less/Greater&gt;
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad keys always enter digits (as in Mac OS)
numpad:microsoft Shift with numeric keypad keys works as in MS Windows
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
shift:both_capslock Both Shift keys together toggle Caps Lock
shift:both_capslock_cancel Both Shift keys together activate Caps Lock, one Shift key deactivates
shift:both_shiftlock Both Shift keys together toggle ShiftLock
keypad:pointerkeys Shift + NumLock toggles PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Adding currency signs to certain keys
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch_lock &lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:ralt_switch_lock Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:lwin_switch_lock Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:rwin_switch_lock Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser
nbsp Using space key to input non-breakable space character
nbsp:none Usual space at any level
nbsp:level2 Non-breakable space character at second level
nbsp:level3 Non-breakable space character at third level
nbsp:level3s Non-breakable space character at third level, nothing at fourth level
nbsp:level3n Non-breakable space character at third level, thin non-breakable space character at fourth level
nbsp:level4 Non-breakable space character at fourth level
nbsp:level4n Non-breakable space character at fourth level, thin non-breakable space character at sixth level
nbsp:level4nl Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner character at second level
nbsp:zwnj2zwj3 Zero-width non-joiner character at second level, zero-width joiner character at third level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level
nbsp:zwnj2nb3 Zero-width non-joiner character at second level, non-breakable space character at third level
nbsp:zwnj2nb3s Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level
nbsp:zwnj3zwj4 Zero-width non-joiner character at third level, zero-width joiner at fourth level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional ESC
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a Qwerty layout
esperanto:dvorak To the corresponding key in a Dvorak layout
esperanto:colemak To the corresponding key in a Colemak layout
solaris Maintain key compatibility with old Solaris keycodes
solaris:sun_compat Sun Key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl + Alt + Backspace

File diff suppressed because it is too large Load Diff

View File

@ -1,210 +0,0 @@
// based on
// XKB keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
// fixes by Olafur Osvaldsson - oli@isnic.is
//
// "basic" corrected according to the Icelandic standard for keyboards,
// IST 125:1995 (some symbols substituted by a dead diacritic).
// Some positions are according to IST ISO/IEC 9995-3:1994
// Added nobreakspace
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type4)"
name[Group1]="Icelandic";
// <AE00> = <TLDE>
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
key <AE04> { [ 4, dollar, onequarter, currency ] };
key <AE11> { [odiaeresis, Odiaeresis, backslash, questiondown ] };
key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
key <AD11> { [ eth, ETH, dead_diaeresis, dead_abovering ] };
key <AD12> { [apostrophe, question, asciitilde, dead_macron ] };
key <AC10> { [ ae, AE, asciicircum, dead_doubleacute ] };
key <AC11> { [dead_acute, dead_acute, dead_circumflex, dead_caron ] };
key <TLDE> { [dead_abovering, dead_diaeresis, notsign, hyphen ] };
// <AC12> = <BKSL>
key <BKSL> { [ plus, asterisk, grave, dead_breve ] };
// <AB00> = <LSGT>, is in file "pc": pc105
key <AB10> { [ thorn, THORN, dead_belowdot, dead_abovedot ] };
key <SPCE> { [ space, space, space, space ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
// modify the basic Icelandic layout to use Sun dead keys
include "is(basic)"
name[Group1]="Icelandic (Sun dead keys)";
key <TLDE> { [dead_circumflex, degree, notsign, notsign ] };
key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_cedilla ] };
key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_diaeresis ] };
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
key <AC10> { [odiaeresis, Odiaeresis, dead_acute, dead_acute ] };
key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_circumflex ] };
key <BKSL> { [numbersign, acute, dead_grave, dead_grave ] };
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
// modify the basic Icelandic layout to not have any dead keys
include "is(basic)"
name[Group1]="Icelandic (eliminate dead keys)";
key <TLDE> { [asciicircum, degree, notsign, notsign ] };
key <AE12> { [apostrophe, grave, cedilla, cedilla ] };
key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
key <AD12> { [ plus, asterisk, asciitilde, macron ] };
key <AC10> { [odiaeresis, Odiaeresis, acute, acute ] };
key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
key <BKSL> { [numbersign, acute, grave, grave ] };
key <AB10> { [ thorn, THORN, dead_belowdot, abovedot ] };
};
// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
//
// = HISTORY
// * 2004-09-28:
// Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
// TextEdit.app and wrote down what the value produced by each key was when I
// pressed it, a for a, A for shift + a, å for lalt + a etc and made the
// keymap from that information
//
// * 2006-01-14:
// Revised the comments in the file
//
// = NOTES
// * 20 characters in this keymap have no named character defined in
// include/keysymdef.h and as a result their Unicode code points in
// hexadecimal are listed here, these can be generated with the following
// perl command:
// $ perl -CA -e 'printf "U%x\n", ord shift' Æ
// and converted back like:
// $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
// * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
// keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
// has no assigned code point in Unicode, the code point Apple uses for it is
// U+F8FF (63743) which is in the BMP's Private Use Area (U+E000U+F8FF)
// * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
// should work on other Apple laptop models which use the same keyboard
// layout. It will probably work on standard sized keyboards with little or
// no modification but it might not support them fully, please report if
// you're able to get it running with such a keyboard
// Copied from macintosh_vndr/is
partial alphanumeric_keys
xkb_symbols "mac" {
name[Group1]= "Icelandic (Macintosh)";
//-- Row 5 (E) --//
key <TLDE> { [ sterling, section, UF8FF, apostrophe ] };
key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
key <AE03> { [ 3, numbersign, U2122, sterling ] };
key <AE04> { [ 4, dollar, U00A2, EuroSign ] };
key <AE05> { [ 5, percent, U2030, infinity ] };
key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
key <AE07> { [ 7, slash, backslash, U00F7 ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
key <AE09> { [ 9, parenright, bracketright, braceright ] };
key <AE10> { [ 0, equal, U2260, U2248 ] };
key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
//-- Row 4 (D) --//
key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
key <AD02> { [ w, W, U2211, VoidSymbol ] };
key <AD03> { [ e, E, dead_grave, VoidSymbol ] };
key <AD04> { [ r, R, registered, VoidSymbol ] };
key <AD05> { [ t, T, degree, VoidSymbol ] };
key <AD06> { [ y, Y, yen, VoidSymbol ] };
key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
key <AD08> { [ i, I, U0131, U00AA ] };
key <AD09> { [ o, O, dead_circumflex,U00BA ] };
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, U201e, U201c ] };
key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
key <AC03> { [ d, D, U2202, U2DA ] };
key <AC04> { [ f, F, U192, macron ] };
key <AC05> { [ g, G, copyright, breve ] };
key <AC06> { [ h, H, bar, VoidSymbol ] };
key <AC07> { [ j, J, U2206, U2dd ] };
key <AC08> { [ k, K, U00AC, VoidSymbol ] };
key <AC09> { [ l, L, U2026, caron ] };
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
//-- Row 2 (B) --//
key <LSGT> { [ less, greater, section, UF8FF ] };
key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, U221A, U25CA ] };
key <AB05> { [ b, B, U222B, VoidSymbol ] };
key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
key <AB07> { [ m, M, U00B5, VoidSymbol ] };
key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
key <AB09> { [ period, colon, greaterthanequal,guillemotright ] };
key <AB10> { [ thorn, Thorn, U2019, U201d ] };
include "level3(ralt_switch)"
};
// This is a modified version of the English Dvorak layout that allows
// you to type all Icelandic letters under X. It's not a full attempt at
// nationalizing the layout as e.g. the Norwegian, Swedish and French
// layouts which modify the primary keys of the basic Dvorak layout
// extensively.
// Rather it's a simple modification of 5 keys of the US Dvorak layout,
// it adds Germanic/Icelandic style quotation marks („“), eth (ðÐ), ae
// (æÆ), endash and emdash (–—), thorn (þÞ), EuroSign (€) and the German
// Sharp S (ßẞ). These keys aren't used in the US version, making the
// Icelandic version a superset of it.
// Maybe someone else will make a "full" attempt at an Icelandic layout
// but I was mostly interested in continuing to type English comfortably
// as a primary function while being able to type the full Icelandic
// alphabet as a secondary function.
// -- Ævar Arnfjörð Bjarmason <avarab@gmail.com>
// Icelandic Dvorak
partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
include "eurosign(4)"
name[Group1]= "Icelandic (Dvorak)";
key <AD11> { [ slash, question, U201e, U201c ] };
key <AC06> { [ d, D, eth, ETH ] };
key <AC10> { [ s, S, ae, AE ] };
key <AC11> { [ minus, underscore, endash, emdash ] };
key <AB10> { [ z, Z, thorn, Thorn ] };
key <AB06> { [ b, B, ssharp, U1E9E ] };
include "level3(ralt_switch)"
};

View File

@ -1,68 +0,0 @@
// based on a keyboard
// Modified for a real Latin American Keyboard by Fabian Mandelbaum
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type4)"
name[Group1]="Spanish (Latin American)";
key <AE01> { [ 1, exclam, bar, exclamdown ] };
key <AE03> { [ 3, numbersign, periodcentered, sterling ] };
key <AE04> { [ 4, dollar, asciitilde, dollar ] };
key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
key <AE11> { [apostrophe, question, backslash, questiondown ] };
key <AE12> { [questiondown, exclamdown, dead_cedilla, dead_ogonek] };
key <AD11> { [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ] };
key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
key <AC11> { [ braceleft, bracketleft, dead_circumflex, braceleft] };
key <TLDE> { [ bar, degree, notsign, notsign ] };
key <BKSL> { [braceright, bracketright, dead_grave, braceright ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
include "latam(basic)"
key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
};
partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
include "latam(Sundeadkeys)"
name[Group1]="Spanish (Latin American, Sun dead keys)";
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "latam(basic)"
name[Group1]="Spanish (Latin American, eliminate dead keys)";
key <AE12> { [questiondown, exclamdown, cedilla, ogonek ] };
key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
key <AD12> { [ plus, asterisk, bracketright, macron ] };
key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
};
partial alphanumeric_keys
xkb_symbols "deadtilde" {
include "latam(basic)"
name[Group1]="Spanish (Latin American, include dead tilde)";
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
};

View File

@ -9,12 +9,15 @@
// If you want non-latin layouts implicitly include the en_US layout
// uncomment lines below
//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \
// in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \
// ru scc sy syr tel th tj tam ua uz
// in ir iku jp kan kh kr la lao lk mk mm mn mv mal olck \
// ori pk ru scc sy syr tel th tj tam ua uz
// PC models
! $pcmodels = pc101 pc102 pc104 pc105
// Jolla devices and keyboards
! $jollamodels = jollasbj
// Microsoft models (using MS geometry)
! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose
@ -91,6 +94,7 @@
! model = keycodes
pc98 = evdev(pc98)
applealu_jis = evdev+macintosh(jisevdev)
$jollamodels = evdev+jolla(jolla)
olpc = evdev+olpc(olpc)
olpcm = evdev+olpc(olpcm)
* = evdev
@ -289,6 +293,8 @@
classmate us = pc+%l(classmate)
empty * = empty(basic)
* empty = empty(basic)
jollasbj $nonlatin = jolla_vndr/sbj(common)+us+%l%(v):2
jollasbj * = jolla_vndr/sbj(common)+%l%(v)
$sun $sun_custom = pc+sun_vndr/%l%(v)
pc98 nec_vndr/jp = nec_vndr/jp(pc98)
macintosh_old us = macintosh_vndr/us(oldmac)
@ -398,6 +404,7 @@
* yu(unicodeyz) = pc+srp(latinunicodeyz)
ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1])
amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
jollasbj * = jolla_vndr/sbj(common)+%l[1]%(v[1])
$sun $sun_custom = pc+sun_vndr/%l[1]%(v[1])
macintosh_old us = macintosh_vndr/us(oldmac)
macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
@ -860,6 +867,7 @@
! model = symbols
$evdevkbds = +inet(evdev)+inet(%m)
chromebook = +inet(evdev)+inet(chromebook)
applealu_jis = +inet(evdev)+macintosh_vndr/jp(alujiskeys)
* = +inet(evdev)
@ -868,26 +876,31 @@
! layout variant = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
jp $sun_compat = complete+japan(kana_lock)
! layout[1] variant[1] = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
jp $sun_compat = complete+japan(kana_lock)
! layout[2] variant[2] = compat
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
de adnw = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
de koy = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
jp $sun_compat = +complete+japan(kana_lock):2
! layout[3] variant[3] = compat
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
de adnw = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
de koy = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
jp $sun_compat = +complete+japan(kana_lock):3
! layout[4] variant[4] = compat
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
de adnw = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
de koy = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
jp $sun_compat = +complete+japan(kana_lock):4
! model layout = compat
@ -937,7 +950,9 @@
altwin:left_meta_win = +altwin(left_meta_win)
altwin:hyper_win = +altwin(hyper_win)
altwin:alt_super_win = +altwin(alt_super_win)
altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin)
altwin:swap_alt_win = +altwin(swap_alt_win)
altwin:prtsc_rwin = +altwin(prtsc_rwin)
grab:debug = +srvr_ctrl(grab_debug)
grp:switch = +group(switch)
grp:lswitch = +group(lswitch)
@ -999,6 +1014,7 @@
caps:backspace = +capslock(backspace)
caps:super = +capslock(super)
caps:hyper = +capslock(hyper)
caps:menu = +capslock(menu)
caps:none = +capslock(none)
caps:ctrl_modifier = +capslock(ctrl_modifier)
ctrl:nocaps = +ctrl(nocaps)
@ -1009,6 +1025,10 @@
ctrl:rctrl_ralt = +ctrl(rctrl_ralt)
ctrl:menu_rctrl = +ctrl(menu_rctrl)
ctrl:ralt_rctrl = +ctrl(ralt_rctrl)
ctrl:swap_lalt_lctl = +ctrl(swap_lalt_lctl)
ctrl:swap_lwin_lctl = +ctrl(swap_lwin_lctl)
ctrl:swap_rwin_rctl = +ctrl(swap_rwin_rctl)
ctrl:swap_lalt_lctl_lwin = +ctrl(swap_lalt_lctl_lwin)
compose:ralt = +compose(ralt)
compose:lwin = +compose(lwin)
compose:lwin-altgr = +compose(lwin-altgr)
@ -1051,6 +1071,8 @@
nbsp:level4nl = +nbsp(level4nl)
japan:nicola_f_bs = +jp(nicola_f_bs)
japan:hztg_escape = +jp(hztg_escape)
korean:ralt_rctrl = +kr(ralt_hangul)+kr(rctrl_hanja)
korean:rctrl_ralt = +kr(rctrl_hangul)+kr(ralt_hanja)
kpdl:dot = +kpdl(dot)
kpdl:comma = +kpdl(comma)
kpdl:dotoss = +kpdl(dotoss)

View File

@ -112,7 +112,7 @@
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access Keyboard
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Wireless Ergonomic Keyboard 4000
microsoft4000 Microsoft Natural Ergonomic Keyboard 4000
microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000
microsoftinet Microsoft Internet Keyboard
microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
@ -184,6 +184,8 @@
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
teck227 Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)
teck229 Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)
! layout
us English (US)
@ -275,6 +277,7 @@
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
@ -292,7 +295,7 @@
dvorak-l us: English (left handed Dvorak)
dvorak-r us: English (right handed Dvorak)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
dvp us: English (Programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (international AltGr dead keys)
@ -311,6 +314,7 @@
qwerty ara: Arabic (qwerty)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
mac ara: Arabic (Macintosh)
plisi-d1 al: Albanian (Plisi D1)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alternative phonetic)
@ -347,6 +351,7 @@
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee sign)
ori in: Oriya
olck in: Ol Chiki
tam_unicode in: Tamil (Unicode)
tam_keyboard_with_numerals in: Tamil (keyboard with numerals)
tam_TAB in: Tamil (TAB typewriter)
@ -372,6 +377,7 @@
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
french ma: French (Morocco)
@ -404,6 +410,7 @@
qwerty_bksl cz: Czech (qwerty, extended Backslash)
ucw cz: Czech (UCW layout, accented letters only)
dvorak-ucw cz: Czech (US Dvorak with CZ UCW support)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (eliminate dead keys)
winkeys dk: Danish (Winkeys)
mac dk: Danish (Macintosh)
@ -430,6 +437,7 @@
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
das fi: Finnish (DAS)
nodeadkeys fr: French (eliminate dead keys)
sundeadkeys fr: French (Sun dead keys)
oss fr: French (alternative)
@ -443,6 +451,7 @@
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (Azerty)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
@ -500,6 +509,7 @@
102_qwerty_dot_nodead hu: Hungarian (102/qwerty/dot/eliminate dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (eliminate dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
@ -523,6 +533,7 @@
nodeadkeys latam: Spanish (Latin American, eliminate dead keys)
deadtilde latam: Spanish (Latin American, include dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
std lt: Lithuanian (standard)
us lt: Lithuanian (US keyboard with Lithuanian letters)
ibm lt: Lithuanian (IBM LST 1205-92)
@ -591,6 +602,8 @@
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic azerty)
phonetic_fr ru: Russian (phonetic French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin Unicode)
@ -636,6 +649,7 @@
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
us lk: Sinhala (US keyboard with Sinhala letters)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
@ -762,6 +776,7 @@
ctrl:ctrl_ralt Right Alt as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt key with Left Ctrl key
ctrl:swap_lwin_lctl Swap Left Win key with Left Ctrl key
ctrl:swap_rwin_rctl Swap Right Win key with Right Ctrl key
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
@ -797,6 +812,7 @@
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:none Caps Lock is disabled
caps:ctrl_modifier Make Caps Lock an additional Ctrl
@ -810,7 +826,9 @@
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win keys
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc (and the usual Win key)
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
@ -833,7 +851,7 @@
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad keys always enter digits (as in Mac OS)
numpad:microsoft Shift with numeric keypad keys works as in MS Windows
numpad:microsoft NumLock on: digits, Shift switches to arrow keys, Numlock off: always arrow keys (as in MS Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)
@ -877,6 +895,10 @@
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional ESC
korean Korean Hangul/Hanja keys
korean:hw_keys Hardware Hangul/Hanja keys
korean:ralt_rctrl Right Alt as Hangul, right Ctrl as Hanja
korean:rctrl_ralt Right Ctrl as Hangul, right Alt as Hanja
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a Qwerty layout
esperanto:dvorak To the corresponding key in a Dvorak layout

View File

@ -794,7 +794,7 @@
<model>
<configItem>
<name>microsoft4000</name>
<description>Microsoft Natural Wireless Ergonomic Keyboard 4000</description>
<description>Microsoft Natural Ergonomic Keyboard 4000</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
</model>
@ -856,21 +856,21 @@
</model>
<model>
<configItem>
<name>microsoftmult</name>
<name>microsoftmult</name>
<description>Microsoft Wireless Multimedia Keyboard 1.0A</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
</model>
<model>
<configItem>
<name>microsoftelite</name>
<name>microsoftelite</name>
<description>Microsoft Natural Keyboard Elite</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
</model>
<model>
<configItem>
<name>microsoftccurve2k</name>
<name>microsoftccurve2k</name>
<description>Microsoft Comfort Curve Keyboard 2000</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
@ -1295,6 +1295,20 @@
<vendor>htc</vendor>
</configItem>
</model>
<model>
<configItem>
<name>teck227</name>
<description>Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)</description>
<vendor>Megawin Technology</vendor>
</configItem>
</model>
<model>
<configItem>
<name>teck229</name>
<description>Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)</description>
<vendor>Megawin Technology</vendor>
</configItem>
</model>
</modelList>
<layoutList>
<layout>
@ -1382,7 +1396,7 @@
<variant>
<configItem>
<name>dvp</name>
<description>English (programmer Dvorak)</description>
<description>English (Programmer Dvorak)</description>
</configItem>
</variant>
<variant>
@ -1406,9 +1420,11 @@
<configItem>
<name>altgr-intl</name>
<description>English (international AltGr dead keys)</description>
<languageList><iso639Id>eng</iso639Id>
<iso639Id>fra</iso639Id>
<iso639Id>ger</iso639Id></languageList>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>fra</iso639Id>
<iso639Id>ger</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -1421,11 +1437,13 @@
<configItem>
<name>hbs</name>
<description>Serbo-Croatian (US)</description>
<languageList><iso639Id>eng</iso639Id>
<iso639Id>bos</iso639Id>
<iso639Id>hbs</iso639Id>
<iso639Id>hrv</iso639Id>
<iso639Id>srp</iso639Id> </languageList>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>bos</iso639Id>
<iso639Id>hbs</iso639Id>
<iso639Id>hrv</iso639Id>
<iso639Id>srp</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -1572,6 +1590,12 @@
<description>Arabic (Buckwalter)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac</name>
<description>Arabic (Macintosh)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -1717,9 +1741,11 @@
<shortDescription>be</shortDescription>
<description>Belgian</description>
<languageList><iso639Id>ger</iso639Id>
<iso639Id>nld</iso639Id>
<iso639Id>fra</iso639Id></languageList>
<languageList>
<iso639Id>ger</iso639Id>
<iso639Id>nld</iso639Id>
<iso639Id>fra</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -1774,6 +1800,8 @@
<description>Bangla</description>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
<variantList>
@ -1801,6 +1829,8 @@
<description>Bangla (India)</description>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
@ -1812,6 +1842,8 @@
<description>Bangla (India, Probhat)</description>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
@ -1819,35 +1851,53 @@
<configItem>
<name>ben_baishakhi</name>
<description>Bangla (India, Baishakhi)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_bornona</name>
<description>Bangla (India, Bornona)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
</configItem>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_gitanjali</name>
<description>Bangla (India, Uni Gitanjali)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_inscript</name>
<description>Bangla (India, Baishakhi Inscript)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>eeyek</name>
<description>Manipuri (Eeyek)</description>
<languageList><iso639Id>mni</iso639Id></languageList>
<languageList>
<iso639Id>mni</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -1933,7 +1983,9 @@
<shortDescription>ml</shortDescription>
<description>Malayalam (enhanced Inscript, with rupee sign)</description>
<languageList><iso639Id>mal</iso639Id></languageList>
<languageList>
<iso639Id>mal</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -1944,6 +1996,20 @@
<description>Oriya</description>
<languageList>
<iso639Id>ori</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>olck</name>
<shortDescription>sat</shortDescription>
<description>Ol Chiki</description>
<languageList>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
@ -2206,6 +2272,12 @@
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>thinkpad</name>
<description>Portuguese (Brazil, IBM/Lenovo ThinkPad)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -2326,14 +2398,18 @@
<shortDescription>cm</shortDescription>
<description>English (Cameroon)</description>
<languageList><iso639Id>eng</iso639Id></languageList>
<languageList>
<iso639Id>eng</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>french</name>
<description>French (Cameroon)</description>
<languageList><iso639Id>fra</iso639Id></languageList>
<languageList>
<iso639Id>fra</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -2546,7 +2622,7 @@
<shortDescription>ug</shortDescription>
<description>Uyghur</description>
<languageList>
<iso639Id>ug</iso639Id>
<iso639Id>uig</iso639Id>
</languageList>
</configItem>
</variant>
@ -2630,6 +2706,17 @@
<description>Czech (US Dvorak with CZ UCW support)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>rus</name>
<shortDescription>ru</shortDescription>
<description>Russian (Czech, phonetic)</description>
<languageList>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -2817,8 +2904,10 @@
<shortDescription>ar</shortDescription>
<description>Iraqi</description>
<languageList><iso639Id>ara</iso639Id>
<iso639Id>kur</iso639Id></languageList>
<languageList>
<iso639Id>ara</iso639Id>
<iso639Id>kur</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -2919,7 +3008,9 @@
<configItem>
<name>smi</name>
<description>Northern Saami (Finland)</description>
<languageList><iso639Id>sme</iso639Id></languageList>
<languageList>
<iso639Id>sme</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -2928,6 +3019,12 @@
<description>Finnish (Macintosh)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>das</name>
<description>Finnish (DAS)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -3019,6 +3116,12 @@
<description>French (Macintosh)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>azerty</name>
<description>French (Azerty)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>bre</name>
@ -3232,14 +3335,18 @@
<configItem>
<name>ro</name>
<description>Romanian (Germany)</description>
<languageList><iso639Id>rum</iso639Id></languageList>
<languageList>
<iso639Id>rum</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ro_nodeadkeys</name>
<description>Romanian (Germany, eliminate dead keys)</description>
<languageList><iso639Id>rum</iso639Id></languageList>
<languageList>
<iso639Id>rum</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -3511,6 +3618,12 @@
<description>Icelandic (eliminate dead keys)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac_legacy</name>
<description>Icelandic (Macintosh, legacy)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac</name>
@ -3699,16 +3812,20 @@
<shortDescription>ru</shortDescription>
<description>Russian (Kazakhstan, with Kazakh)</description>
<languageList><iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id></languageList>
<languageList>
<iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>kazrus</name>
<description>Kazakh (with Russian)</description>
<languageList><iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id></languageList>
<languageList>
<iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -3728,7 +3845,8 @@
<configItem>
<name>stea</name>
<description>Lao (STEA proposed standard layout)</description>
<languageList><iso639Id>lao</iso639Id>
<languageList>
<iso639Id>lao</iso639Id>
</languageList>
</configItem>
</variant>
@ -3786,6 +3904,12 @@
<description>Spanish (Latin American, Sun dead keys)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>dvorak</name>
<description>Spanish (Latin American, Dvorak)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -4058,7 +4182,7 @@
<description>Norwegian (Macintosh, eliminate dead keys)</description>
</configItem>
</variant>
<variant>
<variant>
<configItem>
<name>colemak</name>
<description>Norwegian (Colemak)</description>
@ -4120,7 +4244,9 @@
<configItem>
<name>szl</name>
<description>Silesian</description>
<languageList><iso639Id>szl</iso639Id></languageList>
<languageList>
<iso639Id>szl</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -4381,8 +4507,10 @@
<configItem>
<name>srp</name>
<description>Serbian (Russia)</description>
<languageList><iso639Id>rus</iso639Id>
<iso639Id>srp</iso639Id></languageList>
<languageList>
<iso639Id>rus</iso639Id>
<iso639Id>srp</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -4403,6 +4531,18 @@
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>phonetic_azerty</name>
<description>Russian (phonetic azerty)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>phonetic_fr</name>
<description>Russian (phonetic French)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -4662,7 +4802,9 @@
<configItem>
<name>swl</name>
<description>Swedish Sign Language</description>
<languageList><iso639Id>swl</iso639Id></languageList>
<languageList>
<iso639Id>swl</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -4673,8 +4815,10 @@
<shortDescription>de</shortDescription>
<description>German (Switzerland)</description>
<languageList><iso639Id>ger</iso639Id>
<iso639Id>gsw</iso639Id></languageList>
<languageList>
<iso639Id>ger</iso639Id>
<iso639Id>gsw</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -4865,6 +5009,13 @@
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>us</name>
<shortDescription>us</shortDescription>
<description>Sinhala (US keyboard with Sinhala letters)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -5360,6 +5511,8 @@
<description>Nepali</description>
<languageList>
<iso639Id>nep</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</layout>
@ -5531,6 +5684,16 @@
</languageList>
</configItem>
</layout>
<layout>
<configItem>
<name>tg</name>
<shortDescription>fr-tg</shortDescription>
<description>French (Togo)</description>
<languageList>
<iso639Id>fra</iso639Id>
</languageList>
</configItem>
</layout>
<layout>
<configItem>
<name>ke</name>
@ -5572,33 +5735,37 @@
<shortDescription>ph</shortDescription>
<description>Filipino</description>
<languageList><iso639Id>eng</iso639Id>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>qwerty-bay</name>
<description>Filipino (QWERTY Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -5611,16 +5778,18 @@
<configItem>
<name>capewell-dvorak-bay</name>
<description>Filipino (Capewell-Dvorak Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -5633,16 +5802,18 @@
<configItem>
<name>capewell-qwerf2k6-bay</name>
<description>Filipino (Capewell-QWERF 2006 Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -5655,16 +5826,18 @@
<configItem>
<name>colemak-bay</name>
<description>Filipino (Colemak Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -5677,16 +5850,18 @@
<configItem>
<name>dvorak-bay</name>
<description>Filipino (Dvorak Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -5696,7 +5871,9 @@
<name>md</name>
<shortDescription>md</shortDescription>
<description>Moldavian</description>
<languageList><iso639Id>rum</iso639Id></languageList>
<languageList>
<iso639Id>rum</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -5704,7 +5881,9 @@
<name>gag</name>
<shortDescription>gag</shortDescription>
<description>Moldavian (Gagauz)</description>
<languageList><iso639Id>gag</iso639Id></languageList>
<languageList>
<iso639Id>gag</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -5842,7 +6021,7 @@
<name>grp:rctrl_rshift_toggle</name>
<description>Right Ctrl+Right Shift</description>
</configItem>
</option>
</option>
<option>
<configItem>
<name>grp:ctrl_alt_toggle</name>
@ -6102,6 +6281,11 @@
<name>ctrl:swap_lwin_lctl</name>
<description>Swap Left Win key with Left Ctrl key</description>
</configItem>
</option><option>
<configItem>
<name>ctrl:swap_rwin_rctl</name>
<description>Swap Right Win key with Right Ctrl key</description>
</configItem>
</option>
<option>
<configItem>
@ -6321,6 +6505,12 @@
<description>Make Caps Lock an additional Hyper</description>
</configItem>
</option>
<option>
<configItem>
<name>caps:menu</name>
<description>Make Caps Lock an additional Menu key</description>
</configItem>
</option>
<option>
<configItem>
<name>caps:shiftlock</name>
@ -6400,12 +6590,24 @@
<description>Alt is mapped to Right Win, Super to Menu</description>
</configItem>
</option>
<option>
<configItem>
<name>altwin:swap_lalt_lwin</name>
<description>Left Alt is swapped with Left Win</description>
</configItem>
</option>
<option>
<configItem>
<name>altwin:swap_alt_win</name>
<description>Alt is swapped with Win</description>
</configItem>
</option>
<option>
<configItem>
<name>altwin:prtsc_rwin</name>
<description>Win is mapped to PrtSc (and the usual Win key)</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="true">
@ -6542,7 +6744,7 @@
<option>
<configItem>
<name>numpad:microsoft</name>
<description>Shift with numeric keypad keys works as in MS Windows</description>
<description>NumLock on: digits, Shift switches to arrow keys, Numlock off: always arrow keys (as in MS Windows)</description>
</configItem>
</option>
<option>
@ -6807,6 +7009,30 @@
</configItem>
</option>
</group>
<group allowMultipleSelection="true">
<configItem>
<name>korean</name>
<description>Korean Hangul/Hanja keys</description>
</configItem>
<option>
<configItem>
<name>korean:hw_keys</name>
<description>Hardware Hangul/Hanja keys</description>
</configItem>
</option>
<option>
<configItem>
<name>korean:ralt_rctrl</name>
<description>Right Alt as Hangul, right Ctrl as Hanja</description>
</configItem>
</option>
<option>
<configItem>
<name>korean:rctrl_ralt</name>
<description>Right Ctrl as Hangul, right Alt as Hanja</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="false">
<configItem>
<name>esperanto</name>

View File

@ -190,7 +190,7 @@ xkb_symbols "bas_phonetic" {
// This is an extended variant of the standard Latin QWERTY layout with
// additional symbols in levels 3 and 4.
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "latin" {
key <TLDE> {[ grave, asciitilde, U2248, U2245 ]};

View File

@ -64,7 +64,7 @@ partial alphanumeric_keys
xkb_symbols "thinkpad" {
include "br(abnt2)"
name[Group1]="Portuguese (Brazil)";
name[Group1]="Portuguese (Brazil, IBM/Lenovo ThinkPad)";
key <RCTL> { [ slash, question, degree, questiondown ] };
};

View File

@ -177,6 +177,76 @@ xkb_symbols "dvorak-ucw" {
include "level3(ralt_switch)"
};
// phonetic layout for Russian letters on an CZ (QWERTY) keyboard
// originaly created by Pavel Sorejs <sorejs@gmail.com>
partial alphanumeric_keys
xkb_symbols "rus" {
include "cz(qwerty)"
name[Group1]= "Russian (Czech, phonetic)";
key <AE01> { [ plus, ampersand, 1 , 1 ] };
key <AE02> { [ Cyrillic_hardsign, 2, 2 , 2 ] };
key <AE03> { [ Cyrillic_sha, Cyrillic_SHA, 3 , 3 ] };
key <AE04> { [ Cyrillic_che, Cyrillic_CHE, 4 , 4 ] };
key <AE05> { [ Cyrillic_shcha, Cyrillic_SHCHA, 5 , 5 ] };
key <AE06> { [ Cyrillic_zhe, Cyrillic_ZHE, 6 , 6 ] };
key <AE07> { [ quotedbl, 4, 7 , 7 ] };
key <AE08> { [ section, 5, 8 , 8 ] };
key <AE09> { [ dollar, 6, 9 , 9 ] };
key <AE10> { [ equal, 7, 0 , 0 ] };
key <AE11> { [ percent, 8 ] };
key <AE12> { [ apostrophe, 9 ] };
key <AB08> { [ comma, question ] };
key <AB09> { [ period, exclam ] };
key <AB10> { [ minus, slash ] };
key <AC11> { [ semicolon, colon ] };
key <LSGT> { [ bar, brokenbar ] };
key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
key <AD01> { [ numerosign, 1, q, Q ] };
key <AD02> { [ Cyrillic_yu, Cyrillic_YU, w, W ] };
key <AD03> { [ Cyrillic_ie, Cyrillic_IE, e, E ] };
key <AD04> { [ Cyrillic_er, Cyrillic_ER, r, R ] };
key <AD05> { [ Cyrillic_te, Cyrillic_TE, t, T ] };
key <AD06> { [ Cyrillic_yeru, Cyrillic_YERU, y, Y ] };
key <AD07> { [ Cyrillic_u, Cyrillic_U, u, U ] };
key <AD08> { [ Cyrillic_i, Cyrillic_I, i, I ] };
key <AD09> { [ Cyrillic_o, Cyrillic_O, o, O ] };
key <AD10> { [ Cyrillic_pe, Cyrillic_PE, p, P ] };
key <AD11> { [ Cyrillic_e, Cyrillic_E, bracketleft, division ] };
key <AD12> { [ parenright, parenleft, bracketright, multiply ] };
key <AC01> { [ Cyrillic_a, Cyrillic_A, a, A ] };
key <AC02> { [ Cyrillic_es, Cyrillic_ES, s, S ] };
key <AC03> { [ Cyrillic_de, Cyrillic_DE, d, D ] };
key <AC04> { [ Cyrillic_ef, Cyrillic_EF, f, F ] };
key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, g, G ] };
key <AC06> { [ Cyrillic_ha, Cyrillic_HA, h, H ] };
key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI, j, J ] };
key <AC08> { [ Cyrillic_ka, Cyrillic_KA, k, K ] };
key <AC09> { [ Cyrillic_el, Cyrillic_EL, l, L ] };
key <AC10> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, less, greater ] };
key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, z, Z ] };
key <AB02> { [ Cyrillic_ya, Cyrillic_YA, x, X ] };
key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, c, C ] };
key <AB04> { [ Cyrillic_ve, Cyrillic_VE, v, V ] };
key <AB05> { [ Cyrillic_be, Cyrillic_BE, b, B ] };
key <AB06> { [ Cyrillic_en, Cyrillic_EN, n, N ] };
key <AB07> { [ Cyrillic_em, Cyrillic_EM, m, M ] };
key <BKSL> { [ backslash, brokenbar ] };
include "level3(ralt_switch)"
};
// EXTRAS:
partial alphanumeric_keys

View File

@ -43,6 +43,7 @@ xkb_symbols "basic" {
key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
key <AB09> { [ period, colon, U2026, division ] };
key <AB10> { [ minus, underscore, endash, emdash ] };
key <LSGT> { [ less, greater, bar, NoSymbol ] };
include "kpdl(comma)"
@ -338,7 +339,7 @@ xkb_symbols "neo_base" {
// Alphanumeric-keys
// ===============
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
// Tab as Multi_key (Compose)
// --------------------------------------------------------------
@ -366,7 +367,7 @@ xkb_symbols "neo_base" {
// Top row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ] };
key <AD02> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] };
key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] };
@ -381,12 +382,12 @@ xkb_symbols "neo_base" {
key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD12> { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] };
// Middle row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AC01> { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] };
key <AC02> { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] };
key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] };
@ -411,12 +412,12 @@ xkb_symbols "neo_base" {
key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AB08> { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] };
key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
// Space key
// --------------------------------------------------------------
@ -472,8 +473,8 @@ xkb_symbols "neo" {
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch)"
include "level5(ralt_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};
// Copied from macintosh_vndr/de
@ -636,6 +637,40 @@ xkb_symbols "ru" {
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "pl" {
// Combined layout for entering both German and Polish symbols on a German physical
// keyboard. Based on German (eliminate dead keys) and Polish (basic). Polish diacritics
// on AltGr+"acelnosxz". EuroSign moved to AE04 (AltGr+dollar key) to avoid conflict
// with Polish eogonek.
//
// https://github.com/kontextify/xkeyboard-config
include "latin(type4)"
name[Group1]= "Polish (Germany, eliminate dead keys)";
include "de(nodeadkeys)"
key <AE04> { [ 4, dollar, EuroSign, currency ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E, eogonek, Eogonek ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AC01> { [ a, A, aogonek, Aogonek ] };
key <AC02> { [ s, S, sacute, Sacute ] };
key <AC04> { [ f, F ] };
key <AD06> { [ z, Z, zabovedot, Zabovedot ] };
key <AB02> { [ x, X, zacute, Zacute ] };
key <AB03> { [ c, C, cacute, Cacute ] };
key <AB06> { [ n, N, nacute, Nacute ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "htcdream" {
include "inet(htcdream)"
@ -753,11 +788,11 @@ partial alphanumeric_keys
xkb_symbols "adnw_base" {
include "de(neo_base)"
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD04> { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] };
key <AB04> { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] };
key <AD02> { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] };
key <AD03> { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] };
@ -781,7 +816,7 @@ xkb_symbols "adnw_base" {
key <AC11> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] };
key <AB01> { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] };
key <AB02> { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] };
key <AB03> { [ odiaeresis, odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] };
key <AB03> { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] };
key <AB05> { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] };
key <AB06> { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] };
@ -800,7 +835,61 @@ xkb_symbols "adnw" {
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch)"
include "level5(ralt_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};
partial alphanumeric_keys
xkb_symbols "koy_base" {
include "de(neo_base)"
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD02> { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] };
key <AD04> { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] };
key <AD03> { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] };
key <AD05> { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] };
key <AD06> { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] };
key <AD07> { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] };
key <AD08> { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] };
key <AD09> { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] };
key <AD10> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] };
key <AD11> { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] };
key <AC01> { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] };
key <AC02> { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] };
key <AC03> { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] };
key <AC04> { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] };
key <AC05> { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] };
key <AC06> { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] };
key <AC07> { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] };
key <AC08> { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] };
key <AC09> { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] };
key <AC10> { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] };
key <AC11> { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] };
key <AB01> { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] };
key <AB02> { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] };
key <AB03> { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] };
key <AB04> { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] };
key <AB05> { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] };
key <AB06> { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] };
key <AB08> { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] };
key <AB09> { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] };
key <AB10> { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] };
};
partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "koy" {
include "de(koy_base)"
name[Group1]= "German (KOY)";
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};

View File

@ -0,0 +1,150 @@
// Esperanto keyboard maps -- "Ekverto"
//
// Ekverto A ("legacy") (2004-01-10)
// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
//
// Ekverto B ("basic") (2006-12-02)
// Benno Schulenberg (Beno Sĥilenberĥ) <bensberg@justemail.net>
// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
default partial alphanumeric_keys
xkb_symbols "basic" {
include "us(basic)"
name[Group1]= "Esperanto";
key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
key <AD01> { [ scircumflex, Scircumflex, q, Q ] };
key <AD02> { [ gcircumflex, Gcircumflex, w, W ] };
key <AB02> { [ ccircumflex, Ccircumflex, x, X ] };
key <AD06> { [ ubreve, Ubreve, y, Y ] };
key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
key <AD11> { [ jcircumflex, Jcircumflex, bracketleft, braceleft ] };
key <AD12> { [ hcircumflex, Hcircumflex, bracketright, braceright ] };
key <AD09> { [ o, O, braceleft, braceleft ] };
key <AD10> { [ p, P, braceright, braceright ] };
key <AC01> { [ a, A, leftsinglequotemark, NoSymbol ] };
key <AC02> { [ s, S, rightsinglequotemark, NoSymbol ] };
key <AC03> { [ d, D, leftdoublequotemark, NoSymbol ] };
key <AC04> { [ f, F, rightdoublequotemark, NoSymbol ] };
key <AB06> { [ n, N, endash, endash ] };
key <AB07> { [ m, M, emdash, emdash ] };
key.type[Group1] = "FOUR_LEVEL";
key <AE05> { [ 5, percent, EuroSign, EuroSign ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "legacy" {
name[Group1]= "Esperanto (displaced semicolon and quote, obsolete)";
key.type[Group1] = "FOUR_LEVEL";
key <TLDE> { [ grave, asciitilde, NoSymbol, NoSymbol ] };
key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
key <AE02> { [ 2, quotedbl, NoSymbol, NoSymbol ] };
key <AE03> { [ 3, numbersign, NoSymbol, NoSymbol ] };
key <AE04> { [ 4, dollar, NoSymbol, NoSymbol ] };
key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
key <AE06> { [ 6, apostrophe, NoSymbol, NoSymbol ] };
key <AE07> { [ 7, ampersand, NoSymbol, NoSymbol ] };
key <AE08> { [ 8, asterisk, NoSymbol, NoSymbol ] };
key <AE09> { [ 9, parenleft, NoSymbol, NoSymbol ] };
key <AE10> { [ 0, parenright, NoSymbol, NoSymbol ] };
key <AE11> { [ minus, underscore, NoSymbol, NoSymbol ] };
key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
key <AB08> { [ comma, semicolon, NoSymbol, NoSymbol ] };
key <AB09> { [ period, colon, NoSymbol, NoSymbol ] };
key <AB10> { [ slash, question, NoSymbol, NoSymbol ] };
key <AD11> { [ bracketleft, braceleft, NoSymbol, NoSymbol ] };
key <AD12> { [ bracketright, braceright, NoSymbol, NoSymbol ] };
key <BKSL> { [ backslash, bar, NoSymbol, NoSymbol ] };
key <LSGT> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
key <AD01> { [ scircumflex, Scircumflex, at, NoSymbol ] };
key <AD02> { [ jcircumflex, Jcircumflex, asciicircum, NoSymbol ] };
key <AD03> { [ e, E, EuroSign, NoSymbol ] };
key <AD04> { [ r, R, emdash, NoSymbol ] };
key <AD05> { [ t, T, endash, NoSymbol ] };
key <AD06> { [ gcircumflex, Gcircumflex, NoSymbol, NoSymbol ] };
key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
key <AC01> { [ a, A, less, NoSymbol ] };
key <AC02> { [ s, S, greater, NoSymbol ] };
key <AC03> { [ d, D, leftdoublequotemark, NoSymbol ] };
key <AC04> { [ f, F, rightdoublequotemark, NoSymbol ] };
key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
key <AC06> { [ h, H, NoSymbol, NoSymbol ] };
key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
key <AC10> { [ ubreve, Ubreve, NoSymbol, NoSymbol ] };
key <AC11> { [ hcircumflex, Hcircumflex, NoSymbol, NoSymbol ] };
key <AB01> { [ z, Z, leftsinglequotemark, NoSymbol ] };
key <AB02> { [ ccircumflex, Ccircumflex, rightsinglequotemark, NoSymbol ] };
key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
key <AB04> { [ v, V, NoSymbol, NoSymbol ] };
key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
include "level3(ralt_switch)"
};
// Add the Esperanto supersigned letters to their related keys on a Qwerty keyboard.
// This is a generic "component" that is not used by the other layouts in this file,
// but is meant to be applied to any Qwerty layout. If you have any questions, ask
// J. Pablo Fernández <pupeno@pupeno.com>.
partial
xkb_symbols "qwerty" {
key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
key <AC05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
key <AC07> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
key <AC02> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AD07> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};
// Add the Esperanto supersigned letters to their related keys in a
// Dvorak layout. Similar comment as above applies.
partial
xkb_symbols "dvorak" {
key <AD08> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
key <AD07> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
key <AC07> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
key <AB03> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
key <AC10> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AC04> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};
// Add the Esperanto supersigned letters to their related keys in a
// Colemak layout. Similar comment as above applies.
partial
xkb_symbols "colemak" {
key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
key <AD05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
key <AD06> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
key <AC03> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AD08> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};

View File

@ -86,8 +86,8 @@ xkb_symbols "dvorak" {
key <AE11> {[ apostrophe, question, dead_macron, dead_ogonek ]};
key <AE12> {[ exclamdown, questiondown, dead_breve, dead_abovedot ]};
key <AD01> {[ period, colon, less ]};
key <AD02> {[ comma, semicolon, greater ]};
key <AD01> {[ period, colon, less, guillemotleft ]};
key <AD02> {[ comma, semicolon, greater, guillemotright ]};
key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
key <AD04> {[ p, P, paragraph ]};
key <AD05> {[ y, Y, yen ]};

View File

@ -79,7 +79,6 @@ xkb_symbols "kotoistus" {
include "nbsp(level3)"
include "kpdl(comma)"
include "level3(ralt_switch)"
include "compose(rwin)"
};
partial alphanumeric_keys
@ -98,7 +97,7 @@ xkb_symbols "classic" {
name[Group1]="Finnish (classic)";
};
partial alphanumeric_keys hidden
hidden partial alphanumeric_keys
xkb_symbols "fi" {
// Classic Finnish keyboard layout with dead keys
@ -211,3 +210,73 @@ xkb_symbols "sun_type6" {
include "sun_vndr/fi(sun_type6)"
};
partial
xkb_symbols "das" {
// This is DAS layout for typing Finnish. It is originally designed by
// Cristian Seres (cseres at iki.fi).
// More information about DAS: http://c.seres.fi/DAS_en.html
// This xkeyboard layout is originally made by Joel Lehtonen,
// (joel.lehtonen at iki.fi) on 2008-01-14. He released it under Public
// domain.
name[Group1]="Finnish (DAS)";
key <AE01> { [ 1, exclam, section ] };
key <AE02> { [ 2, quotedbl, twosuperior ] };
key <AE03> { [ 3, at, sterling ] };
key <AE04> { [ 4, EuroSign, dollar ] };
key <AE05> { [ 5, percent, onehalf ] };
key <AE06> { [ 6, ampersand ] };
key <AE07> { [ 7, braceleft ] };
key <AE08> { [ 8, parenleft, bracketleft ] };
key <AE09> { [ 9, parenright, bracketright ] };
key <AE10> { [ 0, braceright, degree ] };
key <AE11> { [ plus, question, currency ] };
key <AE12> { [ equal, numbersign ] };
key <AD01> { [ p, P, Greek_pi ] };
key <AD02> { [ h, H ] };
key <AD03> { [ r, R, dead_circumflex ] };
key <AD04> { [ k, K, dead_caron ] };
key <AD05> { [ less, greater ] };
key <AD06> { [ apostrophe, bar ] };
key <AD07> { [ w, W ] };
key <AD08> { [ u, U ] };
key <AD09> { [ y, Y ] };
key <AD10> { [ b, B ] };
key <AD11> { [ q, Q ] };
key <AD12> { [ z, Z, zcaron, Zcaron ] };
key <AC01> { [ s, S, scaron, Scaron ] };
key <AC02> { [ l, L, dead_acute ] };
key <AC03> { [ n, N, dead_grave ] };
key <AC04> { [ t, T, dead_diaeresis ] };
key <AC05> { [ v, V ] };
key <AC06> { [ g, G ] };
key <AC07> { [ a, A ] };
key <AC08> { [ i, I ] };
key <AC09> { [ o, O ] };
key <AC10> { [ e, E ] };
key <AC11> { [ c, C ] };
key <TLDE> { [ backslash, dead_tilde ] };
key <BKSL> { [ asterisk, slash ] };
key <LSGT> { [ f, F ] };
key <AB01> { [ x, X ] };
key <AB02> { [ d, D ] };
key <AB03> { [ m, M, mu ] };
key <AB04> { [ j, J ] };
key <AB05> { [ aring, Aring ] };
key <AB06> { [ odiaeresis, Odiaeresis, oe, OE ] };
key <AB07> { [ adiaeresis, Adiaeresis, ae, AE ] };
key <AB08> { [ comma, semicolon ] };
key <AB09> { [ period, colon ] };
key <AB10> { [ minus, underscore, U2013, dead_macron ] };
key <SPCE> { [ space, space, space, nobreakspace ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
include "compose(rwin)"
};

View File

@ -127,7 +127,7 @@ xkb_symbols "oss" {
include "latin"
include "level3(ralt_switch)"
include "nbsp(level4nl)"
include "nbsp(level4n)"
include "keypad(oss)"
name[Group1]="French (alternative)";
@ -985,3 +985,89 @@ partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/fr(sun_type6)"
};
partial alphanumeric_keys
xkb_symbols "azerty" {
name[Group1]="French (Azerty)";
include "level3(ralt_switch)"
// French AZERTY-Keyboard layout
// Author : 2015, Mats Blakstad <mats @ globalbility.org>
// Based on the layout at https://en.wikipedia.org/wiki/File:KB_France.svg
// LAYOUT OVERVIEW
// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
// | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ° | + | <-- |
// | ² | & | é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
// ========================================================================
// | |<- | A | Z | E | R | T | Y | U | I | O | P | ¨ | $ | , |
// | ->| | a | z | e €| r | t | y | u | i | o | p | ^ | £ ¤| <-' |
// ===================================================================¬ |
// | | Q | S | D | F | G | H | J | K | L | M | % | µ | |
// | MAJ | q | s | d | f | g | h | j | k | l | m | ù | * | |
// ========================================================================
// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
// | | | < | w | x | c | v | b | n | , | ; | : | ! | | |
// ========================================================================
// | | | | | | | | |
// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
// First row
key <TLDE> { [ twosuperior ] };
key <AE01> { [ ampersand, 1 ] };
key <AE02> { [ eacute, 2, asciitilde ] };
key <AE03> { [ quotedbl, 3, numbersign ] };
key <AE04> { [ apostrophe, 4, braceleft ] };
key <AE05> { [ parenleft, 5, bracketleft ] };
key <AE06> { [ minus, 6, bar ] };
key <AE07> { [ egrave, 7, grave ] };
key <AE08> { [ underscore, 8, backslash ] };
key <AE09> { [ ccedilla, 9, asciicircum ] };
key <AE10> { [ agrave, 0, at ] };
key <AE11> { [ parenright, degree, bracketright ] };
key <AE12> { [ equal, plus, braceright ] };
// Second row
key <AD01> { [ a, A ] };
key <AD02> { [ z, Z ] };
key <AD03> { [ e, E, EuroSign ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U ] };
key <AD08> { [ i, I ] };
key <AD09> { [ o, O ] };
key <AD10> { [ p, P ] };
key <AD11> { [ dead_circumflex,dead_diaeresis ] };
key <AD12> { [ dollar, sterling, currency ] };
// Third row
key <AC01> { [ q, Q ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K ] };
key <AC09> { [ l, L ] };
key <AC10> { [ m, M ] };
key <AC11> { [ ugrave, percent ] };
key <BKSL> { [ asterisk, mu ] };
// Fourth row
key <LSGT> { [ less, greater ] };
key <AB01> { [ w, W ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ comma, question ] };
key <AB08> { [ semicolon, period ] };
key <AB09> { [ colon, slash ] };
key <AB10> { [ exclam, section ] };
};

View File

@ -322,12 +322,12 @@ partial modifier_keys
xkb_symbols "ctrls_toggle" {
virtual_modifiers LControl, RControl;
key <LCTL> {
type[Group1]="PC_RCONTROL_LEVEL2",
type[Group1]="PC_CONTROL_LEVEL2",
symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
virtualMods= LControl
};
key <RCTL> {
type[Group1]="PC_LCONTROL_LEVEL2",
type[Group1]="PC_CONTROL_LEVEL2",
symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= RControl
};
@ -410,7 +410,7 @@ xkb_symbols "alt_caps_toggle" {
};
};
partial hidden modifier_keys
hidden partial modifier_keys
xkb_symbols "olpc" {
key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
};

View File

@ -205,7 +205,7 @@ xkb_symbols "biblical" {
key <AE02> { [ 2, U0599, VoidSymbol, at ] };
key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] };
key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] };
key <AE05> { [ 5, VoidSymbol, U200D, percent ] };
key <AE05> { [ 5, U05BA, U200D, percent ] };
key <AE06> { [ 6, U05B9, U200C, asciicircum ] };
key <AE07> { [ 7, U05BF, U034F, ampersand ] };
key <AE08> { [ 8, U05C2, U200E, asterisk ] };

View File

@ -0,0 +1,284 @@
// based on
// XKB keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
// fixes by Olafur Osvaldsson - oli@isnic.is
//
// "basic" corrected according to the Icelandic standard for keyboards,
// IST 125:1995 (some symbols substituted by a dead diacritic).
// Some positions are according to IST ISO/IEC 9995-3:1994
// Added nobreakspace
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type4)"
name[Group1]="Icelandic";
// <AE00> = <TLDE>
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
key <AE04> { [ 4, dollar, onequarter, currency ] };
key <AE11> { [odiaeresis, Odiaeresis, backslash, questiondown ] };
key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
key <AD11> { [ eth, ETH, dead_diaeresis, dead_abovering ] };
key <AD12> { [apostrophe, question, asciitilde, dead_macron ] };
key <AC03> { [ d, D, U201e, U201c ] };
key <AC10> { [ ae, AE, asciicircum, dead_doubleacute ] };
key <AC11> { [dead_acute, dead_acute, dead_circumflex, dead_caron ] };
key <TLDE> { [dead_abovering, dead_diaeresis, notsign, hyphen ] };
// <AC12> = <BKSL>
key <BKSL> { [ plus, asterisk, grave, dead_breve ] };
// <AB00> = <LSGT>, is in file "pc": pc105
key <AB10> { [ thorn, THORN, dead_belowdot, dead_abovedot ] };
key <SPCE> { [ space, space, space, space ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
// modify the basic Icelandic layout to use Sun dead keys
include "is(basic)"
name[Group1]="Icelandic (Sun dead keys)";
key <TLDE> { [dead_circumflex, degree, notsign, notsign ] };
key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_cedilla ] };
key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_diaeresis ] };
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
key <AC10> { [odiaeresis, Odiaeresis, dead_acute, dead_acute ] };
key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_circumflex ] };
key <BKSL> { [numbersign, acute, dead_grave, dead_grave ] };
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
// modify the basic Icelandic layout to not have any dead keys
include "is(basic)"
name[Group1]="Icelandic (eliminate dead keys)";
key <TLDE> { [asciicircum, degree, notsign, notsign ] };
key <AE12> { [apostrophe, grave, cedilla, cedilla ] };
key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
key <AD12> { [ plus, asterisk, asciitilde, macron ] };
key <AC10> { [odiaeresis, Odiaeresis, acute, acute ] };
key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
key <BKSL> { [numbersign, acute, grave, grave ] };
key <AB10> { [ thorn, THORN, dead_belowdot, abovedot ] };
};
// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
//
// = HISTORY
// * 2004-09-28:
// Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
// TextEdit.app and wrote down what the value produced by each key was when I
// pressed it, a for a, A for shift + a, å for lalt + a etc and made the
// keymap from that information
//
// * 2006-01-14:
// Revised the comments in the file
//
// * 2013-05-30:
// Renamed the old keyboard layout and created a new one that conforms with the later
// model Apple Laptop and Aluminium USB/Bluetooth keyboards (A1243/A1255 and later)
// that are used with the more recent versions of OS X. Also replaced some Unicode
// codes with proper symbol names.
//
// = NOTES
// * 20 characters in this keymap have no named character defined in
// include/keysymdef.h and as a result their Unicode code points in
// hexadecimal are listed here, these can be generated with the following
// perl command:
// $ perl -CA -e 'printf "U%x\n", ord shift' Æ
// and converted back like:
// $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
// * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
// keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
// has no assigned code point in Unicode, the code point Apple uses for it is
// U+F8FF (63743) which is in the BMP's Private Use Area (U+E000U+F8FF)
// * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
// should work on other Apple laptop models which use the same keyboard
// layout. It will probably work on standard sized keyboards with little or
// no modification but it might not support them fully, please report if
// you're able to get it running with such a keyboard
// Copied from macintosh_vndr/is
xkb_symbols "mac_legacy" {
name[Group1]= "Icelandic (Macintosh, legacy)";
//-- Row 5 (E) --//
key <TLDE> { [ sterling, section, UF8FF, apostrophe ] };
key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
key <AE03> { [ 3, numbersign, U2122, sterling ] };
key <AE04> { [ 4, dollar, U00A2, EuroSign ] };
key <AE05> { [ 5, percent, U2030, infinity ] };
key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
key <AE07> { [ 7, slash, backslash, U00F7 ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
key <AE09> { [ 9, parenright, bracketright, braceright ] };
key <AE10> { [ 0, equal, U2260, U2248 ] };
key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
//-- Row 4 (D) --//
key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
key <AD02> { [ w, W, U2211, VoidSymbol ] };
key <AD03> { [ e, E, dead_grave, VoidSymbol ] };
key <AD04> { [ r, R, registered, VoidSymbol ] };
key <AD05> { [ t, T, degree, VoidSymbol ] };
key <AD06> { [ y, Y, yen, VoidSymbol ] };
key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
key <AD08> { [ i, I, U0131, U00AA ] };
key <AD09> { [ o, O, dead_circumflex, U00BA ] };
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, U201e, U201c ] };
key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
key <AC03> { [ d, D, U2202, U2DA ] };
key <AC04> { [ f, F, U192, macron ] };
key <AC05> { [ g, G, copyright, breve ] };
key <AC06> { [ h, H, bar, VoidSymbol ] };
key <AC07> { [ j, J, U2206, U2dd ] };
key <AC08> { [ k, K, U00AC, VoidSymbol ] };
key <AC09> { [ l, L, U2026, caron ] };
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
//-- Row 2 (B) --//
key <LSGT> { [ less, greater, section, UF8FF ] };
key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, U221A, U25CA ] };
key <AB05> { [ b, B, U222B, VoidSymbol ] };
key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
key <AB07> { [ m, M, U00B5, VoidSymbol ] };
key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
key <AB09> { [ period, colon, greaterthanequal, guillemotright ] };
key <AB10> { [ thorn, Thorn, U2019, U201d ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "mac" {
name[Group1]= "Icelandic (Macintosh)";
//-- Row 5 (E) --//
key <TLDE> { [ less, greater, bar, UF8FF ] };
key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
key <AE03> { [ 3, numbersign, trademark, sterling ] };
key <AE04> { [ 4, dollar, cent, EuroSign ] };
key <AE05> { [ 5, percent, U2030, infinity ] };
key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
key <AE07> { [ 7, slash, braceleft, division ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
key <AE09> { [ 9, parenright, bracketright, braceright ] };
key <AE10> { [ 0, equal, braceright, approxeq ] };
key <AE11> { [ odiaeresis, Odiaeresis, backslash, U2260 ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
//-- Row 4 (D) --//
key <AD01> { [ q, Q, U0040, paragraph ] };
key <AD02> { [ w, W, U2211, U00A7 ] };
key <AD03> { [ e, E, U20AC, U00BF ] };
key <AD04> { [ r, R, registered, VoidSymbol ] };
key <AD05> { [ t, T, degree, U2022 ] };
key <AD06> { [ y, Y, yen, VoidSymbol ] };
key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
key <AD08> { [ i, I, idotless, ordfeminine ] };
key <AD09> { [ o, O, dead_circumflex, U00BA ] };
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, doublelowquotemark, leftdoublequotemark ] };
key <AD12> { [ apostrophe, question, asciitilde, periodcentered ] };
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
key <AC03> { [ d, D, partialderivative, U02DA ] };
key <AC04> { [ f, F, function, macron ] };
key <AC05> { [ g, G, copyright, breve ] };
key <AC06> { [ h, H, bar, U00B8 ] };
key <AC07> { [ j, J, U2206, doubleacute ] };
key <AC08> { [ k, K, notsign, U2DB ] };
key <AC09> { [ l, L, ellipsis, caron ] };
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_acute, asciicircum, leftsinglequotemark ] };
key <BKSL> { [ plus, asterisk, grave, plusminus ] };
//-- Row 2 (B) --//
key <LSGT> { [ degree, dead_diaeresis, oslash, Ooblique ] };
key <AB01> { [ z, Z, Greek_OMEGA, VoidSymbol ] };
key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, radical, U25CA ] };
key <AB05> { [ b, B, integral, VoidSymbol ] };
key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
key <AB07> { [ m, M, mu, VoidSymbol ] };
key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
key <AB09> { [ period, colon, greaterthanequal, guillemotright ] };
key <AB10> { [ thorn, Thorn, rightsinglequotemark, rightdoublequotemark ] };
include "level3(ralt_switch)"
};
// This is a modified version of the English Dvorak layout that allows
// you to type all Icelandic letters under X. It's not a full attempt at
// nationalizing the layout as e.g. the Norwegian, Swedish and French
// layouts which modify the primary keys of the basic Dvorak layout
// extensively.
// Rather it's a simple modification of 5 keys of the US Dvorak layout,
// it adds Germanic/Icelandic style quotation marks („“), eth (ðÐ), ae
// (æÆ), endash and emdash (–—), thorn (þÞ), EuroSign (€) and the German
// Sharp S (ßẞ). These keys aren't used in the US version, making the
// Icelandic version a superset of it.
// Maybe someone else will make a "full" attempt at an Icelandic layout
// but I was mostly interested in continuing to type English comfortably
// as a primary function while being able to type the full Icelandic
// alphabet as a secondary function.
// -- Ævar Arnfjörð Bjarmason <avarab@gmail.com>
// Icelandic Dvorak
partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
include "eurosign(4)"
name[Group1]= "Icelandic (Dvorak)";
key <AD11> { [ slash, question, U201e, U201c ] };
key <AC02> { [ o, O, odiaeresis, Odiaeresis ] };
key <AC06> { [ d, D, eth, ETH ] };
key <AC10> { [ s, S, ae, AE ] };
key <AC11> { [ minus, underscore, endash, emdash ] };
key <AB10> { [ z, Z, thorn, Thorn ] };
key <AB06> { [ b, B, ssharp, U1E9E ] };
include "level3(ralt_switch)"
};

View File

@ -0,0 +1,129 @@
// based on a keyboard
// Modified for a real Latin American Keyboard by Fabian Mandelbaum
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type4)"
name[Group1]="Spanish (Latin American)";
key <AE01> { [ 1, exclam, bar, exclamdown ] };
key <AE03> { [ 3, numbersign, periodcentered, sterling ] };
key <AE04> { [ 4, dollar, asciitilde, dollar ] };
key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
key <AE11> { [apostrophe, question, backslash, questiondown ] };
key <AE12> { [questiondown, exclamdown, dead_cedilla, dead_ogonek] };
key <AD11> { [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ] };
key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
key <AC11> { [ braceleft, bracketleft, dead_circumflex, braceleft] };
key <TLDE> { [ bar, degree, notsign, notsign ] };
key <BKSL> { [braceright, bracketright, dead_grave, braceright ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
include "latam(basic)"
key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
};
partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
include "latam(Sundeadkeys)"
name[Group1]="Spanish (Latin American, Sun dead keys)";
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "latam(basic)"
name[Group1]="Spanish (Latin American, eliminate dead keys)";
key <AE12> { [questiondown, exclamdown, cedilla, ogonek ] };
key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
key <AD12> { [ plus, asterisk, bracketright, macron ] };
key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
};
partial alphanumeric_keys
xkb_symbols "deadtilde" {
include "latam(basic)"
name[Group1]="Spanish (Latin American, include dead tilde)";
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
};
// Latin American Spanish Dvorak mapping (note R-H exchange)
partial alphanumeric_keys
xkb_symbols "dvorak" {
name[Group1]="Spanish (Latin American, Dvorak)";
key <TLDE> {[ bar, degree, notsign, notsign ]};
key <AE01> {[ 1, exclam, bar, exclamdown ]};
key <AE02> {[ 2, quotedbl, at, oneeighth ]};
key <AE03> {[ 3, numbersign, periodcentered, sterling ]};
key <AE04> {[ 4, dollar, asciitilde, dollar ]};
key <AE05> {[ 5, percent, onehalf, threeeighths ]};
key <AE06> {[ 6, ampersand, notsign, fiveeighths ]};
key <AE07> {[ 7, slash, braceleft, seveneighths ]};
key <AE08> {[ 8, parenleft, bracketleft, trademark ]};
key <AE09> {[ 9, parenright, bracketright, plusminus ]};
key <AE10> {[ 0, equal, braceright, degree ]};
key <AE11> {[ apostrophe, question, backslash, questiondown ]};
key <AE12> {[ questiondown, exclamdown, dead_cedilla, dead_ogonek ]};
key <AD01> {[ period, colon, at ]};
key <AD02> {[ comma, semicolon ]};
key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
key <AD04> {[ p, P, paragraph ]};
key <AD05> {[ y, Y, yen ]};
key <AD06> {[ f, F, tslash, Tslash ]};
key <AD07> {[ g, G, dstroke, Dstroke ]};
key <AD08> {[ c, C, cent, copyright ]};
key <AD09> {[ h, H, hstroke, Hstroke ]};
key <AD10> {[ l, L, sterling ]};
key <AD11> {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]};
key <AD12> {[ plus, asterisk, asciitilde, dead_macron ]};
key <AC01> {[ a, A, ae, AE ]};
key <AC02> {[ o, O, oslash, Oslash ]};
key <AC03> {[ e, E, EuroSign ]};
key <AC04> {[ u, U, aring, Aring ]};
key <AC05> {[ i, I, oe, OE ]};
key <AC06> {[ d, D, eth, ETH ]};
key <AC07> {[ r, R, registered, trademark ]};
key <AC08> {[ t, T, thorn, THORN ]};
key <AC09> {[ n, N, eng, ENG ]};
key <AC10> {[ s, S, ssharp, section ]};
key <AC11> {[ braceleft, bracketleft, dead_circumflex, braceleft ]};
key <BKSL> {[ braceright, bracketright, dead_grave, braceright ]};
key <LSGT> {[ less, greater, guillemotleft, guillemotright ]};
key <AB01> {[ minus, underscore, hyphen, macron ]};
key <AB02> {[ q, Q, currency ]};
key <AB03> {[ j, J ]};
key <AB04> {[ k, K, kra ]};
key <AB05> {[ x, X, multiply, division ]};
key <AB06> {[ b, B ]};
key <AB07> {[ m, M, mu ]};
key <AB08> {[ w, W ]};
key <AB09> {[ v, V ]};
key <AB10> {[ z, Z ]};
include "level3(ralt_switch)"
};

View File

@ -45,7 +45,7 @@ xkb_symbols "yz" {
key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, any, any ] }; // z
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "common" {
// "Common" keys: keys that are the same
// for both latin and cyrillic keyboards.
@ -73,7 +73,7 @@ xkb_symbols "common" {
include "kpdl(comma)"
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "cyralpha" {
key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
@ -114,7 +114,7 @@ xkb_symbols "cyralpha" {
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "latalpha" {
key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
@ -127,7 +127,7 @@ xkb_symbols "latalpha" {
key <BKSL> { [ zcaron, Zcaron, any, any ] }; // \ |
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "twoletter" {
// Letters which are written in latin transcription with two characters.
@ -142,7 +142,7 @@ xkb_symbols "twoletter" {
key <AB01> { [ zcaron, Zcaron, any, any ] }; // z
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "latlevel3" {
key <TLDE> { [ any, any, notsign, notsign ] }; // ` ~
key <AE01> { [ any, any, dead_tilde, asciitilde ] }; // 1 !
@ -196,7 +196,7 @@ xkb_symbols "latlevel3" {
key <AB10> { [ any, any, emdash, endash ] }; // / ?
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "cyrlevel3" {
key <TLDE> { [ any, any, degree, notsign ] }; // ` ~
key <AE03> { [ any, any, dead_circumflex, NoSymbol ] }; // 3 #

View File

@ -21,7 +21,7 @@ xkb_symbols "winkeys" {
key <BKSL> { [ backslash, slash ] };
};
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "common" {
key <AE01> { [ 1, exclam ] };
@ -478,11 +478,12 @@ xkb_symbols "srp" {
};
// Mari language layout
// http://www.marlamuter.ru/
// http://www.marlamuter.com/
// Last edit by Viatcheslav Kileev (slavakileev@yandex.ru)
partial alphanumeric_keys
xkb_symbols "chm" {
include "ru(common)"
include "ru(winkeys)"
name[Group1]= "Mari";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
@ -491,13 +492,82 @@ xkb_symbols "chm" {
key <AD03> { [ Cyrillic_u, Cyrillic_U, U04F1, U04F0 ] };
key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, U04F9, U04F8 ] };
key <AD06> { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E, U04E9, U04E8 ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U04EB, U04EA ] };
key <AC01> { [ Cyrillic_ef, Cyrillic_EF, UF537, UF536 ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "phonetic_azerty" {
include "level3(ralt_switch)"
name[Group1]= "Russian (phonetic azerty)";
key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
key <AE04> { [apostrophe, 4, braceleft, dollar ] };
key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
key <AE06> { [ minus, 6, bar, fiveeighths ] };
key <AE07> { [ egrave, 7, grave, seveneighths ] };
key <AE08> { [underscore, 8, backslash, trademark ] };
key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
key <AE10> { [ agrave, 0, at, degree ] };
key <AE11> { [parenright, degree, bracketright, questiondown ] };
key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
key <AB07> { [ comma, question, acute, doubleacute ] };
key <AB08> { [ semicolon, period, horizconnector, multiply ] };
key <AB09> { [ colon, slash, periodcentered, division ] };
key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
key <AC11> { [ ugrave, percent, asciicircum, caron ] };
key <LSGT> { [ bar, brokenbar ] };
key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
key <AC01> { [ Cyrillic_ya, Cyrillic_YA ] }; // Q
key <AD02> { [ Cyrillic_ze, Cyrillic_ZE ] }; // Z
key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
key <AD01> { [ Cyrillic_a, Cyrillic_A ] };
key <AB01> { [ Cyrillic_ve, Cyrillic_VE ] }; // W
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
key <AC10> { [ Cyrillic_em, Cyrillic_EM ] }; // M
key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
};
partial alphanumeric_keys
xkb_symbols "phonetic_fr" {
include "fr"
include "ru(phonetic_azerty)"
name[Group1]= "Russian (phonetic French)";
};
// EXTRAS:
// Church Slavonic language layout

View File

@ -541,11 +541,12 @@ xkb_symbols "dvorak-classic" {
// Main features: Numbers are in shift position (like French), symbols have been
// placed in locations that give good hand-alternation and finger rolling with
// symbols that usually follows, accented characters are possible for I18N.
// Patch suggestions should be sent upstream.
partial alphanumeric_keys
xkb_symbols "dvp" {
include "us(dvorak)"
name[Group1] = "English (programmer Dvorak)";
name[Group1] = "English (Programmer Dvorak)";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
@ -568,8 +569,8 @@ xkb_symbols "dvp" {
// upper row, left side
key <AD01> { [ semicolon, colon, dead_diaeresis ] };
key <AD02> { [ comma, less, guillemotleft, ellipsis ] };
key <AD03> { [ period, greater, guillemotright ] };
key <AD02> { [ comma, less, guillemotleft, U201C ] };
key <AD03> { [ period, greater, guillemotright, U201D ] };
key <AD04> { [ p, P, paragraph, section ] };
key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
@ -596,9 +597,9 @@ xkb_symbols "dvp" {
// lower row, left side
key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
key <AB07> { [ m, M, mu ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
include "level3(ralt_switch)"
// do NOT hardcode this switch; use lv3:ralt_switch option instead!
//include "level3(ralt_switch)"
};
// phonetic layout for Russian letters on an US keyboard

View File

@ -0,0 +1,214 @@
partial default xkb_types "default" {
// Defines a type with an eight-level shift, similar to the three-level
// type used for iso9995, but it lets the Shift key behave "normally".
virtual_modifiers LevelThree,ScrollLock,LevelFive;
type "EIGHT_LEVEL" {
modifiers = Shift+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_ALPHABETIC" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Lock+LevelThree] = Level4;
map[Lock+Shift+LevelThree] = Level3;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[Lock+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
map[Lock+LevelThree+LevelFive] = Level8;
map[Lock+Shift+LevelThree+LevelFive] = Level7;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
// Level5-Lock is implemented by using NumLock, because a real modifier
// is required.
modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[LevelThree+Shift] = Level4;
map[LevelFive] = Level5;
map[LevelFive+Shift] = Level6;
map[LevelFive+LevelThree] = Level7;
map[LevelFive+LevelThree+Shift] = Level8;
map[NumLock] = Level5;
map[NumLock+Shift] = Level6;
map[NumLock+LevelThree] = Level7;
map[NumLock+LevelThree+Shift] = Level8;
map[NumLock+LevelFive] = Level1;
map[NumLock+LevelFive+Shift] = Level2;
map[NumLock+LevelFive+LevelThree] = Level3;
map[NumLock+LevelFive+LevelThree+Shift] = Level4;
// Lock has no effect
map[Lock] = Level1;
map[Lock+Shift] = Level2;
map[Lock+LevelThree] = Level3;
map[Lock+LevelThree+Shift] = Level4;
map[Lock+LevelFive] = Level5;
map[Lock+LevelFive+Shift] = Level6;
map[Lock+LevelFive+LevelThree] = Level7;
map[Lock+LevelFive+LevelThree+Shift] = Level8;
map[Lock+NumLock] = Level5;
map[Lock+NumLock+Shift] = Level6;
map[Lock+NumLock+LevelThree] = Level7;
map[Lock+NumLock+LevelThree+Shift] = Level8;
map[Lock+NumLock+LevelFive] = Level1;
map[Lock+NumLock+LevelFive+Shift] = Level2;
map[Lock+NumLock+LevelFive+LevelThree] = Level3;
map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
preserve[LevelFive+Shift] = Shift;
preserve[NumLock+Shift] = Shift;
preserve[Lock+LevelFive+Shift] = Shift;
preserve[Lock+NumLock+Shift] = Shift;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
// Level5-Lock is implemented by using NumLock, because a real modifier
// is required.
modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[LevelThree+Shift] = Level4;
map[LevelFive] = Level5;
map[LevelFive+Shift] = Level6;
map[LevelFive+LevelThree] = Level7;
map[LevelFive+LevelThree+Shift] = Level8;
map[NumLock] = Level5;
map[NumLock+Shift] = Level6;
map[NumLock+LevelThree] = Level7;
map[NumLock+LevelThree+Shift] = Level8;
map[NumLock+LevelFive] = Level1;
map[NumLock+LevelFive+Shift] = Level2;
map[NumLock+LevelFive+LevelThree] = Level3;
map[NumLock+LevelFive+LevelThree+Shift] = Level4;
// Lock interchanges Level1 and Level2
map[Lock] = Level2;
map[Lock+Shift] = Level1;
map[Lock+LevelThree] = Level3;
map[Lock+LevelThree+Shift] = Level4;
map[Lock+LevelFive] = Level5;
map[Lock+LevelFive+Shift] = Level6;
map[Lock+LevelFive+LevelThree] = Level7;
map[Lock+LevelFive+LevelThree+Shift] = Level8;
map[Lock+NumLock] = Level5;
map[Lock+NumLock+Shift] = Level6;
map[Lock+NumLock+LevelThree] = Level7;
map[Lock+NumLock+LevelThree+Shift] = Level8;
map[Lock+NumLock+LevelFive] = Level2;
map[Lock+NumLock+LevelFive+Shift] = Level1;
map[Lock+NumLock+LevelFive+LevelThree] = Level4;
map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
preserve[LevelFive+Shift] = Shift;
preserve[NumLock+Shift] = Shift;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_SEMIALPHABETIC" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Lock+LevelThree] = Level3;
map[Lock+Shift+LevelThree] = Level4;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[Lock+LevelFive] = Level6;
map[Lock+Shift+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
map[Lock+LevelThree+LevelFive] = Level7;
map[Lock+Shift+LevelThree+LevelFive] = Level8;
preserve[Lock+LevelThree] = Lock;
preserve[Lock+Shift+LevelThree] = Lock;
preserve[Lock+LevelFive] = Lock;
preserve[Lock+Shift+LevelFive] = Lock;
preserve[Lock+LevelThree+LevelFive] = Lock;
preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
};

File diff suppressed because it is too large Load Diff

View File

@ -1,963 +0,0 @@
! model
pc101 Generic 101-key PC
pc102 Generic 102-key (Intl) PC
pc104 Generic 104-key PC
pc105 Generic 105-key (Intl) PC
pc104angle-z Generic 104-key PC Angle(Z)Ergo
pc104wide-qu Generic 104-key PC Wide(Quote)Ergo
pc104awide-zqu Generic 104-key PC Angle(Z)Wide(Quote)Ergo
pc104aframe Generic 104-key PC AngleFrame(Quote)Ergo
pc105angle-lg Generic 105-key (Intl) PC Angle(LSGT)Ergo
pc105awide-sl Generic 105-key (Intl) PC AngleWide(/)Ergo
dell101 Dell 101-key PC
latitude Dell Latitude series laptop
dellm65 Dell Precision M65
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98xx Series
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet Keyboard
scorpius Advance Scorpius KI
brother Brother Internet Keyboard
btc5113rf BTC 5113RF Multimedia
btc5126t BTC 5126T
btc6301urf BTC 6301URF
btc9000 BTC 9000
btc9000a BTC 9000A
btc9001ah BTC 9001AH
btc5090 BTC 5090
btc9019u BTC 9019U
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alternate option)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet Keyboard
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access Keyboard
compaqik7 Compaq Internet Keyboard (7 keys)
compaqik13 Compaq Internet Keyboard (13 keys)
compaqik18 Compaq Internet Keyboard (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard
presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard
ipaq Compaq iPaq Keyboard
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia Keyboard
inspiron Dell Laptop/notebook Inspiron 6xxx/8xxx
precision_m Dell Laptop/notebook Precision M series
dexxa Dexxa Wireless Desktop Keyboard
diamond Diamond 9801 / 9802 series
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Computers AMILO laptop
genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
htcdream HTC Dream
kinesis Kinesis
logitech_base Logitech Generic Keyboard
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet Keyboard
hp250x Hewlett-Packard SK-250x Multimedia Keyboard
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT11xx
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 5xx
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 Notebook
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access Keyboard
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350 Keyboard
logimel Logitech Media Elite Keyboard
logicd Logitech Cordless Desktop
logicd_it Logitech Cordless Desktop iTouch
logicd_nav Logitech Cordless Desktop Navigator
logicd_opt Logitech Cordless Desktop Optical
logicda Logitech Cordless Desktop (alternate option)
logicdpa2 Logitech Cordless Desktop Pro (alternate option 2)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Keyboard (model Y-RB6)
logiik Logitech Internet Keyboard
itouch Logitech iTouch
logicink Logitech Internet Navigator Keyboard
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator Keyboard SE
logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB)
logiultrax Logitech Ultra-X Keyboard
logiultraxc Logitech Ultra-X Cordless Media Desktop Keyboard
logidinovo Logitech diNovo Keyboard
logidinovoedge Logitech diNovo Edge Keyboard
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access Keyboard
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Wireless Ergonomic Keyboard 4000
microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000
microsoftinet Microsoft Internet Keyboard
microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro
microsoftprooem Microsoft Natural Keyboard Pro OEM
vsonku306 ViewSonic KU-306 Internet Keyboard
microsoftprose Microsoft Internet Keyboard Pro, Swedish
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A
microsoftelite Microsoft Natural Keyboard Elite
microsoftccurve2k Microsoft Comfort Curve Keyboard 2000
oretec Ortek MCK-800 MM/Internet keyboard
propeller Propeller Voyager (KTEZ-1000)
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 SK-1300
sk2500 SK-2500
sk6200 SK-6200
sk7100 SK-7100
sp_inet Super Power Multimedia Keyboard
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook (tablet PC)
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Keyboard Classic
trustda Trust Direct Access Keyboard
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet Keyboard
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (Intl)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking Keyboard for Mac
acer_c300 Acer C300
acer_ferrari4k Acer Ferrari 4000
acer_laptop Acer Laptop
asus_laptop Asus Laptop
apple Apple
apple_laptop Apple Laptop
applealu_ansi Apple Aluminium Keyboard (ANSI)
applealu_iso Apple Aluminium Keyboard (ISO)
applealu_jis Apple Aluminium Keyboard (JIS)
silvercrest SILVERCREST Multimedia Wireless Keyboard
emachines Laptop/notebook eMachines m68xx
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking Keyboard
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European layout)
sun_type7_unix_usb Sun Type 7 USB (Unix layout)
sun_type7_jp_usb Sun Type 7 USB (Japanese layout) / Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European layout)
sun_type6_unix_usb Sun Type 6 USB (Unix layout)
sun_type6_jp_usb Sun Type 6 USB (Japanese layout)
sun_type6_jp Sun Type 6 (Japanese layout)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
az Azerbaijani
by Belarusian
be Belgian
bd Bangla
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98xx Series)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
! variant
chr us: Cherokee
euro us: English (US, with euro on 5)
intl us: English (US, international with dead keys)
alt-intl us: English (US, alternative international)
colemak us: English (Colemak)
cmk_ed_us us: English (Colemak, edition DreymaR)
tarmak1_e us: English (Tarmak1 - Colemak transitional)
tarmak2_et us: English (Tarmak2 - Colemak transitional)
tarmak3_etr us: English (Tarmak3 - Colemak transitional)
tarmak4_etro us: English (Tarmak4 - Colemak transitional)
cmk_ed_dvbghm us: English (Colemak[eD], Curl-Dvbg/Hm ergo)
cmk_ed_dbghk us: English (Colemak[eD], Curl-Dbg/Hk ergo)
cmk_ed_mirror us: English (Colemak[eD], mirrored)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, international with dead keys)
dvorak-alt-intl us: English (Dvorak alternative international no dead keys)
dvorak-l us: English (left handed Dvorak)
dvorak-r us: English (right handed Dvorak)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (international AltGr dead keys)
olpc2 us: English (the divide/multiply keys toggle the layout)
hbs us: Serbo-Croatian (US)
workman us: English (Workman)
workman-intl us: English (Workman, international with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (azerty)
azerty_digits ara: Arabic (azerty/digits)
digits ara: Arabic (digits)
qwerty ara: Arabic (qwerty)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
plisi-d1 al: Albanian (Plisi D1)
cmk_ed_ks al: Albanian (Colemak[eD], keep local symbols)
cmk_ed_us al: Albanian (Colemak[eD], unified symbols)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alternative phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alternative eastern)
nodeadkeys at: German (Austria, eliminate dead keys)
sundeadkeys at: German (Austria, Sun dead keys)
mac at: German (Austria, Macintosh)
cmk_ed_ks at: German (Austria, Colemak[eD], keep local symbols)
cmk_ed_us at: German (Austria, Colemak[eD], unified symbols)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
oss be: Belgian (alternative)
oss_latin9 be: Belgian (alternative, Latin-9 only)
oss_sundeadkeys be: Belgian (alternative, Sun dead keys)
iso-alternate be: Belgian (ISO alternate)
nodeadkeys be: Belgian (eliminate dead keys)
sundeadkeys be: Belgian (Sun dead keys)
wang be: Belgian (Wang model 724 azerty)
cmk_ed_ks be: Belgian (Colemak[eD], keep local symbols)
cmk_ed_us be: Belgian (Colemak[eD], unified symbols)
probhat bd: Bangla (Probhat)
ben in: Bangla (India)
ben_probhat in: Bangla (India, Probhat)
ben_baishakhi in: Bangla (India, Baishakhi)
ben_bornona in: Bangla (India, Bornona)
ben_gitanjali in: Bangla (India, Uni Gitanjali)
ben_inscript in: Bangla (India, Baishakhi Inscript)
eeyek in: Manipuri (Eeyek)
guj in: Gujarati
guru in: Punjabi (Gurmukhi)
jhelum in: Punjabi (Gurmukhi Jhelum)
kan in: Kannada
kan-kagapa in: Kannada (KaGaPa phonetic)
mal in: Malayalam
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee sign)
ori in: Oriya
tam_unicode in: Tamil (Unicode)
tam_keyboard_with_numerals in: Tamil (keyboard with numerals)
tam_TAB in: Tamil (TAB typewriter)
tam_TSCII in: Tamil (TSCII typewriter)
tam in: Tamil
tel in: Telugu
tel-kagapa in: Telugu (KaGaPa phonetic)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alternative phonetic)
urd-winkeys in: Urdu (WinKeys)
bolnagri in: Hindi (Bolnagri)
hin-wx in: Hindi (Wx)
hin-kagapa in: Hindi (KaGaPa phonetic)
san-kagapa in: Sanskrit (KaGaPa phonetic)
mar-kagapa in: Marathi (KaGaPa phonetic)
eng in: English (India, with rupee sign)
alternatequotes ba: Bosnian (with guillemets for quotes)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US keyboard with Bosnian digraphs)
us ba: Bosnian (US keyboard with Bosnian letters)
cmk_ed_ks ba: Bosnian (Colemak[eD], keep local symbols)
cmk_ed_us ba: Bosnian (Colemak[eD], unified symbols)
nodeadkeys br: Portuguese (Brazil, eliminate dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
cmk_ed_ks br: Portuguese (Brazil, Colemak[eD], keep local symbols)
cmk_ed_us br: Portuguese (Brazil, Colemak[eD], unified symbols)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
colemak bg: Bulgarian (Colemak, phonetic)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alternative)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh alternative phonetic)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (qwerty)
azerty cm: Cameroon Multilingual (azerty)
dvorak cm: Cameroon Multilingual (Dvorak)
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian Multilingual
multi ca: Canadian Multilingual (first part)
multi-2gr ca: Canadian Multilingual (second part)
cmk_ed_ks ca: Canadian multilingual (Colemak[eD], keep local symbols)
cmk_ed_us ca: Canadian multilingual (Colemak[eD], unified symbols)
ike ca: Inuktitut
eng ca: English (Canada)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
alternatequotes hr: Croatian (with guillemets for quotes)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US keyboard with Croatian digraphs)
us hr: Croatian (US keyboard with Croatian letters)
cmk_ed_ks hr: Croatian (Colemak[eD], keep local symbols)
cmk_ed_us hr: Croatian (Colemak[eD], unified symbols)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (qwerty)
qwerty_bksl cz: Czech (qwerty, extended Backslash)
ucw cz: Czech (UCW layout, accented letters only)
dvorak-ucw cz: Czech (US Dvorak with CZ UCW support)
cmk_ed_ks cz: Czech (Colemak[eD], keep local symbols)
cmk_ed_us cz: Czech (Colemak[eD], unified symbols)
nodeadkeys dk: Danish (eliminate dead keys)
winkeys dk: Danish (Winkeys)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, eliminate dead keys)
dvorak dk: Danish (Dvorak)
cmk_ed_ks dk: Danish (Colemak[eD], keep local symbols)
cmk_ed_us dk: Danish (Colemak[eD], unified symbols)
sundeadkeys nl: Dutch (Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
cmk_ed_ks nl: Dutch (Colemak[eD], keep local symbols)
cmk_ed_us nl: Dutch (Colemak[eD], unified symbols)
nodeadkeys ee: Estonian (eliminate dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US keyboard with Estonian letters)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (eliminate dead keys)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, eliminate dead keys)
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
cmk_ed_ks fi: Finnish (Colemak[eD], keep local symbols)
cmk_ed_us fi: Finnish (Colemak[eD], unified symbols)
nodeadkeys fr: French (eliminate dead keys)
sundeadkeys fr: French (Sun dead keys)
oss fr: French (alternative)
oss_latin9 fr: French (alternative, Latin-9 only)
oss_nodeadkeys fr: French (alternative, eliminate dead keys)
oss_sundeadkeys fr: French (alternative, Sun dead keys)
latin9 fr: French (legacy, alternative)
latin9_nodeadkeys fr: French (legacy, alternative, eliminate dead keys)
latin9_sundeadkeys fr: French (legacy, alternative, Sun dead keys)
bepo fr: French (Bepo, ergonomic, Dvorak way)
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
bre fr: French (Breton)
cmk_ed_ks fr: French (Colemak[eD], keep local symbols)
cmk_ed_us fr: French (Colemak[eD], unified symbols)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (eliminate dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, eliminate dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, eliminate dead keys)
cmk_ed_ks de: German (Colemak[eD], keep local symbols)
cmk_ed_us de: German (Colemak[eD], unified symbols)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (qwertz)
qwerty de: German (qwerty)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
legacy de: German (legacy)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (eliminate dead keys)
polytonic gr: Greek (polytonic)
colemak gr: Greek (Colemak, phonetic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (eliminate dead keys)
qwerty hu: Hungarian (qwerty)
cmk_ed_ks hu: Hungarian (Colemak[eD], keep local symbols)
cmk_ed_us hu: Hungarian (Colemak[eD], unified symbols)
101_qwertz_comma_dead hu: Hungarian (101/qwertz/comma/dead keys)
101_qwertz_comma_nodead hu: Hungarian (101/qwertz/comma/eliminate dead keys)
101_qwertz_dot_dead hu: Hungarian (101/qwertz/dot/dead keys)
101_qwertz_dot_nodead hu: Hungarian (101/qwertz/dot/eliminate dead keys)
101_qwerty_comma_dead hu: Hungarian (101/qwerty/comma/dead keys)
101_qwerty_comma_nodead hu: Hungarian (101/qwerty/comma/eliminate dead keys)
101_qwerty_dot_dead hu: Hungarian (101/qwerty/dot/dead keys)
101_qwerty_dot_nodead hu: Hungarian (101/qwerty/dot/eliminate dead keys)
102_qwertz_comma_dead hu: Hungarian (102/qwertz/comma/dead keys)
102_qwertz_comma_nodead hu: Hungarian (102/qwertz/comma/eliminate dead keys)
102_qwertz_dot_dead hu: Hungarian (102/qwertz/dot/dead keys)
102_qwertz_dot_nodead hu: Hungarian (102/qwertz/dot/eliminate dead keys)
102_qwerty_comma_dead hu: Hungarian (102/qwerty/comma/dead keys)
102_qwerty_comma_nodead hu: Hungarian (102/qwerty/comma/eliminate dead keys)
102_qwerty_dot_dead hu: Hungarian (102/qwerty/dot/dead keys)
102_qwerty_dot_nodead hu: Hungarian (102/qwerty/dot/eliminate dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (eliminate dead keys)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
cmk_ed_ks is: Icelandic (Colemak[eD], keep local symbols)
cmk_ed_us is: Icelandic (Colemak[eD], unified symbols)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
colemak il: Hebrew (Colemak, phonetic)
nodeadkeys it: Italian (eliminate dead keys)
winkeys it: Italian (Winkeys)
mac it: Italian (Macintosh)
us it: Italian (US keyboard with Italian letters)
cmk_ed_ks it: Italian (Colemak[eD], keep local symbols)
cmk_ed_us it: Italian (Colemak[eD], unified symbols)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
stea la: Lao (STEA proposed standard layout)
nodeadkeys latam: Spanish (Latin American, eliminate dead keys)
deadtilde latam: Spanish (Latin American, include dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
cmk_ed_ks latam: Spanish (Latin American, Colemak[eD], keep local symbols)
cmk_ed_us latam: Spanish (Latin American, Colemak[eD], unified symbols)
std lt: Lithuanian (standard)
us lt: Lithuanian (US keyboard with Lithuanian letters)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
apostrophe lv: Latvian (apostrophe variant)
tilde lv: Latvian (tilde variant)
fkey lv: Latvian (F variant)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin Unicode)
latinyz me: Montenegrin (Latin qwerty)
latinunicodeyz me: Montenegrin (Latin Unicode qwerty)
cyrillicalternatequotes me: Montenegrin (Cyrillic with guillemets)
latinalternatequotes me: Montenegrin (Latin with guillemets)
nodeadkeys mk: Macedonian (eliminate dead keys)
us mt: Maltese (with US layout)
nodeadkeys no: Norwegian (eliminate dead keys)
winkeys no: Norwegian (Winkeys)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, eliminate dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, eliminate dead keys)
colemak no: Norwegian (Colemak)
cmk_ed_ks no: Norwegian (Colemak[eD], keep local symbols)
cmk_ed_us no: Norwegian (Colemak[eD], unified symbols)
legacy pl: Polish (legacy)
qwertz pl: Polish (qwertz)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, Polish quotes on key 1)
cmk_ed_ks pl: Polish (Colemak[eD], keep local symbols)
cmk_ed_us pl: Polish (Colemak[eD], unified symbols)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (eliminate dead keys)
sundeadkeys pt: Portuguese (Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, eliminate dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, Sun dead keys)
cmk_ed_ks pt: Portuguese (Colemak[eD], keep local symbols)
cmk_ed_us pt: Portuguese (Colemak[eD], unified symbols)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (WinKeys)
cmk_ed_ks ro: Romanian (Colemak[eD], keep local symbols)
cmk_ed_us ro: Romanian (Colemak[eD], unified symbols)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic WinKeys)
colemak ru: Russian (Colemak, phonetic Rulemak)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (WinKeys)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin Unicode)
latinyz rs: Serbian (Latin qwerty)
latinunicodeyz rs: Serbian (Latin Unicode qwerty)
alternatequotes rs: Serbian (Cyrillic with guillemets)
latinalternatequotes rs: Serbian (Latin with guillemets)
cmk_ed_ks rs: Serbian (Colemak[eD], keep local symbols)
cmk_ed_us rs: Serbian (Colemak[eD], unified symbols)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets for quotes)
us si: Slovenian (US keyboard with Slovenian letters)
cmk_ed_ks si: Slovenian (Colemak[eD], keep local symbols)
cmk_ed_us si: Slovenian (Colemak[eD], unified symbols)
bksl sk: Slovak (extended Backslash)
qwerty sk: Slovak (qwerty)
qwerty_bksl sk: Slovak (qwerty, extended Backslash)
nodeadkeys es: Spanish (eliminate dead keys)
winkeys es: Spanish (Winkeys)
deadtilde es: Spanish (include dead tilde)
sundeadkeys es: Spanish (Sun dead keys)
dvorak es: Spanish (Dvorak)
cmk_ed_ks es: Spanish (Colemak[eD], keep local symbols)
cmk_ed_us es: Spanish (Colemak[eD], unified symbols)
ast es: Asturian (Spain, with bottom-dot H and bottom-dot L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (eliminate dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, eliminate dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
swl se: Swedish Sign Language
cmk_ed_ks se: Swedish (Colemak[eD], keep local symbols)
cmk_ed_us se: Swedish (Colemak[eD], unified symbols)
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, eliminate dead keys)
de_sundeadkeys ch: German (Switzerland, Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, eliminate dead keys)
fr_sundeadkeys ch: French (Switzerland, Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (international with dead keys)
cmk_ed_ks tr: Turkish (Colemak[eD], keep local symbols)
cmk_ed_us tr: Turkish (Colemak[eD], unified symbols)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (WinKeys)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended WinKeys)
intl gb: English (UK, international with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, Macintosh international)
colemak gb: English (UK, Colemak)
cmk_ed_ks gb: English (UK, Colemak[eD], keep local symbols)
cmk_ed_us gb: English (UK, Colemak[eD], unified symbols)
latin uz: Uzbek (Latin)
kr104 kr: Korean (101/104 key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (displaced semicolon and quote, obsolete)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa
left_hand brai: Braille (left hand)
right_hand brai: Braille (right hand)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alternative)
us-mac ml: English (Mali, US Macintosh)
us-intl ml: English (Mali, US international)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006 Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006 Baybayin)
colemak ph: Filipino (Colemak Latin)
colemak-bay ph: Filipino (Colemak Baybayin)
dvorak ph: Filipino (Dvorak Latin)
dvorak-bay ph: Filipino (Dvorak Baybayin)
gag md: Moldavian (Gagauz)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win key (while pressed)
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
grp:lctrl_switch Left Ctrl (while pressed)
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)
grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift keys together
grp:alts_toggle Both Alt keys together
grp:ctrls_toggle Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win Key+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)
grp:rctrl_switch_ctrls_toggle Right Ctrl (while pressed), L+R Ctrl toggles layouts
lv3 Key to choose 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win key
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt key
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose
lv3:ralt_alt Right Alt key never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch &lt;Less/Greater&gt;
lv3:caps_switch_latch Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:bksl_switch_latch Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:lsgt_switch_latch &lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:ac_ctrl At left of 'A'
ctrl:aa_ctrl At bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:ctrl_ralt Right Alt as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt key with Left Ctrl key
ctrl:swap_lwin_lctl Swap Left Win key with Left Ctrl key
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode additions (arrows and math operators)
keypad:future Unicode additions (arrows and math operators; math operators on default level)
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode additions (arrows and math operators)
keypad:future_wang Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)
keypad:hex Hexadecimal
keypad:atm ATM/phone-style
kpdl Numeric keypad delete key behaviour
kpdl:dot Legacy key with dot
kpdl:comma Legacy key with comma
kpdl:dotoss Four-level key with dot
kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock key behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:numlock Make Caps Lock an additional Num Lock
caps:swapescape Swap ESC and Caps Lock
caps:escape Make Caps Lock an additional ESC
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:none Caps Lock is disabled
caps:ctrl_modifier Make Caps Lock an additional Ctrl
altwin Alt/Win key behavior
altwin:menu Add the standard behavior to Menu key
altwin:meta_alt Alt and Meta are on Alt keys
altwin:alt_win Alt is mapped to Win keys (and the usual Alt keys)
altwin:ctrl_win Ctrl is mapped to Win keys (and the usual Ctrl keys)
altwin:ctrl_alt_win Ctrl is mapped to Alt keys, Alt is mapped to Win keys
altwin:meta_win Meta is mapped to Win keys
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win keys
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_alt_win Alt is swapped with Win
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 &lt;Less/Greater&gt;
compose:102-altgr 3rd level of &lt;Less/Greater&gt;
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad keys always enter digits (as in Mac OS)
numpad:microsoft Shift with numeric keypad keys works as in MS Windows
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:extend Enable level5 Extend mappings (home position arrows etc)
shift:both_capslock Both Shift keys together toggle Caps Lock
shift:both_capslock_cancel Both Shift keys together activate Caps Lock, one Shift key deactivates
shift:both_shiftlock Both Shift keys together toggle ShiftLock
keypad:pointerkeys Shift + NumLock toggles PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Adding currency signs to certain keys
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch_lock &lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:ralt_switch_lock Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:lwin_switch_lock Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:rwin_switch_lock Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:caps_switch_lock Caps Lock chooses 5th level, locks when pressed together with another 5th-level-chooser
nbsp Using space key to input non-breakable space character
nbsp:none Usual space at any level
nbsp:level2 Non-breakable space character at second level
nbsp:level3 Non-breakable space character at third level
nbsp:level3s Non-breakable space character at third level, nothing at fourth level
nbsp:level3n Non-breakable space character at third level, thin non-breakable space character at fourth level
nbsp:level4 Non-breakable space character at fourth level
nbsp:level4n Non-breakable space character at fourth level, thin non-breakable space character at sixth level
nbsp:level4nl Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner character at second level
nbsp:zwnj2zwj3 Zero-width non-joiner character at second level, zero-width joiner character at third level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level
nbsp:zwnj2nb3 Zero-width non-joiner character at second level, non-breakable space character at third level
nbsp:zwnj2nb3s Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level
nbsp:zwnj3zwj4 Zero-width non-joiner character at third level, zero-width joiner at fourth level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional ESC
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a Qwerty layout
esperanto:dvorak To the corresponding key in a Dvorak layout
esperanto:colemak To the corresponding key in a Colemak layout
solaris Maintain key compatibility with old Solaris keycodes
solaris:sun_compat Sun Key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl + Alt + Backspace

File diff suppressed because it is too large Load Diff

View File

@ -9,12 +9,15 @@
// If you want non-latin layouts implicitly include the en_US layout
// uncomment lines below
//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \
// in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \
// ru scc sy syr tel th tj tam ua uz
// in ir iku jp kan kh kr la lao lk mk mm mn mv mal olck \
// ori pk ru scc sy syr tel th tj tam ua uz
// PC models
! $pcmodels = pc101 pc102 pc104 pc105 pc104angle-z pc104wide-qu pc104awide-zqu pc104aframe pc105angle-lg pc105awide-sl
// Jolla devices and keyboards
! $jollamodels = jollasbj
// Microsoft models (using MS geometry)
! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose
@ -92,6 +95,7 @@
! model = keycodes
pc98 = evdev(pc98)
applealu_jis = evdev+macintosh(jisevdev)
$jollamodels = evdev+jolla(jolla)
olpc = evdev+olpc(olpc)
olpcm = evdev+olpc(olpcm)
pc104angle-z = evdev(pc104angle-z)
@ -304,6 +308,8 @@
classmate us = pc+%l(classmate)
empty * = empty(basic)
* empty = empty(basic)
jollasbj $nonlatin = jolla_vndr/sbj(common)+us+%l%(v):2
jollasbj * = jolla_vndr/sbj(common)+%l%(v)
$sun $sun_custom = pc+sun_vndr/%l%(v)
pc98 nec_vndr/jp = nec_vndr/jp(pc98)
macintosh_old us = macintosh_vndr/us(oldmac)
@ -413,6 +419,7 @@
* yu(unicodeyz) = pc+srp(latinunicodeyz)
ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1])
amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
jollasbj * = jolla_vndr/sbj(common)+%l[1]%(v[1])
$sun $sun_custom = pc+sun_vndr/%l[1]%(v[1])
macintosh_old us = macintosh_vndr/us(oldmac)
macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
@ -875,6 +882,7 @@
! model = symbols
$evdevkbds = +inet(evdev)+inet(%m)
chromebook = +inet(evdev)+inet(chromebook)
applealu_jis = +inet(evdev)+macintosh_vndr/jp(alujiskeys)
* = +inet(evdev)
@ -883,26 +891,31 @@
! layout variant = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
jp $sun_compat = complete+japan(kana_lock)
! layout[1] variant[1] = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
jp $sun_compat = complete+japan(kana_lock)
! layout[2] variant[2] = compat
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
de adnw = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
de koy = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
jp $sun_compat = +complete+japan(kana_lock):2
! layout[3] variant[3] = compat
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
de adnw = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
de koy = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
jp $sun_compat = +complete+japan(kana_lock):3
! layout[4] variant[4] = compat
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
de adnw = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
de koy = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
jp $sun_compat = +complete+japan(kana_lock):4
! model layout = compat
@ -925,26 +938,36 @@
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle)
* misc:typo = +typo(base)
* misc:extend = +extend(basic)
* misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed)
* misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed)
! layout[1] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1
* misc:typo = +typo(base):1
* misc:extend = +extend(basic):1
* misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):1
* misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):1
! layout[2] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2
* misc:typo = +typo(base):2
* misc:extend = +extend(basic):2
// * misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):2
// * misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):2
! layout[3] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3
* misc:typo = +typo(base):3
* misc:extend = +extend(basic):3
// * misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):3
// * misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):3
! layout[4] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4
* misc:typo = +typo(base):4
* misc:extend = +extend(basic):4
// * misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):4
// * misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):4
! option = symbols
grp:shift_toggle = +group(shifts_toggle)
@ -957,7 +980,9 @@
altwin:left_meta_win = +altwin(left_meta_win)
altwin:hyper_win = +altwin(hyper_win)
altwin:alt_super_win = +altwin(alt_super_win)
altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin)
altwin:swap_alt_win = +altwin(swap_alt_win)
altwin:prtsc_rwin = +altwin(prtsc_rwin)
grab:debug = +srvr_ctrl(grab_debug)
grp:switch = +group(switch)
grp:lswitch = +group(lswitch)
@ -1021,6 +1046,7 @@
caps:backspace = +capslock(backspace)
caps:super = +capslock(super)
caps:hyper = +capslock(hyper)
caps:menu = +capslock(menu)
caps:none = +capslock(none)
caps:ctrl_modifier = +capslock(ctrl_modifier)
ctrl:nocaps = +ctrl(nocaps)
@ -1031,6 +1057,10 @@
ctrl:rctrl_ralt = +ctrl(rctrl_ralt)
ctrl:menu_rctrl = +ctrl(menu_rctrl)
ctrl:ralt_rctrl = +ctrl(ralt_rctrl)
ctrl:swap_lalt_lctl = +ctrl(swap_lalt_lctl)
ctrl:swap_lwin_lctl = +ctrl(swap_lwin_lctl)
ctrl:swap_rwin_rctl = +ctrl(swap_rwin_rctl)
ctrl:swap_lalt_lctl_lwin = +ctrl(swap_lalt_lctl_lwin)
compose:ralt = +compose(ralt)
compose:lwin = +compose(lwin)
compose:lwin-altgr = +compose(lwin-altgr)
@ -1073,6 +1103,8 @@
nbsp:level4nl = +nbsp(level4nl)
japan:nicola_f_bs = +jp(nicola_f_bs)
japan:hztg_escape = +jp(hztg_escape)
korean:ralt_rctrl = +kr(ralt_hangul)+kr(rctrl_hanja)
korean:rctrl_ralt = +kr(rctrl_hangul)+kr(ralt_hanja)
kpdl:dot = +kpdl(dot)
kpdl:comma = +kpdl(comma)
kpdl:dotoss = +kpdl(dotoss)
@ -1109,11 +1141,13 @@
lv5:lwin_switch_lock = +level5(lwin_switch_lock)
lv5:rwin_switch_lock = +level5(rwin_switch_lock)
lv5:caps_switch_lock = +level5(caps_switch_lock)
lv5:lctl_switch_lock = +level5(lctl_switch_lock)
lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel)
lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel)
lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel)
lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel)
lv5:caps_switch_lock_cancel = +level5(caps_switch_lock_cancel)
lv5:lctl_switch_lock_cancel = +level5(lctl_switch_lock_cancel)

View File

@ -6,7 +6,7 @@
pc104angle-z Generic 104-key PC Angle(Z)Ergo
pc104wide-qu Generic 104-key PC Wide(Quote)Ergo
pc104awide-zqu Generic 104-key PC Angle(Z)Wide(Quote)Ergo
pc104aframe Generic 104-key PC AngleFrame(Quote)Ergo
pc104aframe Generic 104-key PC AngleWing(Quote)Ergo
pc105angle-lg Generic 105-key (Intl) PC Angle(LSGT)Ergo
pc105awide-sl Generic 105-key (Intl) PC AngleWide(/)Ergo
dell101 Dell 101-key PC
@ -118,7 +118,7 @@
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access Keyboard
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Wireless Ergonomic Keyboard 4000
microsoft4000 Microsoft Natural Ergonomic Keyboard 4000
microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000
microsoftinet Microsoft Internet Keyboard
microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
@ -190,6 +190,8 @@
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
teck227 Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)
teck229 Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)
! layout
us English (US)
@ -281,6 +283,7 @@
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
@ -292,13 +295,16 @@
intl us: English (US, international with dead keys)
alt-intl us: English (US, alternative international)
colemak us: English (Colemak)
cmk_ed_us us: English (Colemak, edition DreymaR)
tarmak1_e us: English (Tarmak1 - Colemak transitional)
tarmak2_et us: English (Tarmak2 - Colemak transitional)
tarmak3_etr us: English (Tarmak3 - Colemak transitional)
tarmak4_etro us: English (Tarmak4 - Colemak transitional)
cmk_ed_dvbghm us: English (Colemak[eD], Curl-Dvbg/Hm ergo)
cmk_ed_dbghk us: English (Colemak[eD], Curl-Dbg/Hk ergo)
cmk_ed_us us: English (Colemak[eD] - edition DreymaR)
tarmak1_e us: English (Tarmak1 - Colemak[eD] transitional)
tarmak1k_e us: English (Tarmak1k - Colemak[eD] transit. w/ Curl-Hk mod)
tarmak2_et us: English (Tarmak2 - Colemak[eD] transitional)
tarmak2bk_et us: English (Tarmak2bk - Colemak[eD] transit. w/ Curl-DbgHk mod)
tarmak2vm_et us: English (Tarmak2vm - Colemak[eD] transit. w/ Curl-DvbgHm mod)
tarmak3_etr us: English (Tarmak3 - Colemak[eD] transitional)
tarmak4_etro us: English (Tarmak4 - Colemak[eD] transitional)
cmk_ed_dvbghm us: English (Colemak[eD], Curl-DvbgHm ergo)
cmk_ed_dbghk us: English (Colemak[eD], Curl-DbgHk ergo)
cmk_ed_mirror us: English (Colemak[eD], mirrored)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, international with dead keys)
@ -306,7 +312,7 @@
dvorak-l us: English (left handed Dvorak)
dvorak-r us: English (right handed Dvorak)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
dvp us: English (Programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (international AltGr dead keys)
@ -325,6 +331,7 @@
qwerty ara: Arabic (qwerty)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
mac ara: Arabic (Macintosh)
plisi-d1 al: Albanian (Plisi D1)
cmk_ed_ks al: Albanian (Colemak[eD], keep local symbols)
cmk_ed_us al: Albanian (Colemak[eD], unified symbols)
@ -335,9 +342,9 @@
eastern-alt am: Armenian (alternative eastern)
nodeadkeys at: German (Austria, eliminate dead keys)
sundeadkeys at: German (Austria, Sun dead keys)
mac at: German (Austria, Macintosh)
cmk_ed_ks at: German (Austria, Colemak[eD], keep local symbols)
cmk_ed_us at: German (Austria, Colemak[eD], unified symbols)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
@ -367,6 +374,7 @@
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee sign)
ori in: Oriya
olck in: Ol Chiki
tam_unicode in: Tamil (Unicode)
tam_keyboard_with_numerals in: Tamil (keyboard with numerals)
tam_TAB in: Tamil (TAB typewriter)
@ -396,9 +404,10 @@
nativo-epo br: Esperanto (Brazil, Nativo)
cmk_ed_ks br: Portuguese (Brazil, Colemak[eD], keep local symbols)
cmk_ed_us br: Portuguese (Brazil, Colemak[eD], unified symbols)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
colemak bg: Bulgarian (Colemak, phonetic)
colemak bg: Bulgarian (Colemak, phonetic S-Slavic)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alternative)
@ -435,6 +444,7 @@
dvorak-ucw cz: Czech (US Dvorak with CZ UCW support)
cmk_ed_ks cz: Czech (Colemak[eD], keep local symbols)
cmk_ed_us cz: Czech (Colemak[eD], unified symbols)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (eliminate dead keys)
winkeys dk: Danish (Winkeys)
mac dk: Danish (Macintosh)
@ -465,6 +475,7 @@
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
das fi: Finnish (DAS)
cmk_ed_ks fi: Finnish (Colemak[eD], keep local symbols)
cmk_ed_us fi: Finnish (Colemak[eD], unified symbols)
nodeadkeys fr: French (eliminate dead keys)
@ -479,10 +490,11 @@
bepo fr: French (Bepo, ergonomic, Dvorak way)
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
bre fr: French (Breton)
cmk_ed_ks fr: French (Colemak[eD], keep local symbols)
cmk_ed_us fr: French (Colemak[eD], unified symbols)
mac fr: French (Macintosh)
azerty fr: French (Azerty)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
generic gh: English (Ghana, multilingual)
@ -504,12 +516,12 @@
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, eliminate dead keys)
dvorak de: German (Dvorak)
cmk_ed_ks de: German (Colemak[eD], keep local symbols)
cmk_ed_us de: German (Colemak[eD], unified symbols)
sundeadkeys de: German (Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, eliminate dead keys)
cmk_ed_ks de: German (Colemak[eD], keep local symbols)
cmk_ed_us de: German (Colemak[eD], unified symbols)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (qwertz)
qwerty de: German (qwerty)
@ -544,6 +556,7 @@
102_qwerty_dot_nodead hu: Hungarian (102/qwerty/dot/eliminate dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (eliminate dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
cmk_ed_ks is: Icelandic (Colemak[eD], keep local symbols)
@ -572,6 +585,7 @@
nodeadkeys latam: Spanish (Latin American, eliminate dead keys)
deadtilde latam: Spanish (Latin American, include dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
cmk_ed_ks latam: Spanish (Latin American, Colemak[eD], keep local symbols)
cmk_ed_us latam: Spanish (Latin American, Colemak[eD], unified symbols)
std lt: Lithuanian (standard)
@ -633,7 +647,7 @@
cmk_ed_us ro: Romanian (Colemak[eD], unified symbols)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic WinKeys)
colemak ru: Russian (Colemak, phonetic Rulemak)
colemak ru: Russian (Colemak, phonetic E-Slavic)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
@ -651,6 +665,8 @@
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic azerty)
phonetic_fr ru: Russian (phonetic French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin Unicode)
@ -704,6 +720,7 @@
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
us lk: Sinhala (US keyboard with Sinhala letters)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
@ -836,6 +853,7 @@
ctrl:ctrl_ralt Right Alt as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt key with Left Ctrl key
ctrl:swap_lwin_lctl Swap Left Win key with Left Ctrl key
ctrl:swap_rwin_rctl Swap Right Win key with Right Ctrl key
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
@ -871,6 +889,7 @@
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:none Caps Lock is disabled
caps:ctrl_modifier Make Caps Lock an additional Ctrl
@ -884,7 +903,9 @@
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win keys
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc (and the usual Win key)
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
@ -907,13 +928,15 @@
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad keys always enter digits (as in Mac OS)
numpad:microsoft Shift with numeric keypad keys works as in MS Windows
numpad:microsoft NumLock on: digits, Shift switches to arrow keys, Numlock off: always arrow keys (as in MS Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:extend Enable level5 Extend mappings (home position arrows etc)
misc:cmk_curl_dbghk Colemak Curl ergo mod (DbgHk variant)
misc:cmk_curl_dvbghm Colemak Curl ergo mod (DvbgHm variant)
shift:both_capslock Both Shift keys together toggle Caps Lock
shift:both_capslock_cancel Both Shift keys together activate Caps Lock, one Shift key deactivates
shift:both_shiftlock Both Shift keys together toggle ShiftLock
@ -932,6 +955,7 @@
lv5:lwin_switch_lock Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:rwin_switch_lock Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:caps_switch_lock Caps Lock chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:lctl_switch_lock Left Ctrl chooses 5th level, locks when pressed together with another 5th-level-chooser
nbsp Using space key to input non-breakable space character
nbsp:none Usual space at any level
nbsp:level2 Non-breakable space character at second level
@ -953,6 +977,10 @@
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional ESC
korean Korean Hangul/Hanja keys
korean:hw_keys Hardware Hangul/Hanja keys
korean:ralt_rctrl Right Alt as Hangul, right Ctrl as Hanja
korean:rctrl_ralt Right Ctrl as Hangul, right Alt as Hanja
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a Qwerty layout
esperanto:dvorak To the corresponding key in a Dvorak layout

View File

@ -54,7 +54,7 @@
<model>
<configItem>
<name>pc104aframe</name>
<description>Generic 104-key PC (AngleFrame(Quote)Ergo mod)</description>
<description>Generic 104-key PC (AngleWing(Quote)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
@ -836,7 +836,7 @@
<model>
<configItem>
<name>microsoft4000</name>
<description>Microsoft Natural Wireless Ergonomic Keyboard 4000</description>
<description>Microsoft Natural Ergonomic Keyboard 4000</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
</model>
@ -898,21 +898,21 @@
</model>
<model>
<configItem>
<name>microsoftmult</name>
<name>microsoftmult</name>
<description>Microsoft Wireless Multimedia Keyboard 1.0A</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
</model>
<model>
<configItem>
<name>microsoftelite</name>
<name>microsoftelite</name>
<description>Microsoft Natural Keyboard Elite</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
</model>
<model>
<configItem>
<name>microsoftccurve2k</name>
<name>microsoftccurve2k</name>
<description>Microsoft Comfort Curve Keyboard 2000</description>
<vendor>Microsoft Inc.</vendor>
</configItem>
@ -1337,6 +1337,20 @@
<vendor>htc</vendor>
</configItem>
</model>
<model>
<configItem>
<name>teck227</name>
<description>Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)</description>
<vendor>Megawin Technology</vendor>
</configItem>
</model>
<model>
<configItem>
<name>teck229</name>
<description>Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)</description>
<vendor>Megawin Technology</vendor>
</configItem>
</model>
</modelList>
<layoutList>
<layout>
@ -1388,43 +1402,61 @@
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>English (Colemak[eD])</description>
<description>English (Colemak[eD] - edition DreymaR)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak1_e</name>
<description>English (Tarmak1 - Colemak transitional)</description>
<description>English (Tarmak1 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak1k_e</name>
<description>English (Tarmak1k - Colemak[eD] transit. w/ Curl-Hk mod)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak2_et</name>
<description>English (Tarmak2 - Colemak transitional)</description>
<description>English (Tarmak2 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak2bk_et</name>
<description>English (Tarmak2bk - Colemak[eD] transit. w/ Curl-DbgHk mod)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak2vm_et</name>
<description>English (Tarmak2vm - Colemak[eD] transit. w/ Curl-DvbgHm mod)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak3_etr</name>
<description>English (Tarmak3 - Colemak transitional)</description>
<description>English (Tarmak3 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak4_etro</name>
<description>English (Tarmak4 - Colemak transitional)</description>
<description>English (Tarmak4 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_dvbghm</name>
<description>English (Colemak[eD], Curl-Dvbg/Hm ergo)</description>
<description>English (Colemak[eD], Curl-DvbgHm ergo)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_dbghk</name>
<description>English (Colemak[eD], Curl-Dbg/Hk ergo)</description>
<description>English (Colemak[eD], Curl-DbgHk ergo)</description>
</configItem>
</variant>
<variant>
@ -1472,7 +1504,7 @@
<variant>
<configItem>
<name>dvp</name>
<description>English (programmer Dvorak)</description>
<description>English (Programmer Dvorak)</description>
</configItem>
</variant>
<variant>
@ -1496,9 +1528,11 @@
<configItem>
<name>altgr-intl</name>
<description>English (international AltGr dead keys)</description>
<languageList><iso639Id>eng</iso639Id>
<iso639Id>fra</iso639Id>
<iso639Id>ger</iso639Id></languageList>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>fra</iso639Id>
<iso639Id>ger</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -1511,11 +1545,13 @@
<configItem>
<name>hbs</name>
<description>Serbo-Croatian (US)</description>
<languageList><iso639Id>eng</iso639Id>
<iso639Id>bos</iso639Id>
<iso639Id>hbs</iso639Id>
<iso639Id>hrv</iso639Id>
<iso639Id>srp</iso639Id> </languageList>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>bos</iso639Id>
<iso639Id>hbs</iso639Id>
<iso639Id>hrv</iso639Id>
<iso639Id>srp</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -1662,6 +1698,12 @@
<description>Arabic (Buckwalter)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac</name>
<description>Arabic (Macintosh)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -1831,9 +1873,11 @@
<shortDescription>be</shortDescription>
<description>Belgian</description>
<languageList><iso639Id>ger</iso639Id>
<iso639Id>nld</iso639Id>
<iso639Id>fra</iso639Id></languageList>
<languageList>
<iso639Id>ger</iso639Id>
<iso639Id>nld</iso639Id>
<iso639Id>fra</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -1900,6 +1944,8 @@
<description>Bangla</description>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
<variantList>
@ -1927,6 +1973,8 @@
<description>Bangla (India)</description>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
@ -1938,6 +1986,8 @@
<description>Bangla (India, Probhat)</description>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
@ -1945,35 +1995,53 @@
<configItem>
<name>ben_baishakhi</name>
<description>Bangla (India, Baishakhi)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_bornona</name>
<description>Bangla (India, Bornona)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
</configItem>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_gitanjali</name>
<description>Bangla (India, Uni Gitanjali)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ben_inscript</name>
<description>Bangla (India, Baishakhi Inscript)</description>
<languageList><iso639Id>ben</iso639Id></languageList>
<languageList>
<iso639Id>ben</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>eeyek</name>
<description>Manipuri (Eeyek)</description>
<languageList><iso639Id>mni</iso639Id></languageList>
<languageList>
<iso639Id>mni</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -2059,7 +2127,9 @@
<shortDescription>ml</shortDescription>
<description>Malayalam (enhanced Inscript, with rupee sign)</description>
<languageList><iso639Id>mal</iso639Id></languageList>
<languageList>
<iso639Id>mal</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -2070,6 +2140,20 @@
<description>Oriya</description>
<languageList>
<iso639Id>ori</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>olck</name>
<shortDescription>sat</shortDescription>
<description>Ol Chiki</description>
<languageList>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</variant>
@ -2356,6 +2440,12 @@
<description>Portuguese (Brazil, Colemak[eD], unified symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>thinkpad</name>
<description>Portuguese (Brazil, IBM/Lenovo ThinkPad)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -2384,7 +2474,7 @@
<variant>
<configItem>
<name>colemak</name>
<description>Bulgarian (Colemak, phonetic)</description>
<description>Bulgarian (Colemak, phonetic S-Slavic)</description>
</configItem>
</variant>
</variantList>
@ -2482,14 +2572,18 @@
<shortDescription>cm</shortDescription>
<description>English (Cameroon)</description>
<languageList><iso639Id>eng</iso639Id></languageList>
<languageList>
<iso639Id>eng</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>french</name>
<description>French (Cameroon)</description>
<languageList><iso639Id>fra</iso639Id></languageList>
<languageList>
<iso639Id>fra</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -2714,7 +2808,7 @@
<shortDescription>ug</shortDescription>
<description>Uyghur</description>
<languageList>
<iso639Id>ug</iso639Id>
<iso639Id>uig</iso639Id>
</languageList>
</configItem>
</variant>
@ -2822,6 +2916,17 @@
<description>Czech (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>rus</name>
<shortDescription>ru</shortDescription>
<description>Russian (Czech, phonetic)</description>
<languageList>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -3033,8 +3138,10 @@
<shortDescription>ar</shortDescription>
<description>Iraqi</description>
<languageList><iso639Id>ara</iso639Id>
<iso639Id>kur</iso639Id></languageList>
<languageList>
<iso639Id>ara</iso639Id>
<iso639Id>kur</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -3135,7 +3242,9 @@
<configItem>
<name>smi</name>
<description>Northern Saami (Finland)</description>
<languageList><iso639Id>sme</iso639Id></languageList>
<languageList>
<iso639Id>sme</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -3144,6 +3253,12 @@
<description>Finnish (Macintosh)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>das</name>
<description>Finnish (DAS)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_ks</name>
@ -3241,18 +3356,6 @@
<description>French (Dvorak)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac</name>
<description>French (Macintosh)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>bre</name>
<description>French (Breton)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_ks</name>
@ -3265,6 +3368,24 @@
<description>French (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac</name>
<description>French (Macintosh)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>azerty</name>
<description>French (Azerty)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>bre</name>
<description>French (Breton)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>oci</name>
@ -3472,14 +3593,18 @@
<configItem>
<name>ro</name>
<description>Romanian (Germany)</description>
<languageList><iso639Id>rum</iso639Id></languageList>
<languageList>
<iso639Id>rum</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ro_nodeadkeys</name>
<description>Romanian (Germany, eliminate dead keys)</description>
<languageList><iso639Id>rum</iso639Id></languageList>
<languageList>
<iso639Id>rum</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -3488,6 +3613,18 @@
<description>German (Dvorak)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>German (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>German (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>sundeadkeys</name>
@ -3512,18 +3649,6 @@
<description>German (Macintosh, eliminate dead keys)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>German (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>German (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>dsb</name>
@ -3781,6 +3906,12 @@
<description>Icelandic (eliminate dead keys)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac_legacy</name>
<description>Icelandic (Macintosh, legacy)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>mac</name>
@ -3999,16 +4130,20 @@
<shortDescription>ru</shortDescription>
<description>Russian (Kazakhstan, with Kazakh)</description>
<languageList><iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id></languageList>
<languageList>
<iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>kazrus</name>
<description>Kazakh (with Russian)</description>
<languageList><iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id></languageList>
<languageList>
<iso639Id>kaz</iso639Id>
<iso639Id>rus</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -4028,7 +4163,8 @@
<configItem>
<name>stea</name>
<description>Lao (STEA proposed standard layout)</description>
<languageList><iso639Id>lao</iso639Id>
<languageList>
<iso639Id>lao</iso639Id>
</languageList>
</configItem>
</variant>
@ -4086,6 +4222,12 @@
<description>Spanish (Latin American, Sun dead keys)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>dvorak</name>
<description>Spanish (Latin American, Dvorak)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_ks</name>
@ -4382,7 +4524,7 @@
<description>Norwegian (Macintosh, eliminate dead keys)</description>
</configItem>
</variant>
<variant>
<variant>
<configItem>
<name>colemak</name>
<description>Norwegian (Colemak)</description>
@ -4456,7 +4598,9 @@
<configItem>
<name>szl</name>
<description>Silesian</description>
<languageList><iso639Id>szl</iso639Id></languageList>
<languageList>
<iso639Id>szl</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -4629,7 +4773,7 @@
<variant>
<configItem>
<name>colemak</name>
<description>Russian (Colemak, phonetic Rulemak)</description>
<description>Russian (Colemak, phonetic E-Slavic)</description>
</configItem>
</variant>
<variant>
@ -4747,8 +4891,10 @@
<configItem>
<name>srp</name>
<description>Serbian (Russia)</description>
<languageList><iso639Id>rus</iso639Id>
<iso639Id>srp</iso639Id></languageList>
<languageList>
<iso639Id>rus</iso639Id>
<iso639Id>srp</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -4769,6 +4915,18 @@
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>phonetic_azerty</name>
<description>Russian (phonetic azerty)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>phonetic_fr</name>
<description>Russian (phonetic French)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -5076,7 +5234,9 @@
<configItem>
<name>swl</name>
<description>Swedish Sign Language</description>
<languageList><iso639Id>swl</iso639Id></languageList>
<languageList>
<iso639Id>swl</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -5087,8 +5247,10 @@
<shortDescription>de</shortDescription>
<description>German (Switzerland)</description>
<languageList><iso639Id>ger</iso639Id>
<iso639Id>gsw</iso639Id></languageList>
<languageList>
<iso639Id>ger</iso639Id>
<iso639Id>gsw</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -5279,6 +5441,13 @@
</languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>us</name>
<shortDescription>us</shortDescription>
<description>Sinhala (US keyboard with Sinhala letters)</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -5798,6 +5967,8 @@
<description>Nepali</description>
<languageList>
<iso639Id>nep</iso639Id>
<iso639Id>sat</iso639Id>
</languageList>
</configItem>
</layout>
@ -5969,6 +6140,16 @@
</languageList>
</configItem>
</layout>
<layout>
<configItem>
<name>tg</name>
<shortDescription>fr-tg</shortDescription>
<description>French (Togo)</description>
<languageList>
<iso639Id>fra</iso639Id>
</languageList>
</configItem>
</layout>
<layout>
<configItem>
<name>ke</name>
@ -6010,33 +6191,37 @@
<shortDescription>ph</shortDescription>
<description>Filipino</description>
<languageList><iso639Id>eng</iso639Id>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>eng</iso639Id>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>qwerty-bay</name>
<description>Filipino (QWERTY Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -6049,16 +6234,18 @@
<configItem>
<name>capewell-dvorak-bay</name>
<description>Filipino (Capewell-Dvorak Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -6071,16 +6258,18 @@
<configItem>
<name>capewell-qwerf2k6-bay</name>
<description>Filipino (Capewell-QWERF 2006 Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -6093,16 +6282,18 @@
<configItem>
<name>colemak-bay</name>
<description>Filipino (Colemak Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
<variant>
@ -6115,16 +6306,18 @@
<configItem>
<name>dvorak-bay</name>
<description>Filipino (Dvorak Baybayin)</description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id></languageList>
<languageList>
<iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
<iso639Id>hil</iso639Id>
<iso639Id>ilo</iso639Id>
<iso639Id>pam</iso639Id>
<iso639Id>pag</iso639Id>
<iso639Id>phi</iso639Id>
<iso639Id>tgl</iso639Id>
<iso639Id>war</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -6134,7 +6327,9 @@
<name>md</name>
<shortDescription>md</shortDescription>
<description>Moldavian</description>
<languageList><iso639Id>rum</iso639Id></languageList>
<languageList>
<iso639Id>rum</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
@ -6142,7 +6337,9 @@
<name>gag</name>
<shortDescription>gag</shortDescription>
<description>Moldavian (Gagauz)</description>
<languageList><iso639Id>gag</iso639Id></languageList>
<languageList>
<iso639Id>gag</iso639Id>
</languageList>
</configItem>
</variant>
</variantList>
@ -6286,7 +6483,7 @@
<name>grp:rctrl_rshift_toggle</name>
<description>Right Ctrl+Right Shift</description>
</configItem>
</option>
</option>
<option>
<configItem>
<name>grp:ctrl_alt_toggle</name>
@ -6552,6 +6749,11 @@
<name>ctrl:swap_lwin_lctl</name>
<description>Swap Left Win key with Left Ctrl key</description>
</configItem>
</option><option>
<configItem>
<name>ctrl:swap_rwin_rctl</name>
<description>Swap Right Win key with Right Ctrl key</description>
</configItem>
</option>
<option>
<configItem>
@ -6771,6 +6973,12 @@
<description>Make Caps Lock an additional Hyper</description>
</configItem>
</option>
<option>
<configItem>
<name>caps:menu</name>
<description>Make Caps Lock an additional Menu key</description>
</configItem>
</option>
<option>
<configItem>
<name>caps:shiftlock</name>
@ -6850,12 +7058,24 @@
<description>Alt is mapped to Right Win, Super to Menu</description>
</configItem>
</option>
<option>
<configItem>
<name>altwin:swap_lalt_lwin</name>
<description>Left Alt is swapped with Left Win</description>
</configItem>
</option>
<option>
<configItem>
<name>altwin:swap_alt_win</name>
<description>Alt is swapped with Win</description>
</configItem>
</option>
<option>
<configItem>
<name>altwin:prtsc_rwin</name>
<description>Win is mapped to PrtSc (and the usual Win key)</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="true">
@ -6992,7 +7212,7 @@
<option>
<configItem>
<name>numpad:microsoft</name>
<description>Shift with numeric keypad keys works as in MS Windows</description>
<description>NumLock on: digits, Shift switches to arrow keys, Numlock off: always arrow keys (as in MS Windows)</description>
</configItem>
</option>
<option>
@ -7031,6 +7251,18 @@
<description>Enable level5 Extend mappings (home position arrows etc)</description>
</configItem>
</option>
<option>
<configItem>
<name>misc:cmk_curl_dbghk</name>
<description>Colemak Curl ergo mod (DbgHk variant)</description>
</configItem>
</option>
<option>
<configItem>
<name>misc:cmk_curl_dvbghm</name>
<description>Colemak Curl ergo mod (DvbgHm variant)</description>
</configItem>
</option>
<option>
<configItem>
<name>shift:both_capslock</name>
@ -7140,6 +7372,13 @@
<description>Caps Lock chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lctl_switch_lock</name>
<description>Left Ctrl chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="false">
@ -7268,6 +7507,30 @@
</configItem>
</option>
</group>
<group allowMultipleSelection="true">
<configItem>
<name>korean</name>
<description>Korean Hangul/Hanja keys</description>
</configItem>
<option>
<configItem>
<name>korean:hw_keys</name>
<description>Hardware Hangul/Hanja keys</description>
</configItem>
</option>
<option>
<configItem>
<name>korean:ralt_rctrl</name>
<description>Right Alt as Hangul, right Ctrl as Hanja</description>
</configItem>
</option>
<option>
<configItem>
<name>korean:rctrl_ralt</name>
<description>Right Ctrl as Hangul, right Alt as Hanja</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="false">
<configItem>
<name>esperanto</name>
@ -7317,4 +7580,4 @@
</option>
</group>
</optionList>
</xkbConfigRegistry>
</xkbConfigRegistry>

View File

@ -190,7 +190,7 @@ xkb_symbols "bas_phonetic" {
// This is an extended variant of the standard Latin QWERTY layout with
// additional symbols in levels 3 and 4.
partial hidden alphanumeric_keys
hidden partial alphanumeric_keys
xkb_symbols "latin" {
key <TLDE> {[ grave, asciitilde, U2248, U2245 ]};
@ -250,63 +250,66 @@ xkb_symbols "latin" {
key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Decimal ]};
};
// --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/bg
// --> OEystein Bech "DreymaR" Gadmar, 2016-04: Additions to xkb/symbols/bg
// "Bulmak[eD]" (Phonetic Colemak variant for Bulgarian Cyrillic script)
// 2006-01-01 Shai Coleman, http://colemak.com/
// Bulmak: 2009-2016 Ivan "Ghoul" Haralamov, using transliteration and "common sense".
// See the Colemak forum topic on Cmk[eD] locales: http://forum.colemak.com/viewtopic.php?id=1458
// Also, the Colemak forum topic on Kyrillic layouts: http://forum.colemak.com/viewtopic.php?id=519
partial alphanumeric_keys
xkb_symbols "colemak" {
include "colemak(cmk_ed_symbols)"
name[Group1]= "Bulgarian (Colemak, phonetic)";
name[Group1]= "Bulgarian (Colemak, phonetic S-Slavic)";
key <TLDE> { [ Cyrillic_yu, Cyrillic_YU, dead_tilde, asciitilde ] }; // U0300 Comb. grave
// key <AE01> { [ 1, exclam, U0301 ] }; // U0301 Comb. acute
// key <AE02> { [ 2, at, U030B ] }; // U030B Comb. doubleacute
key <TLDE> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, dead_tilde, asciitilde ] }; // Bulmak. (U0300 Comb. grave)
// key <AE01> { [ 1, exclam, U0301 ] }; // (U0301 Comb. acute)
// key <AE02> { [ 2, at, U030B ] }; // (U030B Comb. doubleacute)
key <AE03> { [ 3, numerosign, dead_horn, numbersign ] };
// key <AE04> { [ 4, dollar, dead_currency, cent ] };
// key <AE05> { [ 5, percent, EuroSign ] };
// key <AE06> { [ 6, asciicircum, U0306 ] }; // U0306 Comb. breve
// key <AE07> { [ 7, ampersand, U0307 ] }; // U0307 Comb. dot above
// key <AE08> { [ 8, asterisk, U0308 ] }; // U0308 Comb. diaeresis
// key <AE06> { [ 6, asciicircum, U0306 ] }; // (U0306 Comb. breve)
// key <AE07> { [ 7, ampersand, U0307 ] }; // (U0307 Comb. dot above)
// key <AE08> { [ 8, asterisk, U0308 ] }; // (U0308 Comb. diaeresis)
// key <AE09> { [ 9, parenleft, dead_breve, guillemotleft ] };
// key <AE10> { [ 0, parenright, dead_abovering, guillemotright ] };
key <AE11> { [ minus, underscore, endash, emdash ] };
// key <AE12> { [ Cyrillic_io, Cyrillic_IO, equal, plus ] }; // Cyrillic_io/IO
key <AE11> { [ minus, underscore, endash, emdash ] }; // Added dashes
// key <AE12> { [ Cyrillic_io, Cyrillic_IO, equal, plus ] }; //
key <AD01> { [ Cyrillic_ya, Cyrillic_YA, q, Q ] };
key <AD02> { [ Cyrillic_ve, Cyrillic_VE, w, W ] };
key <AD02> { [ Cyrillic_zhe, Cyrillic_ZHE, w, W ] }; // Bulmak/Rulemak-2016
key <AD03> { [ Cyrillic_ef, Cyrillic_EF, f, F ] };
key <AD04> { [ Cyrillic_pe, Cyrillic_PE, p, P ] };
key <AD05> { [ Cyrillic_ghe, Cyrillic_GHE, g, G ] };
key <AD06> { [ Cyrillic_shorti, Cyrillic_SHORTI, j, J ] };
key <AD07> { [ Cyrillic_el, Cyrillic_EL, l, L ] };
key <AD08> { [ Cyrillic_u, Cyrillic_U, u, U ] };
key <AD09> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, y, Y ] };
key <AD10> { [ semicolon, colon, Cyrillic_yeru, Cyrillic_YERU ] };
key <AD09> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, y, Y ] }; // Bulmak
key <AD10> { [ semicolon, colon, Cyrillic_yeru, Cyrillic_YERU ] }; // Bulmak[eD]-2016
key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft ] };
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ] };
key <BKSL> { [ backslash, bar, Cyrillic_e, Cyrillic_E ] };
key <BKSL> { [ Cyrillic_yu, Cyrillic_YU, backslash, bar ] }; // Bulmak-2016
// key <BKSL> { [ backslash, bar, Cyrillic_e, Cyrillic_E ] }; // Bulmak[eD]-2014
key <AC01> { [ Cyrillic_a, Cyrillic_A, a, A ] };
key <AC02> { [ Cyrillic_er, Cyrillic_ER, r, R ] };
key <AC03> { [ Cyrillic_es, Cyrillic_ES, s, S ] };
key <AC04> { [ Cyrillic_te, Cyrillic_TE, t, T ] };
key <AC05> { [ Cyrillic_de, Cyrillic_DE, d, D ] };
// key <AC06> { [ Cyrillic_che, Cyrillic_CHE, h, H ] }; // Ghen's Rulemak
key <AC06> { [ Cyrillic_ha, Cyrillic_HA, h, H ] }; // Trad. Bulgarian
// key <AC06> { [ Cyrillic_che, Cyrillic_CHE, h, H ] }; // Rulemak-2016
key <AC06> { [ Cyrillic_ha, Cyrillic_HA, h, H ] }; // Bulmak, Trad. Bulg.
key <AC07> { [ Cyrillic_en, Cyrillic_EN, n, N ] };
key <AC08> { [ Cyrillic_ie, Cyrillic_IE, e, E ] };
key <AC09> { [ Cyrillic_i, Cyrillic_I, i, I ] };
key <AC10> { [ Cyrillic_o, Cyrillic_O, o, O ] };
key <AC11> { [ apostrophe, quotedbl, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
key <AC11> { [ apostrophe, quotedbl, Cyrillic_e, Cyrillic_E ] }; // Bulmak[eD]-2016
key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, z, Z ] };
// key <AB02> { [ Cyrillic_ha, Cyrillic_HA, x, X ] }; // Ghen's Rulemak
key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] }; // DreymaR
// key <AB02> { [ Cyrillic_ha, Cyrillic_HA, x, X ] }; // Rulemak-2016
key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] }; // Bulmak-2016
key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, c, C ] };
key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE, v, V ] };
key <AB04> { [ Cyrillic_ve, Cyrillic_VE, v, V ] }; // Bulmak/Rulemak-2016
key <AB05> { [ Cyrillic_be, Cyrillic_BE, b, B ] };
key <AB06> { [ Cyrillic_ka, Cyrillic_KA, k, K ] };
key <AB07> { [ Cyrillic_em, Cyrillic_EM, m, M ] };
@ -314,12 +317,10 @@ xkb_symbols "colemak" {
// key <AB09> { [ period, colon, greater,greaterthanequal ] };
// key <AB10> { [ slash, question ] };
// NOTE: In Linux, CapsLock is tweaked in the Keyboard settings (for freedom of choice etc.)
// NOTE: In Linux, CapsLock is tweaked in the Keyboard settings (freedom of choice)
// key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
// key <LSGT> { [ U0301, asciitilde, grave ] }; // U0301 Comb. acute
key <LSGT> { [ U0300, dead_diaeresis, dead_acute, dead_grave ] }; // U0300 Comb. grave
key <LSGT> { [ U0300, dead_diaeresis, dead_acute, dead_grave ] }; // (U0300 Comb. grave)
// key <SPCE> { [ space, space, space, nobreakspace ] };
// key <MENU> { [ Mode_switch, Multi_key ] };
include "level3(ralt_switch)"
};

View File

@ -64,7 +64,7 @@ partial alphanumeric_keys
xkb_symbols "thinkpad" {
include "br(abnt2)"
name[Group1]="Portuguese (Brazil)";
name[Group1]="Portuguese (Brazil, IBM/Lenovo ThinkPad)";
key <RCTL> { [ slash, question, degree, questiondown ] };
};

View File

@ -151,13 +151,10 @@ xkb_symbols "cmk_ed_letters" {
key <AB07> { [ m, M, multiply, downarrow ] }; // QWE/Cmk M
// U0292/01B7 ezh/EZH
//// NOTE: Including the line(s) below will enable the Curl-Dvbg/Hm mod by Stevep99; see below.
// include "colemak(cmk-dvbg_ed)"
// include "colemak(cmk-hm_ed)"
//// NOTE: These are the lighter Curl-Dbg/Hk Colemak ergo mods, keeping V and M in place.
include "colemak(cmk-dbg_ed)"
include "colemak(cmk-hk_ed)"
// TODO: Move Curl to keyboard models instead?!? Modularity would be mostly restored, and locale compatibility.
//// NOTE: Activating the line below will "hard" enable the Curl-Dvbg/Hm mod by Stevep99; see below.
// include "colemak(cmk_dvbg-hm_ed)"
//// NOTE: This is my lighter Curl-Dbg/Hk Colemak ergo mod, keeping V and M in place.
// include "colemak(cmk_dbg-hk_ed)"
};
hidden partial alphanumeric_keys
@ -227,20 +224,35 @@ xkb_symbols "cmk_ed_symbols" {
// ***** DreymaR/Stevep99: Curl-DH ergonomic mods *****
// ******************************************************
// This is the Colemak "Curl-D/H" ergo mods by colemak forum users stevep99 and myself.
// See http://colemakmods.github.io/mod-dh/ and http://forum.colemak.com/viewtopic.php?id=1942
// • Stevep99's Dvbg left-hand mod gives the D a good bottom-row place (<AB04>) at the cost of V and B
// • DreymaR's Dbg left-hand variant is lighter and avoids moving V as D replaces B directly
// Both left-hand mods put the G back in its QWERTY place at the minor cost of the less frequent B.
// For the D(v)bg mod to work, an Angle mod (such as the pc105awide-sl model) is necessary!
// • Stevep99's Hm right-hand mod gives the H a good bottom-row position at the cost of M
// • DreymaR's Hk right-hand variant avoids moving the M, bringing the H to K instead
// The Dbg/Hk mods are only intended for normal-staggered keyboards; Dvbg/Hm should work on matrix boards too.
// The Hk/Hm switches will cause trouble with Cmk[eD] locales that remap H (and in rare cases, D/G w/ DBG).
// In the Hk/Hm mods, any H in symbols/locale 'cmk_ed_us' sections must change from <AC06> to <AB06>/<AB07>
// Here are the Colemak "Curl-D/H" ergo mods by colemak forum users stevep99 and myself.
// See http://colemakmods.github.io/mod-dh/ and http://forum.colemak.com/viewtopic.php?id=1942 for more info.
// • Stevep99's Dvbg left-hand mod gives the D a good bottom-row place (<AB04>) at the cost of V and B.
// • DreymaR's Dbg left-hand variant is lighter and avoids separating V by replacing B with D directly.
// Both left-hand mods put the G back in its QWERTY place at the lesser cost of the less frequent B.
// For the D(v)bg mod to work as intended, an Angle mod (such as the pc105awide-sl model) is necessary!
// • Stevep99's Hm right-hand mod gives H a good bottom-row position at the cost of M.
// • DreymaR's Hk right-hand variant avoids moving M, swapping H and K instead.
// The Dbg/Hk mods are intended for normal-staggered keyboards; Dvbg/Hm works on matrix boards too.
// The Hk/Hm switches cause lv3-4 trouble with Cmk[eD] locales that remap H (and in rare cases, D(v)bg w/ D/G).
// In the Hk/Hm mods, any H in symbols/locale 'cmk_ed_us' sections must change from <AC06> to <AB06>/<AB07>.
// NOTE: The Curl-DH mod are implemented both as US English layouts and as options (e.g., misc:cmk_curl_dbghk).
hidden partial alphanumeric_keys
xkb_symbols "cmk-dvbg_ed" {
xkb_symbols "cmk_dvbg-hm_ed" {
// This is the Curl-DvbgHm ergo mod for Colemak, by stevep99.
include "colemak(cmk_dvbg_ed)"
include "colemak(cmk_hm_ed)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dbg-hk_ed" {
// This is the Curl-DbgHk ergo mod for Colemak, by DreymaR, keeping V and M in place.
include "colemak(cmk_dbg_ed)"
include "colemak(cmk_hk_ed)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dvbg_ed" {
// This is the 'Dvbg' loop for the Colemak Curl-D/H ergo mod by stevep99.
key <AD05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE T Cmk G
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
@ -249,7 +261,7 @@ xkb_symbols "cmk-dvbg_ed" {
};
hidden partial alphanumeric_keys
xkb_symbols "cmk-dbg_ed" {
xkb_symbols "cmk_dbg_ed" {
// This is the 'Dbg' loop for the Colemak Curl-D/H ergo mod, leaving the V in place.
key <AD05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE T Cmk G
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
@ -257,7 +269,7 @@ xkb_symbols "cmk-dbg_ed" {
};
hidden partial alphanumeric_keys
xkb_symbols "cmk-hm_ed" {
xkb_symbols "cmk_hm_ed" {
// This is the 'Hm' switch for the Colemak Curl-D/H ergo mod by stevep99.
// N isn't changed in this mod, but the Cmk[eD] arrow symbols are rearranged into a Vim-like line!
key <AC06> { [ m, M, multiply, leftarrow ] }; // QWE/Cmk H
@ -266,7 +278,7 @@ xkb_symbols "cmk-hm_ed" {
};
hidden partial alphanumeric_keys
xkb_symbols "cmk-hk_ed" {
xkb_symbols "cmk_hk_ed" {
// This is the 'Hk' switch for the Colemak Curl-D/H ergo mod, leaving the M in place.
key <AC06> { [ k, K, ccedilla, Ccedilla ] }; // QWE/Cmk H
key <AB06> { [ h, H, hstroke, Hstroke ] }; // QWE N Cmk K
@ -286,20 +298,32 @@ xkb_symbols "cmk-hk_ed" {
partial alphanumeric_keys
xkb_symbols "tarmak1_e" {
include "colemak(cmk_ed)"
// To exclude the partial (F)EKNJ loop in this step, include its mask below
// Also, comment out the F-J line below
// To exclude the partial (F)EKNJ loop in this step, include its mask and comment out the F-J line below
// (This would only be useful if you want to learn the LUI loop as a warmup; if so, comment out that too)
//include "colemak(tarmak_mask_fekn_to_eknj)"
include "colemak(tarmak_mask_dgt_to_gtf)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
// To include the standalone LUI loop in this step, comment out its mask below
include "colemak(tarmak_mask_lui_to_uil)"
key <AD03> { [ j, J, U0283, U01A9 ] }; // Cmk F - stray J
// NOTE: Re-enforcing of the V and B keys as below is only necessary when running a DBG/DVBG mod (above)
name[Group1]= "English/Intl (Tarmak1_E - Colemak transitional)";
};
// This is the first Tarmak step for those who want to learn the Curl-DbgHk mod; it includes the Curl-Hk mod.
// There is no step for the Curl-Hm mod, as it doesn't affect the first Tarmak step. It can be learnt independently.
partial alphanumeric_keys
xkb_symbols "tarmak1k_e" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_dgt_to_gtf)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
include "colemak(cmk_hk_ed)"
key <AD03> { [ j, J, U0283, U01A9 ] }; // Cmk F - stray J
// NOTE: Re-enforcing of the V and B keys as below is only necessary when running a DBG/DVBG mod (see above)
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE/Cmk B
name[Group1]= "English/Intl (Tarmak1_E - Colemak transitional)";
name[Group1]= "English/Intl (Tarmak1k_E - Colemak transitional w/ Curl-Hk)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
@ -310,15 +334,42 @@ xkb_symbols "tarmak2_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
// To include the standalone LUI loop in this step, comment out its mask below
include "colemak(tarmak_mask_lui_to_uil)"
key <AC05> { [ j, J, U0283, U01A9 ] }; // Cmk D - stray J
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
// key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
// key <AB05> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk B - stray J
name[Group1]= "English/Intl (Tarmak2_ET - Colemak transitional)";
};
// The Tarmak2bk(ET) step moves the B>T>F keys to their Colemak-Curl(DbgHk) positions, leaving the J at QWERTY 'B'.
partial alphanumeric_keys
xkb_symbols "tarmak2bk_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
//// For the Curl-DbgHk mod, both sides are activated at this point forward. (Activate it normally for step 34.)
include "colemak(cmk_dbg-hk_ed)"
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk B - stray J
name[Group1]= "English/Intl (Tarmak2bk_ET - Colemak transitional w/ Curl-DbgHk)";
};
// The Tarmak2vm(ET) step moves the B>T>F keys to their Colemak-Curl(DvbgHm) positions, leaving the J at QWERTY 'B'.
partial alphanumeric_keys
xkb_symbols "tarmak2vm_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
//// For the Curl-DvbgHm mod, activating the right-hand HM switch is still optional.
include "colemak(cmk_dvbg_ed)"
// include "colemak(cmk_dvbg-hm_ed)"
key <AB04> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk V - stray J
key <AB05> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk B
name[Group1]= "English/Intl (Tarmak2vm_ET - Colemak transitional w/ Curl-DvbgHm)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak3(ETR) step moves the R>S>D keys to their Colemak positions, leaving the J at QWERTY 'R'.
@ -326,7 +377,7 @@ partial alphanumeric_keys
xkb_symbols "tarmak3_etr" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
// To include the standalone LUI loop in this step, comment out its mask below
// To include the standalone LUI loop in this or any step, comment out its mask (below)
include "colemak(tarmak_mask_lui_to_uil)"
key <AD04> { [ j, J, U0283, U01A9 ] }; // Cmk P - stray J
name[Group1]= "English/Intl (Tarmak3_ETR - Colemak transitional)";

View File

@ -0,0 +1,89 @@
// $XKeyboardConfig$
// *****************************************************************************************
// ****** ******
// ***** Colemak layouts - adding locale variants in a consistent fashion *****
// ***** by OEystein Bech "DreymaR" Gadmar, 2012- *****
// ***** (copy this template to a new file then find/replace 'Esperanto'/'epo') *****
// ***** ('<LL>' is usually the ISO-3166 two-letter country code) *****
// ****** ******
// *****************************************************************************************
// ***********************************************
// *** In the symbols file for Esperanto ***
// *** (its filename is 'epo') ***
// ***********************************************
// --> OEystein Bech "DreymaR" Gadmar, 2014-01: Additions to xkb/symbols/epo
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Esperanto.
// 2006-01-01 Shai Coleman, http://colemak.com/
// See the Colemak forum topic on Cmk[eD] locales: http://forum.colemak.com/viewtopic.php?id=1458
// The 'keep local symbols' variant keeps the national symbol and special letter setup.
partial alphanumeric_keys
xkb_symbols "cmk_ed_ks" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
include "epo(colemak)" // remaps only AltGr mappings for Colemak C/G/H/J/S/U
name[Group1]= "Esperanto (Colemak[eD], keep local symbols)";
};
// The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard.
// For Esperanto, necessary local letters are added to designated flexible spots in the layout.
// For "writing" and "coding" subvariants, move the brackets between lv1-2 and lv3-4 as shown.
partial alphanumeric_keys
xkb_symbols "cmk_ed_us" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
name[Group1]= "Esperanto (Colemak[eD], unified symbols)";
// NEEDED: ĈĉĜĝĤĥĴĵŜŝ, Ŭŭ
// Esperanto letter frequencies: The accented letters add up, so allegedly 6% for the above 6 letters together
// NOTE: Added dead_circumflex to both shifted and unshifted LBracket, so it's easy to use with shifted letters
// key <AD11> { [ bracketleft, braceleft, dead_circumflex, dead_circumflex ] };
// key <AD12> { [ bracketright, braceright, ubreve, Ubreve ] };
key <AD11> { [ dead_circumflex, dead_circumflex, bracketleft, braceleft ] }; // common accent
key <AD12> { [ ubreve, Ubreve, bracketright, braceright ] }; // from <AC11>
key <AC06> { [ h, H, dstroke, Greek_alpha ] }; // keep đ/α
};
// <-- DreymaR: Additions to xkb/symbols/epo
// ***********************************************
// *** In the rules/evdev(+base).xml file ***
// *** Under the epo layout variantList ***
// ***********************************************
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Esperanto (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Esperanto (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
// ***********************************************
// *** In the rules/evdev(+base).lst file ***
// *** Under '! variant' (norm. epo) ***
// ***********************************************
cmk_ed_ks epo: Esperanto (Colemak[eD], keep local symbols)
cmk_ed_us epo: Esperanto (Colemak[eD], unified symbols)
// ***********************************************
// *** (In the main rules/evdev(+base) file ***
// *** no changes should be necessary.) ***
// ***********************************************
// *****************************************************************************************
// ****** ******
// ***** END of DreymaR's Colemak additions (Cmk[eD], National var.) *****
// ****** ******
// *****************************************************************************************

View File

@ -177,6 +177,76 @@ xkb_symbols "dvorak-ucw" {
include "level3(ralt_switch)"
};
// phonetic layout for Russian letters on an CZ (QWERTY) keyboard
// originaly created by Pavel Sorejs <sorejs@gmail.com>
partial alphanumeric_keys
xkb_symbols "rus" {
include "cz(qwerty)"
name[Group1]= "Russian (Czech, phonetic)";
key <AE01> { [ plus, ampersand, 1 , 1 ] };
key <AE02> { [ Cyrillic_hardsign, 2, 2 , 2 ] };
key <AE03> { [ Cyrillic_sha, Cyrillic_SHA, 3 , 3 ] };
key <AE04> { [ Cyrillic_che, Cyrillic_CHE, 4 , 4 ] };
key <AE05> { [ Cyrillic_shcha, Cyrillic_SHCHA, 5 , 5 ] };
key <AE06> { [ Cyrillic_zhe, Cyrillic_ZHE, 6 , 6 ] };
key <AE07> { [ quotedbl, 4, 7 , 7 ] };
key <AE08> { [ section, 5, 8 , 8 ] };
key <AE09> { [ dollar, 6, 9 , 9 ] };
key <AE10> { [ equal, 7, 0 , 0 ] };
key <AE11> { [ percent, 8 ] };
key <AE12> { [ apostrophe, 9 ] };
key <AB08> { [ comma, question ] };
key <AB09> { [ period, exclam ] };
key <AB10> { [ minus, slash ] };
key <AC11> { [ semicolon, colon ] };
key <LSGT> { [ bar, brokenbar ] };
key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
key <AD01> { [ numerosign, 1, q, Q ] };
key <AD02> { [ Cyrillic_yu, Cyrillic_YU, w, W ] };
key <AD03> { [ Cyrillic_ie, Cyrillic_IE, e, E ] };
key <AD04> { [ Cyrillic_er, Cyrillic_ER, r, R ] };
key <AD05> { [ Cyrillic_te, Cyrillic_TE, t, T ] };
key <AD06> { [ Cyrillic_yeru, Cyrillic_YERU, y, Y ] };
key <AD07> { [ Cyrillic_u, Cyrillic_U, u, U ] };
key <AD08> { [ Cyrillic_i, Cyrillic_I, i, I ] };
key <AD09> { [ Cyrillic_o, Cyrillic_O, o, O ] };
key <AD10> { [ Cyrillic_pe, Cyrillic_PE, p, P ] };
key <AD11> { [ Cyrillic_e, Cyrillic_E, bracketleft, division ] };
key <AD12> { [ parenright, parenleft, bracketright, multiply ] };
key <AC01> { [ Cyrillic_a, Cyrillic_A, a, A ] };
key <AC02> { [ Cyrillic_es, Cyrillic_ES, s, S ] };
key <AC03> { [ Cyrillic_de, Cyrillic_DE, d, D ] };
key <AC04> { [ Cyrillic_ef, Cyrillic_EF, f, F ] };
key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, g, G ] };
key <AC06> { [ Cyrillic_ha, Cyrillic_HA, h, H ] };
key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI, j, J ] };
key <AC08> { [ Cyrillic_ka, Cyrillic_KA, k, K ] };
key <AC09> { [ Cyrillic_el, Cyrillic_EL, l, L ] };
key <AC10> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, less, greater ] };
key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, z, Z ] };
key <AB02> { [ Cyrillic_ya, Cyrillic_YA, x, X ] };
key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, c, C ] };
key <AB04> { [ Cyrillic_ve, Cyrillic_VE, v, V ] };
key <AB05> { [ Cyrillic_be, Cyrillic_BE, b, B ] };
key <AB06> { [ Cyrillic_en, Cyrillic_EN, n, N ] };
key <AB07> { [ Cyrillic_em, Cyrillic_EM, m, M ] };
key <BKSL> { [ backslash, brokenbar ] };
include "level3(ralt_switch)"
};
// EXTRAS:
partial alphanumeric_keys

View File

@ -43,6 +43,7 @@ xkb_symbols "basic" {
key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
key <AB09> { [ period, colon, U2026, division ] };
key <AB10> { [ minus, underscore, endash, emdash ] };
key <LSGT> { [ less, greater, bar, NoSymbol ] };
include "kpdl(comma)"
@ -338,7 +339,7 @@ xkb_symbols "neo_base" {
// Alphanumeric-keys
// ===============
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
// Tab as Multi_key (Compose)
// --------------------------------------------------------------
@ -366,7 +367,7 @@ xkb_symbols "neo_base" {
// Top row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ] };
key <AD02> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] };
key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] };
@ -381,12 +382,12 @@ xkb_symbols "neo_base" {
key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD12> { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] };
// Middle row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AC01> { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] };
key <AC02> { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] };
key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] };
@ -411,12 +412,12 @@ xkb_symbols "neo_base" {
key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AB08> { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] };
key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
// Space key
// --------------------------------------------------------------
@ -472,8 +473,8 @@ xkb_symbols "neo" {
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch)"
include "level5(ralt_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};
// Copied from macintosh_vndr/de
@ -636,6 +637,40 @@ xkb_symbols "ru" {
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "pl" {
// Combined layout for entering both German and Polish symbols on a German physical
// keyboard. Based on German (eliminate dead keys) and Polish (basic). Polish diacritics
// on AltGr+"acelnosxz". EuroSign moved to AE04 (AltGr+dollar key) to avoid conflict
// with Polish eogonek.
//
// https://github.com/kontextify/xkeyboard-config
include "latin(type4)"
name[Group1]= "Polish (Germany, eliminate dead keys)";
include "de(nodeadkeys)"
key <AE04> { [ 4, dollar, EuroSign, currency ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E, eogonek, Eogonek ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AC01> { [ a, A, aogonek, Aogonek ] };
key <AC02> { [ s, S, sacute, Sacute ] };
key <AC04> { [ f, F ] };
key <AD06> { [ z, Z, zabovedot, Zabovedot ] };
key <AB02> { [ x, X, zacute, Zacute ] };
key <AB03> { [ c, C, cacute, Cacute ] };
key <AB06> { [ n, N, nacute, Nacute ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "htcdream" {
include "inet(htcdream)"
@ -753,11 +788,11 @@ partial alphanumeric_keys
xkb_symbols "adnw_base" {
include "de(neo_base)"
key.type[Group1] = "EIGHT_LEVEL";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD04> { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] };
key <AB04> { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] };
key <AD02> { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] };
key <AD03> { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] };
@ -781,7 +816,7 @@ xkb_symbols "adnw_base" {
key <AC11> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] };
key <AB01> { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] };
key <AB02> { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] };
key <AB03> { [ odiaeresis, odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] };
key <AB03> { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] };
key <AB05> { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] };
key <AB06> { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] };
@ -800,8 +835,63 @@ xkb_symbols "adnw" {
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch)"
include "level5(ralt_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};
partial alphanumeric_keys
xkb_symbols "koy_base" {
include "de(neo_base)"
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD02> { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] };
key <AD04> { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] };
key <AD03> { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] };
key <AD05> { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] };
key <AD06> { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] };
key <AD07> { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] };
key <AD08> { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] };
key <AD09> { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] };
key <AD10> { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] };
key <AD11> { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] };
key <AC01> { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] };
key <AC02> { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] };
key <AC03> { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] };
key <AC04> { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] };
key <AC05> { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] };
key <AC06> { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] };
key <AC07> { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] };
key <AC08> { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] };
key <AC09> { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] };
key <AC10> { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] };
key <AC11> { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] };
key <AB01> { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] };
key <AB02> { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] };
key <AB03> { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] };
key <AB04> { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] };
key <AB05> { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] };
key <AB06> { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] };
key <AB08> { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] };
key <AB09> { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] };
key <AB10> { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] };
};
partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "koy" {
include "de(koy_base)"
name[Group1]= "German (KOY)";
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};
// --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/de

View File

@ -0,0 +1,150 @@
// Esperanto keyboard maps -- "Ekverto"
//
// Ekverto A ("legacy") (2004-01-10)
// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
//
// Ekverto B ("basic") (2006-12-02)
// Benno Schulenberg (Beno Sĥilenberĥ) <bensberg@justemail.net>
// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
default partial alphanumeric_keys
xkb_symbols "basic" {
include "us(basic)"
name[Group1]= "Esperanto";
key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
key <AD01> { [ scircumflex, Scircumflex, q, Q ] };
key <AD02> { [ gcircumflex, Gcircumflex, w, W ] };
key <AB02> { [ ccircumflex, Ccircumflex, x, X ] };
key <AD06> { [ ubreve, Ubreve, y, Y ] };
key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
key <AD11> { [ jcircumflex, Jcircumflex, bracketleft, braceleft ] };
key <AD12> { [ hcircumflex, Hcircumflex, bracketright, braceright ] };
key <AD09> { [ o, O, braceleft, braceleft ] };
key <AD10> { [ p, P, braceright, braceright ] };
key <AC01> { [ a, A, leftsinglequotemark, NoSymbol ] };
key <AC02> { [ s, S, rightsinglequotemark, NoSymbol ] };
key <AC03> { [ d, D, leftdoublequotemark, NoSymbol ] };
key <AC04> { [ f, F, rightdoublequotemark, NoSymbol ] };
key <AB06> { [ n, N, endash, endash ] };
key <AB07> { [ m, M, emdash, emdash ] };
key.type[Group1] = "FOUR_LEVEL";
key <AE05> { [ 5, percent, EuroSign, EuroSign ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "legacy" {
name[Group1]= "Esperanto (displaced semicolon and quote, obsolete)";
key.type[Group1] = "FOUR_LEVEL";
key <TLDE> { [ grave, asciitilde, NoSymbol, NoSymbol ] };
key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
key <AE02> { [ 2, quotedbl, NoSymbol, NoSymbol ] };
key <AE03> { [ 3, numbersign, NoSymbol, NoSymbol ] };
key <AE04> { [ 4, dollar, NoSymbol, NoSymbol ] };
key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
key <AE06> { [ 6, apostrophe, NoSymbol, NoSymbol ] };
key <AE07> { [ 7, ampersand, NoSymbol, NoSymbol ] };
key <AE08> { [ 8, asterisk, NoSymbol, NoSymbol ] };
key <AE09> { [ 9, parenleft, NoSymbol, NoSymbol ] };
key <AE10> { [ 0, parenright, NoSymbol, NoSymbol ] };
key <AE11> { [ minus, underscore, NoSymbol, NoSymbol ] };
key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
key <AB08> { [ comma, semicolon, NoSymbol, NoSymbol ] };
key <AB09> { [ period, colon, NoSymbol, NoSymbol ] };
key <AB10> { [ slash, question, NoSymbol, NoSymbol ] };
key <AD11> { [ bracketleft, braceleft, NoSymbol, NoSymbol ] };
key <AD12> { [ bracketright, braceright, NoSymbol, NoSymbol ] };
key <BKSL> { [ backslash, bar, NoSymbol, NoSymbol ] };
key <LSGT> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
key <AD01> { [ scircumflex, Scircumflex, at, NoSymbol ] };
key <AD02> { [ jcircumflex, Jcircumflex, asciicircum, NoSymbol ] };
key <AD03> { [ e, E, EuroSign, NoSymbol ] };
key <AD04> { [ r, R, emdash, NoSymbol ] };
key <AD05> { [ t, T, endash, NoSymbol ] };
key <AD06> { [ gcircumflex, Gcircumflex, NoSymbol, NoSymbol ] };
key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
key <AC01> { [ a, A, less, NoSymbol ] };
key <AC02> { [ s, S, greater, NoSymbol ] };
key <AC03> { [ d, D, leftdoublequotemark, NoSymbol ] };
key <AC04> { [ f, F, rightdoublequotemark, NoSymbol ] };
key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
key <AC06> { [ h, H, NoSymbol, NoSymbol ] };
key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
key <AC10> { [ ubreve, Ubreve, NoSymbol, NoSymbol ] };
key <AC11> { [ hcircumflex, Hcircumflex, NoSymbol, NoSymbol ] };
key <AB01> { [ z, Z, leftsinglequotemark, NoSymbol ] };
key <AB02> { [ ccircumflex, Ccircumflex, rightsinglequotemark, NoSymbol ] };
key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
key <AB04> { [ v, V, NoSymbol, NoSymbol ] };
key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
include "level3(ralt_switch)"
};
// Add the Esperanto supersigned letters to their related keys on a Qwerty keyboard.
// This is a generic "component" that is not used by the other layouts in this file,
// but is meant to be applied to any Qwerty layout. If you have any questions, ask
// J. Pablo Fernández <pupeno@pupeno.com>.
partial
xkb_symbols "qwerty" {
key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
key <AC05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
key <AC07> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
key <AC02> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AD07> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};
// Add the Esperanto supersigned letters to their related keys in a
// Dvorak layout. Similar comment as above applies.
partial
xkb_symbols "dvorak" {
key <AD08> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
key <AD07> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
key <AC07> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
key <AB03> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
key <AC10> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AC04> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};
// Add the Esperanto supersigned letters to their related keys in a
// Colemak layout. Similar comment as above applies.
partial
xkb_symbols "colemak" {
key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
key <AD05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
key <AD06> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
key <AC03> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AD08> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};

View File

@ -86,8 +86,8 @@ xkb_symbols "dvorak" {
key <AE11> {[ apostrophe, question, dead_macron, dead_ogonek ]};
key <AE12> {[ exclamdown, questiondown, dead_breve, dead_abovedot ]};
key <AD01> {[ period, colon, less ]};
key <AD02> {[ comma, semicolon, greater ]};
key <AD01> {[ period, colon, less, guillemotleft ]};
key <AD02> {[ comma, semicolon, greater, guillemotright ]};
key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
key <AD04> {[ p, P, paragraph ]};
key <AD05> {[ y, Y, yen ]};

View File

@ -8,11 +8,11 @@
// These keys are modified/transposed by holding down the 'extend key' (CapsLock by default):
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |Esc + |F1 <> |F2 << |F3 >> |F4 <> |F5 <> |F6 << |F7 >> |F8 <> |F9 <> |F10<> |F11<> |F12<> |
// | | Pause| Rew | Fwd | Eject| Sleep| Bri- | Bri+ | MyCmp| WWW | Mail | App1 | App2 |
// | | Pause| Rew | Fwd | Eject| Refr | Bri- | Bri+ | Sleep| WWW | Mail | App1 | App2 |
// | Caps | Play | Prev | Next | Stop | Mute | Vol- | Vol+ | Media| Home | Srch | File | Calc |
// +======+======+======+======+======+======+======+======+======+======+======+======+======+
// |` €€€ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |
// | Del | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
// | Cust | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |Tab |Q €€€ |W *** |F <<> |P <>> |G *** |J ### |L ### |U ### |Y ### |; €€€ |[ €€€ |] €€€ |
// | | Esc | *WhUp| BrBck| BrFwd| *MUp | PgUp | Home | Up | End | Del | Esc | Ins |
@ -21,28 +21,30 @@
// | ++++ | Alt | *WhDn| Shift| Ctrl | *MDn | PgDn | Left | Down | Right| Back | Menu | BrFav|
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |_ *** |Z €€€ |X === |C === |V === |B *** |K *** |M *** |, *** |. *** |/ €€€ |Spc € |Entr€ |
// | *MOn | Undo | Cut | Copy | Paste| *Bt1 | *Bt2 | *Bt3 | *MLe | *MRi | Multi| Enter| Break|
// | *MOn | Undo | Cut | Copy | Paste| *Bt1 | *Bt2 | *Bt3 | *MLe | *MRi | Multi| Enter| PrtSc|
// +------+------+------+------+------+------+------+------+------+------+------+-------------+
// Legend: # Movement; + Modifiers; = GUI edit; * Mouse; <> MultiMedia; € Various commands.
//
// KeyPad overlay with nav block to the left (lv7-8):
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |` €€€ |1 |2 |3 |4 £ |5 € |6 |7 |8 |9 |0 |- |= |
// | Del | ! | @ | # | $ | % | ^ | KP_7 | KP_8 | KP_9 | KP_* | KP_- | KP_= |
// | Cust | ! | @ | # | $ | % | ^ | KP_7 | KP_8 | KP_9 | KP_* | KP_- | KP_= |
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |Tab |Q ### |W ### |F ### |P €€€ |G €€€ |J ### |L |U |Y |; |[ { |] } |
// | | Home | Up | End | Del | Esc | PgUp | KP_4 | KP_5 | KP_6 | KP_+ | ( | ) |
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |Caps+ |A ### |R ### |S ### |T €€€ |D |H ### |N |E |I |O |' " |\ | |
// | ++++ | Left | Down | Right| Back | K_Bgn| PgDn | KP_1 | KP_2 | KP_3 | K_Ent| ' | \ |
// | ++++ | Left | Down | Right| Back | K_Lck| PgDn | KP_1 | KP_2 | KP_3 | K_Ent| ' | \ |
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
// |_ *** |Z €€€ |X === |C === |V === |B *** |K |M |, ; |. : |/ |Spc |Entr |
// | *MOn | Undo | Cut | Copy | Paste| *Bt1 | K_Lck| KP_0 | , | KP_. | KP_/ | Spc | K_Ent|
// |_ *** |Z €€€ |X === |C === |V === |B *** |K ; |M |, |. |/ |Spc |Entr |
// | *MOn | Undo | Cut | Copy | Paste| *Bt1 | , | KP_0 | KP_0 | KP_. | KP_/ | Spc | K_Ent|
// +------+------+------+------+------+------+------+------+------+------+------+------+------+
//
// NOTE: A lv7 (Level5+Level3) modifier might be necessary to use the KeyPad level sensibly
// One idea is to use AltGr+Caps as a lv7_lock (Caps+AltGr is already lv7_switch)
// NOTE: If a hex pad is needed, the lv7+KBHDJG -> ABCDEF mappings are one solution
// NOTE: If a hex pad is needed, the lv7(8?)+KBHDJG -> ABCDEF mappings are one solution
// NOTE: There's a KP key named KP_BEGIN; it seems like a hack? Ignored for now.
// NOTE: I've duplicated KP_0 to make it easy to hit. Maybe KP_Enter should've been helped too...?
default partial
xkb_symbols "basic" {
@ -57,20 +59,24 @@ xkb_symbols "lv5" {
// key.type[group1]="EIGHT_LEVEL"; // (Caps)Lock state not used on these keys
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC"; // Lock affects lv1/5 but not lv3/7 - a bit inflexible but OK I guess
// TODO: If I set lv5-6 of Esc to Caps_Lock, lv1-4 are CapsLock PLUS Esc! Try a LockMods action?
// key <ESC> { [ Escape , Escape , Escape , Escape , Caps_Lock , Caps_Lock ] };
key <SCLK> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Caps_Lock , Caps_Lock , // CapsLock
Caps_Lock , Caps_Lock ], // CapsLock
// NOTE: Earlier, if I set lv5-6 of Esc to Caps_Lock, lv1-4 would be CapsLock PLUS Esc! Is this fixed now?
// If not, I might not have to send the Caps_Lock keysymbol as long as the LockMods action is there?
key <ESC> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Caps_Lock , Caps_Lock , // Caps_Lock
Caps_Lock , Caps_Lock ], // Caps_Lock
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
SetMods(mods=Lock) , SetMods(mods=Lock) , // Lock mod for <CAPS>
NoAction() , NoAction() ]
}; // ScrollLock
LockMods(mods=Lock) , LockMods(mods=Lock) , // Lock mod for <CAPS>
LockMods(mods=Lock) , LockMods(mods=Lock) ] // Lock mod for <CAPS>
}; // ; Esc (one could also use <SCLK> aka ScrollLock for Caps, if desired)
key <FK01> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioPlay , XF86AudioPause ],
// NOTE: Many are used to Ctrl+Alt+<FK##> being XF86_Switch_VT_## keys! This is lost with Extend. Use Ext+AltGr+<FK##> now.
key <FK01> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
XF86AudioPlay , XF86AudioPause , // Play/Pause
XF86_Switch_VT_1 , XF86_Switch_VT_1 ], // Virtual Terminal
// key <FK01> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioPlay , XF86AudioPause ],
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
Redirect(key=<I208>,clearmods=all), Redirect(key=<I209>,clearmods=all), // <I208>/<I209>(‡‡)
NoAction() , NoAction() ]
SwitchScreen(screen=1,!same) , SwitchScreen(screen=1,!same) ]
}; // F01
key <FK02> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioPrev , XF86AudioRewind ],
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
@ -87,9 +93,9 @@ xkb_symbols "lv5" {
Redirect(key=<I174>,clearmods=all), Redirect(key=<I169>,clearmods=all), // <I174>/<I169>(‡‡)
NoAction() , NoAction() ]
}; // F04
key <FK05> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioMute , XF86Sleep ],
key <FK05> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioMute , XF86Reload ],
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
Redirect(key=<MUTE>,clearmods=all), Redirect(key=<I150>,clearmods=all), // <MUTE>/<I150>(‡‡)
Redirect(key=<MUTE>,clearmods=all), Redirect(key=<I181>,clearmods=all), // <MUTE>/<I181>(‡‡)
NoAction() , NoAction() ]
}; // F05
key <FK06> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioLowerVolume , XF86MonBrightnessDown ],
@ -102,10 +108,10 @@ xkb_symbols "lv5" {
Redirect(key=<VOL+>,clearmods=all), Redirect(key=<I233>,clearmods=all), // <VOL+>/<I233>(‡‡)
NoAction() , NoAction() ]
}; // F07
key <FK08> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioMedia , XF86MyComputer ],
key <FK08> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86AudioMedia , XF86Sleep ],
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
Redirect(key=<I234>,clearmods=all), Redirect(key=<I165>,clearmods=all), // <I234>/<I165>(‡‡)
NoAction() , NoAction() ] // What about XF86Terminal? Not in evdev
Redirect(key=<I234>,clearmods=all), Redirect(key=<I150>,clearmods=all), // <I234>/<I150>(‡‡)
NoAction() , NoAction() ]
}; // F08
key <FK09> { symbols[Group1]=[ NoSymbol,NoSymbol,NoSymbol,NoSymbol, XF86HomePage , XF86WWW ],
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
@ -206,6 +212,7 @@ xkb_symbols "lv5" {
Redirect(key=<FK12>,clearmods=LevelFive), Redirect(key=<FK12>,clearmods=LevelFive),
NoAction() , NoAction() ]
}; // = +
// key <BACK> {}; // BackSpace
key <AD01> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Escape , Escape , // Esc
@ -292,10 +299,10 @@ xkb_symbols "lv5" {
NoAction() , NoAction() ]
}; // ] }
key <BKSL> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
XF86Favorites , XF86Favorites , // BrFav
XF86Favorites , XF86MyComputer , // BrFav
backslash , bar ], // BKSL
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
Redirect(key=<I164>,clearmods=all), Redirect(key=<I164>,clearmods=all), // <I164>(‡‡)
Redirect(key=<I164>,clearmods=all), Redirect(key=<I165>,clearmods=all), // <I164>/<I165>(‡‡)
NoAction() , NoAction() ]
}; // \ |
@ -329,7 +336,7 @@ xkb_symbols "lv5" {
}; // Cmk T
key <AC05> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Pointer_Down , Pointer_Down , // PtrDn(††)
KP_Begin , KP_Begin ], // KP_Begin?!?
Num_Lock , Num_Lock ], // NumLock
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
MovePtr(x=+0,y=+8) , MovePtr(x=+0,y=+8) , // PtrDn(††)
NoAction() , NoAction() ]
@ -423,7 +430,7 @@ xkb_symbols "lv5" {
}; // B
key <AB06> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Pointer_Button2 , Pointer_Button2 , // MBt(††)
Num_Lock , Num_Lock ], // NumLock
comma , semicolon ], // , ;
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
PtrBtn(button=2) , PtrBtn(button=2) , // PtrMBt
NoAction() , NoAction() ]
@ -437,7 +444,7 @@ xkb_symbols "lv5" {
}; // M
key <AB08> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Pointer_Left , Pointer_Left , // PtrLe(††)
comma , semicolon ], // , ;
KP_0 , U21D5 ], // KP_0 ↕ ⇕
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
MovePtr(x=-8,y=+0) , MovePtr(x=-8,y=+0) , // PtrLe(††)
NoAction() , NoAction() ]
@ -454,16 +461,18 @@ xkb_symbols "lv5" {
KP_Divide , KP_Divide ] // KP_/
}; // / ?
key <SPCE> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
// NOTE: The Space key should preserve the Shift state; it's special because both levels have the same symbol.
// One might use a key type that has the 'preserve[Shift] = Shift;' property. However, I fix it directly.
key <SPCE> { symbols[Group1]=[ NoSymbol , NoSymbol , NoSymbol , NoSymbol ,
Return , Return , // Enter
space , nobreakspace ], // Space
actions[Group1]=[NoAction(),NoAction(),NoAction(),NoAction(),
actions[Group1]=[NoAction(),SetMods(modifiers=Shift),NoAction(),SetMods(modifiers=Shift),
Redirect(key=<RTRN>) , Redirect(key=<RTRN>) , // <RTRN>
NoAction() , NoAction() ]
}; // <SPCE>
// key <CAPS> { [ NoSymbol,NoSymbol,NoSymbol,NoSymbol ] }; // CapsLock
// §§: XCV Cut/Copy/Paste seem OK in Firefox but not Gedit!? This is a GTK weakness
// §§: XCV Cut/Copy/Paste seem OK in Firefox but not Gedit!? This is a GTK weakness I think.
// Some bind fiddling in ~/.gtkrc-2.0 and ~/.config/gtk-3.0/gtk.css can get this working
// ††: 'Pointer_'mousing needs enabling! Real KP_ keys work but not the Pointer_ mousing symbols
// (In the Settings GUI there's a Shift+NumLock option for this, but Pointer_EnableKeys works too)
@ -502,6 +511,7 @@ xkb_symbols "lv5" {
// But: The 4 groups are really meant for different locales/scripts/layouts that some people (me!) need.
// ==========================================================================================================
//// An attempt at using the Overlay functionality for modifier Extend mappings.
//// If the Extend key could both switch lv5 AND Overlay1, maybe the A/S/T modifiers would work?
//// The idea would be to map only these as overlay keys, and the rest as lv5+
@ -597,4 +607,3 @@ xkb_symbols "lv5" {
// key <SPCE> { overlay1 = <RTRN> }; //Entr
// key <CAPS> { [ Overlay1_Enable ], overlay1 = <CAPS> };
//};

View File

@ -79,7 +79,6 @@ xkb_symbols "kotoistus" {
include "nbsp(level3)"
include "kpdl(comma)"
include "level3(ralt_switch)"
include "compose(rwin)"
};
partial alphanumeric_keys
@ -98,7 +97,7 @@ xkb_symbols "classic" {
name[Group1]="Finnish (classic)";
};
partial alphanumeric_keys hidden
hidden partial alphanumeric_keys
xkb_symbols "fi" {
// Classic Finnish keyboard layout with dead keys
@ -212,6 +211,76 @@ xkb_symbols "sun_type6" {
include "sun_vndr/fi(sun_type6)"
};
partial
xkb_symbols "das" {
// This is DAS layout for typing Finnish. It is originally designed by
// Cristian Seres (cseres at iki.fi).
// More information about DAS: http://c.seres.fi/DAS_en.html
// This xkeyboard layout is originally made by Joel Lehtonen,
// (joel.lehtonen at iki.fi) on 2008-01-14. He released it under Public
// domain.
name[Group1]="Finnish (DAS)";
key <AE01> { [ 1, exclam, section ] };
key <AE02> { [ 2, quotedbl, twosuperior ] };
key <AE03> { [ 3, at, sterling ] };
key <AE04> { [ 4, EuroSign, dollar ] };
key <AE05> { [ 5, percent, onehalf ] };
key <AE06> { [ 6, ampersand ] };
key <AE07> { [ 7, braceleft ] };
key <AE08> { [ 8, parenleft, bracketleft ] };
key <AE09> { [ 9, parenright, bracketright ] };
key <AE10> { [ 0, braceright, degree ] };
key <AE11> { [ plus, question, currency ] };
key <AE12> { [ equal, numbersign ] };
key <AD01> { [ p, P, Greek_pi ] };
key <AD02> { [ h, H ] };
key <AD03> { [ r, R, dead_circumflex ] };
key <AD04> { [ k, K, dead_caron ] };
key <AD05> { [ less, greater ] };
key <AD06> { [ apostrophe, bar ] };
key <AD07> { [ w, W ] };
key <AD08> { [ u, U ] };
key <AD09> { [ y, Y ] };
key <AD10> { [ b, B ] };
key <AD11> { [ q, Q ] };
key <AD12> { [ z, Z, zcaron, Zcaron ] };
key <AC01> { [ s, S, scaron, Scaron ] };
key <AC02> { [ l, L, dead_acute ] };
key <AC03> { [ n, N, dead_grave ] };
key <AC04> { [ t, T, dead_diaeresis ] };
key <AC05> { [ v, V ] };
key <AC06> { [ g, G ] };
key <AC07> { [ a, A ] };
key <AC08> { [ i, I ] };
key <AC09> { [ o, O ] };
key <AC10> { [ e, E ] };
key <AC11> { [ c, C ] };
key <TLDE> { [ backslash, dead_tilde ] };
key <BKSL> { [ asterisk, slash ] };
key <LSGT> { [ f, F ] };
key <AB01> { [ x, X ] };
key <AB02> { [ d, D ] };
key <AB03> { [ m, M, mu ] };
key <AB04> { [ j, J ] };
key <AB05> { [ aring, Aring ] };
key <AB06> { [ odiaeresis, Odiaeresis, oe, OE ] };
key <AB07> { [ adiaeresis, Adiaeresis, ae, AE ] };
key <AB08> { [ comma, semicolon ] };
key <AB09> { [ period, colon ] };
key <AB10> { [ minus, underscore, U2013, dead_macron ] };
key <SPCE> { [ space, space, space, nobreakspace ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
include "compose(rwin)"
};
// --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/fi
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Finnish.
// 2006-01-01 Shai Coleman, http://colemak.com/

View File

@ -127,7 +127,7 @@ xkb_symbols "oss" {
include "latin"
include "level3(ralt_switch)"
include "nbsp(level4nl)"
include "nbsp(level4n)"
include "keypad(oss)"
name[Group1]="French (alternative)";
@ -986,6 +986,92 @@ partial alphanumeric_keys
include "sun_vndr/fr(sun_type6)"
};
partial alphanumeric_keys
xkb_symbols "azerty" {
name[Group1]="French (Azerty)";
include "level3(ralt_switch)"
// French AZERTY-Keyboard layout
// Author : 2015, Mats Blakstad <mats @ globalbility.org>
// Based on the layout at https://en.wikipedia.org/wiki/File:KB_France.svg
// LAYOUT OVERVIEW
// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
// | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ° | + | <-- |
// | ² | & | é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
// ========================================================================
// | |<- | A | Z | E | R | T | Y | U | I | O | P | ¨ | $ | , |
// | ->| | a | z | e €| r | t | y | u | i | o | p | ^ | £ ¤| <-' |
// ===================================================================¬ |
// | | Q | S | D | F | G | H | J | K | L | M | % | µ | |
// | MAJ | q | s | d | f | g | h | j | k | l | m | ù | * | |
// ========================================================================
// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
// | | | < | w | x | c | v | b | n | , | ; | : | ! | | |
// ========================================================================
// | | | | | | | | |
// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
// First row
key <TLDE> { [ twosuperior ] };
key <AE01> { [ ampersand, 1 ] };
key <AE02> { [ eacute, 2, asciitilde ] };
key <AE03> { [ quotedbl, 3, numbersign ] };
key <AE04> { [ apostrophe, 4, braceleft ] };
key <AE05> { [ parenleft, 5, bracketleft ] };
key <AE06> { [ minus, 6, bar ] };
key <AE07> { [ egrave, 7, grave ] };
key <AE08> { [ underscore, 8, backslash ] };
key <AE09> { [ ccedilla, 9, asciicircum ] };
key <AE10> { [ agrave, 0, at ] };
key <AE11> { [ parenright, degree, bracketright ] };
key <AE12> { [ equal, plus, braceright ] };
// Second row
key <AD01> { [ a, A ] };
key <AD02> { [ z, Z ] };
key <AD03> { [ e, E, EuroSign ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U ] };
key <AD08> { [ i, I ] };
key <AD09> { [ o, O ] };
key <AD10> { [ p, P ] };
key <AD11> { [ dead_circumflex,dead_diaeresis ] };
key <AD12> { [ dollar, sterling, currency ] };
// Third row
key <AC01> { [ q, Q ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K ] };
key <AC09> { [ l, L ] };
key <AC10> { [ m, M ] };
key <AC11> { [ ugrave, percent ] };
key <BKSL> { [ asterisk, mu ] };
// Fourth row
key <LSGT> { [ less, greater ] };
key <AB01> { [ w, W ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ comma, question ] };
key <AB08> { [ semicolon, period ] };
key <AB09> { [ colon, slash ] };
key <AB10> { [ exclam, section ] };
};
// --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/fr
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for French.
// 2006-01-01 Shai Coleman, http://colemak.com/

View File

@ -322,12 +322,12 @@ partial modifier_keys
xkb_symbols "ctrls_toggle" {
virtual_modifiers LControl, RControl;
key <LCTL> {
type[Group1]="PC_RCONTROL_LEVEL2",
type[Group1]="PC_CONTROL_LEVEL2",
symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
virtualMods= LControl
};
key <RCTL> {
type[Group1]="PC_LCONTROL_LEVEL2",
type[Group1]="PC_CONTROL_LEVEL2",
symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= RControl
};
@ -410,7 +410,7 @@ xkb_symbols "alt_caps_toggle" {
};
};
partial hidden modifier_keys
hidden partial modifier_keys
xkb_symbols "olpc" {
key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
};

View File

@ -205,7 +205,7 @@ xkb_symbols "biblical" {
key <AE02> { [ 2, U0599, VoidSymbol, at ] };
key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] };
key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] };
key <AE05> { [ 5, VoidSymbol, U200D, percent ] };
key <AE05> { [ 5, U05BA, U200D, percent ] };
key <AE06> { [ 6, U05B9, U200C, asciicircum ] };
key <AE07> { [ 7, U05BF, U034F, ampersand ] };
key <AE08> { [ 8, U05C2, U200E, asterisk ] };

View File

@ -23,6 +23,7 @@ xkb_symbols "basic" {
key <AD11> { [ eth, ETH, dead_diaeresis, dead_abovering ] };
key <AD12> { [apostrophe, question, asciitilde, dead_macron ] };
key <AC03> { [ d, D, U201e, U201c ] };
key <AC10> { [ ae, AE, asciicircum, dead_doubleacute ] };
key <AC11> { [dead_acute, dead_acute, dead_circumflex, dead_caron ] };
key <TLDE> { [dead_abovering, dead_diaeresis, notsign, hyphen ] };
@ -87,6 +88,12 @@ xkb_symbols "nodeadkeys" {
// * 2006-01-14:
// Revised the comments in the file
//
// * 2013-05-30:
// Renamed the old keyboard layout and created a new one that conforms with the later
// model Apple Laptop and Aluminium USB/Bluetooth keyboards (A1243/A1255 and later)
// that are used with the more recent versions of OS X. Also replaced some Unicode
// codes with proper symbol names.
//
// = NOTES
// * 20 characters in this keymap have no named character defined in
// include/keysymdef.h and as a result their Unicode code points in
@ -106,68 +113,134 @@ xkb_symbols "nodeadkeys" {
// you're able to get it running with such a keyboard
// Copied from macintosh_vndr/is
xkb_symbols "mac_legacy" {
name[Group1]= "Icelandic (Macintosh, legacy)";
//-- Row 5 (E) --//
key <TLDE> { [ sterling, section, UF8FF, apostrophe ] };
key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
key <AE03> { [ 3, numbersign, U2122, sterling ] };
key <AE04> { [ 4, dollar, U00A2, EuroSign ] };
key <AE05> { [ 5, percent, U2030, infinity ] };
key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
key <AE07> { [ 7, slash, backslash, U00F7 ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
key <AE09> { [ 9, parenright, bracketright, braceright ] };
key <AE10> { [ 0, equal, U2260, U2248 ] };
key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
//-- Row 4 (D) --//
key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
key <AD02> { [ w, W, U2211, VoidSymbol ] };
key <AD03> { [ e, E, dead_grave, VoidSymbol ] };
key <AD04> { [ r, R, registered, VoidSymbol ] };
key <AD05> { [ t, T, degree, VoidSymbol ] };
key <AD06> { [ y, Y, yen, VoidSymbol ] };
key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
key <AD08> { [ i, I, U0131, U00AA ] };
key <AD09> { [ o, O, dead_circumflex, U00BA ] };
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, U201e, U201c ] };
key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
key <AC03> { [ d, D, U2202, U2DA ] };
key <AC04> { [ f, F, U192, macron ] };
key <AC05> { [ g, G, copyright, breve ] };
key <AC06> { [ h, H, bar, VoidSymbol ] };
key <AC07> { [ j, J, U2206, U2dd ] };
key <AC08> { [ k, K, U00AC, VoidSymbol ] };
key <AC09> { [ l, L, U2026, caron ] };
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
//-- Row 2 (B) --//
key <LSGT> { [ less, greater, section, UF8FF ] };
key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, U221A, U25CA ] };
key <AB05> { [ b, B, U222B, VoidSymbol ] };
key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
key <AB07> { [ m, M, U00B5, VoidSymbol ] };
key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
key <AB09> { [ period, colon, greaterthanequal, guillemotright ] };
key <AB10> { [ thorn, Thorn, U2019, U201d ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "mac" {
name[Group1]= "Icelandic (Macintosh)";
//-- Row 5 (E) --//
key <TLDE> { [ sterling, section, UF8FF, apostrophe ] };
key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
key <AE03> { [ 3, numbersign, U2122, sterling ] };
key <AE04> { [ 4, dollar, U00A2, EuroSign ] };
key <AE05> { [ 5, percent, U2030, infinity ] };
key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
key <AE07> { [ 7, slash, backslash, U00F7 ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
key <AE09> { [ 9, parenright, bracketright, braceright ] };
key <AE10> { [ 0, equal, U2260, U2248 ] };
key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
//-- Row 5 (E) --//
key <TLDE> { [ less, greater, bar, UF8FF ] };
key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
key <AE03> { [ 3, numbersign, trademark, sterling ] };
key <AE04> { [ 4, dollar, cent, EuroSign ] };
key <AE05> { [ 5, percent, U2030, infinity ] };
key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
key <AE07> { [ 7, slash, braceleft, division ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
key <AE09> { [ 9, parenright, bracketright, braceright ] };
key <AE10> { [ 0, equal, braceright, approxeq ] };
key <AE11> { [ odiaeresis, Odiaeresis, backslash, U2260 ] };
key <AE12> { [ minus, underscore, endash, emdash ] };
//-- Row 4 (D) --//
key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
key <AD02> { [ w, W, U2211, VoidSymbol ] };
key <AD03> { [ e, E, dead_grave, VoidSymbol ] };
key <AD04> { [ r, R, registered, VoidSymbol ] };
key <AD05> { [ t, T, degree, VoidSymbol ] };
key <AD06> { [ y, Y, yen, VoidSymbol ] };
key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
key <AD08> { [ i, I, U0131, U00AA ] };
key <AD09> { [ o, O, dead_circumflex,U00BA ] };
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, U201e, U201c ] };
key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
//-- Row 4 (D) --//
key <AD01> { [ q, Q, U0040, paragraph ] };
key <AD02> { [ w, W, U2211, U00A7 ] };
key <AD03> { [ e, E, U20AC, U00BF ] };
key <AD04> { [ r, R, registered, VoidSymbol ] };
key <AD05> { [ t, T, degree, U2022 ] };
key <AD06> { [ y, Y, yen, VoidSymbol ] };
key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
key <AD08> { [ i, I, idotless, ordfeminine ] };
key <AD09> { [ o, O, dead_circumflex, U00BA ] };
key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
key <AD11> { [ eth, Eth, doublelowquotemark, leftdoublequotemark ] };
key <AD12> { [ apostrophe, question, asciitilde, periodcentered ] };
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
key <AC03> { [ d, D, U2202, U2DA ] };
key <AC04> { [ f, F, U192, macron ] };
key <AC05> { [ g, G, copyright, breve ] };
key <AC06> { [ h, H, bar, VoidSymbol ] };
key <AC07> { [ j, J, U2206, U2dd ] };
key <AC08> { [ k, K, U00AC, VoidSymbol ] };
key <AC09> { [ l, L, U2026, caron ] };
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
//-- Row 3 (C) --//
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ s, S, ssharp, abovedot ] };
key <AC03> { [ d, D, partialderivative, U02DA ] };
key <AC04> { [ f, F, function, macron ] };
key <AC05> { [ g, G, copyright, breve ] };
key <AC06> { [ h, H, bar, U00B8 ] };
key <AC07> { [ j, J, U2206, doubleacute ] };
key <AC08> { [ k, K, notsign, U2DB ] };
key <AC09> { [ l, L, ellipsis, caron ] };
key <AC10> { [ ae, AE, oe, OE ] };
key <AC11> { [ dead_acute, dead_acute, asciicircum, leftsinglequotemark ] };
key <BKSL> { [ plus, asterisk, grave, plusminus ] };
//-- Row 2 (B) --//
key <LSGT> { [ less, greater, section, UF8FF ] };
key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, U221A, U25CA ] };
key <AB05> { [ b, B, U222B, VoidSymbol ] };
key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
key <AB07> { [ m, M, U00B5, VoidSymbol ] };
key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
key <AB09> { [ period, colon, greaterthanequal,guillemotright ] };
key <AB10> { [ thorn, Thorn, U2019, U201d ] };
//-- Row 2 (B) --//
key <LSGT> { [ degree, dead_diaeresis, oslash, Ooblique ] };
key <AB01> { [ z, Z, Greek_OMEGA, VoidSymbol ] };
key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, radical, U25CA ] };
key <AB05> { [ b, B, integral, VoidSymbol ] };
key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
key <AB07> { [ m, M, mu, VoidSymbol ] };
key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
key <AB09> { [ period, colon, greaterthanequal, guillemotright ] };
key <AB10> { [ thorn, Thorn, rightsinglequotemark, rightdoublequotemark ] };
include "level3(ralt_switch)"
};
@ -200,6 +273,7 @@ xkb_symbols "dvorak" {
name[Group1]= "Icelandic (Dvorak)";
key <AD11> { [ slash, question, U201e, U201c ] };
key <AC02> { [ o, O, odiaeresis, Odiaeresis ] };
key <AC06> { [ d, D, eth, ETH ] };
key <AC10> { [ s, S, ae, AE ] };
key <AC11> { [ minus, underscore, endash, emdash ] };

View File

@ -67,6 +67,67 @@ xkb_symbols "deadtilde" {
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
};
// Latin American Spanish Dvorak mapping (note R-H exchange)
partial alphanumeric_keys
xkb_symbols "dvorak" {
name[Group1]="Spanish (Latin American, Dvorak)";
key <TLDE> {[ bar, degree, notsign, notsign ]};
key <AE01> {[ 1, exclam, bar, exclamdown ]};
key <AE02> {[ 2, quotedbl, at, oneeighth ]};
key <AE03> {[ 3, numbersign, periodcentered, sterling ]};
key <AE04> {[ 4, dollar, asciitilde, dollar ]};
key <AE05> {[ 5, percent, onehalf, threeeighths ]};
key <AE06> {[ 6, ampersand, notsign, fiveeighths ]};
key <AE07> {[ 7, slash, braceleft, seveneighths ]};
key <AE08> {[ 8, parenleft, bracketleft, trademark ]};
key <AE09> {[ 9, parenright, bracketright, plusminus ]};
key <AE10> {[ 0, equal, braceright, degree ]};
key <AE11> {[ apostrophe, question, backslash, questiondown ]};
key <AE12> {[ questiondown, exclamdown, dead_cedilla, dead_ogonek ]};
key <AD01> {[ period, colon, at ]};
key <AD02> {[ comma, semicolon ]};
key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
key <AD04> {[ p, P, paragraph ]};
key <AD05> {[ y, Y, yen ]};
key <AD06> {[ f, F, tslash, Tslash ]};
key <AD07> {[ g, G, dstroke, Dstroke ]};
key <AD08> {[ c, C, cent, copyright ]};
key <AD09> {[ h, H, hstroke, Hstroke ]};
key <AD10> {[ l, L, sterling ]};
key <AD11> {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]};
key <AD12> {[ plus, asterisk, asciitilde, dead_macron ]};
key <AC01> {[ a, A, ae, AE ]};
key <AC02> {[ o, O, oslash, Oslash ]};
key <AC03> {[ e, E, EuroSign ]};
key <AC04> {[ u, U, aring, Aring ]};
key <AC05> {[ i, I, oe, OE ]};
key <AC06> {[ d, D, eth, ETH ]};
key <AC07> {[ r, R, registered, trademark ]};
key <AC08> {[ t, T, thorn, THORN ]};
key <AC09> {[ n, N, eng, ENG ]};
key <AC10> {[ s, S, ssharp, section ]};
key <AC11> {[ braceleft, bracketleft, dead_circumflex, braceleft ]};
key <BKSL> {[ braceright, bracketright, dead_grave, braceright ]};
key <LSGT> {[ less, greater, guillemotleft, guillemotright ]};
key <AB01> {[ minus, underscore, hyphen, macron ]};
key <AB02> {[ q, Q, currency ]};
key <AB03> {[ j, J ]};
key <AB04> {[ k, K, kra ]};
key <AB05> {[ x, X, multiply, division ]};
key <AB06> {[ b, B ]};
key <AB07> {[ m, M, mu ]};
key <AB08> {[ w, W ]};
key <AB09> {[ v, V ]};
key <AB10> {[ z, Z ]};
include "level3(ralt_switch)"
};
// --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/latam
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Spanish (Latin American).
// 2006-01-01 Shai Coleman, http://colemak.com/

View File

@ -142,7 +142,8 @@ xkb_symbols "rwin_switch_lock_cancel" {
};
// --> OEystein Bech "DreymaR" Gadmar, 2011-05: Additions to xkb/symbols/level5
// The CapsLock Level5 switches are useful for Extend overlay mappings using Caps as an Extend modifier
// The CapsLock Level5 switches are good for Extend overlay mappings using Caps as an Extend modifier
// The Left Ctrl Level5 switches are good for Extend overlay mappings if you're using Caps as Left Ctrl
// See "DreymaR's Big Bag of Keyboard Tricks": http://forum.colemak.com/viewtopic.php?pid=9918
// The CapsLock key (while pressed) chooses the fifth shift level.
@ -166,7 +167,7 @@ xkb_symbols "caps_switch_lock" {
};
};
// CapsLock chooses 5th level, latches (acts as one-time lock) when pressed together with another 5th-level-chooser
// CapsLock chooses 5th level, latches (temp lock) when pressed with another 5th-level-chooser
partial modifier_keys
xkb_symbols "caps_switch_lock_cancel" {
include "level5(lock)"
@ -176,4 +177,36 @@ xkb_symbols "caps_switch_lock_cancel" {
ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
// The Left Ctrl key (while pressed) chooses the fifth shift level.
partial modifier_keys
xkb_symbols "lctl_switch" {
key <LCTL> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
include "level5(modifier_mapping)"
};
// Left Ctrl chooses 5th level, locks when pressed together with another 5th-level-chooser
partial modifier_keys
xkb_symbols "lctl_switch_lock" {
include "level5(lock)"
key <LCTL> {
type[Group1] = "EIGHT_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
// Left Ctrl chooses 5th level, latches (temp lock) when pressed with another 5th-level-chooser
partial modifier_keys
xkb_symbols "lctl_switch_lock_cancel" {
include "level5(lock)"
key <LCTL> {
type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
// <-- DreymaR: Additions to xkb/symbols/level5

Some files were not shown because too many files have changed in this diff Show More