Added the xkb-mod from Dropbox
|
@ -1,11 +1,12 @@
|
|||
xkb-mod_2-5-1-3
|
||||
===============
|
||||
DreymaR's Big Bag of Keyboard Tricks
|
||||
====================================
|
||||
|
||||
"DreymaR's Big Bag of Keyboard Tricks" for Linux (XKB v2.5.1.3)
|
||||
For Linux (updated to XKB-data v2.12.1)
|
||||
|
||||
* New "Colemak[eD]" AltGr mappings (lv 3-4) putting dead keys on AltGr+symbol keys and reworking most other mappings
|
||||
* Angle/Wide modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
|
||||
* 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
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
# =================================================================
|
||||
# === 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
|
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -0,0 +1,48 @@
|
|||
MAKING THE CUT/COPY/PASTE KEYS WORK WITH GTK APPS:
|
||||
**************************************************
|
||||
|
||||
by DreymaR, 2013 (thanks to Kuglee on the Colemak forum!)
|
||||
|
||||
- With my Extend mappings for instance, you can make the keyboard send multimedia keys
|
||||
- These have virtual key names XF86### where ### is Cut/Copy/Paste for my X/C/V mappings
|
||||
- Those keys are sent to the system but not all of them do anything useful automatically
|
||||
- The snippets below tell GTK to map the edit keys to actions so they work (in GTK apps at least)
|
||||
- Copy the gtkrc-2.0 part into ~/.gtkrc-2.0 (make a new file if you don't have it) for gtk-2
|
||||
- Copy the gtk.css part into ~/.config/gtk-3.0/gtk.css for gtk-3
|
||||
- (If you're new to this, note the initial periods in the file/folder names: That means hidden.)
|
||||
|
||||
# Old method: I used to enclose the below as separate files. Now, the install script contains all.
|
||||
# Using those files, the following commands would install them (run from their dir):
|
||||
# cat gtkrc-2.0 >> ~/.gtkrc-2.0
|
||||
# cat gtk.css >> ~/.config/gtk-3.0/gtk.css
|
||||
|
||||
|
||||
CONTENT OF THE NECESSARY FILES:
|
||||
******************************
|
||||
|
||||
~/.gtkrc-2.0
|
||||
#########################
|
||||
binding "gtk-xf86cut-copy-paste"
|
||||
{
|
||||
bind "XF86Cut" { "cut-clipboard" () }
|
||||
bind "XF86Copy" { "copy-clipboard" () }
|
||||
bind "XF86Paste" { "paste-clipboard" () }
|
||||
}
|
||||
|
||||
class "*" binding "gtk-xf86cut-copy-paste"
|
||||
#########################
|
||||
|
||||
~/.config/gtk-3.0/gtk.css
|
||||
#########################
|
||||
@binding-set gtk-xf86cut-copy-paste
|
||||
{
|
||||
bind "XF86Cut" { "cut-clipboard" () };
|
||||
bind "XF86Copy" { "copy-clipboard" () };
|
||||
bind "XF86Paste" { "paste-clipboard" () };
|
||||
}
|
||||
|
||||
* {
|
||||
gtk-key-bindings: gtk-xf86cut-copy-paste
|
||||
}
|
||||
#########################
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
#!/bin/bash
|
||||
|
||||
# ======================================================
|
||||
# === installgtk.sh to enable cut/copy/paste keys ===
|
||||
# === by Øystein Bech "DreymaR" Gadmar, 2014 ===
|
||||
# ======================================================
|
||||
|
||||
# - Thanks to Kuglee on the Colemak forum for researching these bindings!
|
||||
# - With my Extend mappings for instance, you can make the keyboard send XF86 multimedia keys
|
||||
# - These are called XF86### where ### is for instance Cut/Copy/Paste (on Extend X/C/V)
|
||||
# - Those key events are sent to the OS but not all of them do anything useful currently
|
||||
# - The below script tells GTK to map the edit keys to actions so they work (in GTK apps at least)
|
||||
|
||||
|
||||
HeadStr="DreymaR's GTK install script (by GadOE, 2014)"
|
||||
DescStr=\
|
||||
"Shell script to enable cut/copy/paste XF86 keys\n"\
|
||||
" for GTK 2.0 and 3.0 config files in ~/ ."
|
||||
|
||||
#---------- init --------------------------------------
|
||||
|
||||
MyNAME=`basename $0`
|
||||
#~ MyPATH=`dirname $0`
|
||||
|
||||
HelpStr="Usage: sh ${MyNAME} [no args]\n"\
|
||||
"\n••• Please read this script's comments for more info on how it works •••\n"
|
||||
|
||||
gtkfile[2]='.gtkrc-2.0'
|
||||
gtktext[2]='binding "gtk-xf86cut-copy-paste"
|
||||
{
|
||||
bind "XF86Cut" { "cut-clipboard" () }
|
||||
bind "XF86Copy" { "copy-clipboard" () }
|
||||
bind "XF86Paste" { "paste-clipboard" () }
|
||||
}
|
||||
|
||||
class "*" binding "gtk-xf86cut-copy-paste"
|
||||
'
|
||||
|
||||
gtkfile[3]='.config/gtk-3.0/gtk.css'
|
||||
gtktext[3]='@binding-set gtk-xf86cut-copy-paste
|
||||
{
|
||||
bind "XF86Cut" { "cut-clipboard" () };
|
||||
bind "XF86Copy" { "copy-clipboard" () };
|
||||
bind "XF86Paste" { "paste-clipboard" () };
|
||||
}
|
||||
|
||||
* {
|
||||
gtk-key-bindings: gtk-xf86cut-copy-paste
|
||||
}
|
||||
'
|
||||
|
||||
#---------- subroutines -------------------------------
|
||||
|
||||
MyMsg()
|
||||
{
|
||||
printf "\n••• $1 •••\n\n"
|
||||
}
|
||||
|
||||
PrintHelpAndExit()
|
||||
{
|
||||
MyMsg "${HeadStr}"
|
||||
printf "${DescStr}\n"
|
||||
printf "${HelpStr}\n"
|
||||
exit $1
|
||||
}
|
||||
|
||||
MyEcho()
|
||||
{
|
||||
printf "$1\n"
|
||||
[ -z "$2" ] || printf "$1\n" >> "$2"
|
||||
}
|
||||
|
||||
#---------- command line parser -----------------------
|
||||
|
||||
while getopts "h?" cmdarg; do
|
||||
case $cmdarg in
|
||||
h) PrintHelpAndExit 0 ;;
|
||||
\?) PrintHelpAndExit 0 ;;
|
||||
:) PrintHelpAndExit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
#---------- main --------------------------------------
|
||||
|
||||
MyMsg "$HeadStr"
|
||||
#~ MyEcho "• Working from `pwd`"
|
||||
|
||||
# If not already there, add GTK cut/copy/paste key bindings to GTK 2.0 and 3.0 config files
|
||||
for i in 2 3; do
|
||||
#~ MyEcho "${i}.0: '$(grep "gtk-xf86cut-copy-paste" "$HOME/${gtkfile[$i]}")'"
|
||||
#~ MyEcho "\n${gtkfile[$i]}\n'''${gtktext[$i]}'''"; continue
|
||||
if [ "$(grep "gtk-xf86cut-copy-paste" "$HOME/${gtkfile[$i]}" 2> /dev/null)" == "" ]; then
|
||||
echo "${gtktext[$i]}" >> "$HOME/${gtkfile[$i]}"
|
||||
MyEcho "• GTK ${i}.0 Cut/Copy/Paste config generated"
|
||||
else
|
||||
MyEcho "• GTK ${i}.0 Cut/Copy/Paste config already present"
|
||||
fi
|
||||
done
|
||||
|
||||
MyMsg "${MyNAME} finished!"; exit 0
|
||||
|
||||
# (Originally, I copied over files in the current dir using `cat ./"${gtkfile[$i]}"`)
|
||||
#~ [ "$(grep "gtk-xf86cut-copy-paste" "$HOME/config/gtk-3.0/gtk.css")" == "" ] && \
|
||||
#~ cat ./gtk.css >> ~/.config/gtk-3.0/gtk.css || MyEcho "• GTK 3.0 config already present"
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
|
||||
# =====================================================
|
||||
# === XEV.sh for DreymaR's XKB modifications ===
|
||||
# === by Øystein Bech "DreymaR" Gadmar, 2014 ===
|
||||
# =====================================================
|
||||
#
|
||||
# Shell script to run a keypress-specific XEV
|
||||
#
|
||||
# Usage: 'sh [scriptpath]' or
|
||||
# allow executing file then run in a term window
|
||||
#
|
||||
# Happy xkb-hacking! Øystein Bech Gadmar (2014)
|
||||
|
||||
#---------- init --------------------------------------
|
||||
SETXKB='setxkbmap -print -v 7'
|
||||
|
||||
#---------- main --------------------------------------
|
||||
echo "*** Running $XEV: ***"
|
||||
xev | sed -ne '/^KeyPress/,/^$/p'
|
||||
echo "\n*** Press <ENTER> to finish: ***"
|
||||
read dummy
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# If you change any of the following variables and X is configured to
|
||||
# use this file, then the changes will become visible to X only if udev
|
||||
# is restarted. You may need to reboot the system.
|
||||
|
||||
# The following variables describe your keyboard and can have the same
|
||||
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
|
||||
# in /etc/X11/xorg.conf.
|
||||
|
||||
#XKBMODEL="pc105"
|
||||
XKBMODEL="pc105awide-sl"
|
||||
XKBLAYOUT="no,no"
|
||||
XKBVARIANT="cmk_ed_us,"
|
||||
XKBOPTIONS="compose:menu,terminate:ctrl_alt_bksp,grp_led:scroll,lv5:caps_switch_lock,misc:extend"
|
||||
|
||||
# If you don't want to use the XKB layout on the console, you can
|
||||
# specify an alternative keymap. Make sure it will be accessible
|
||||
# before /usr is mounted.
|
||||
# KMAP=/etc/console-setup/defkeymap.kmap.gz
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
|
||||
# =====================================================
|
||||
# === SHOW-XKB.sh for DreymaR's XKB modifications ===
|
||||
# === by Øystein Bech "DreymaR" Gadmar, 2012 ===
|
||||
# =====================================================
|
||||
#
|
||||
# Shell script to show the active Gnome XKB settings
|
||||
#
|
||||
# Usage: 'sudo sh [scriptpath]' or
|
||||
# allow executing file then run in a term window
|
||||
#
|
||||
# Happy xkb-hacking! Øystein Bech Gadmar (2012)
|
||||
|
||||
HeadStr="DreymaR's Show XKB info script (by GadOE, 2014)"
|
||||
|
||||
#-------------- functions and line parser ---------------------
|
||||
|
||||
MyMsg()
|
||||
{
|
||||
printf "\n••• $1 •••\n\n"
|
||||
}
|
||||
|
||||
MyEcho()
|
||||
{
|
||||
printf "$1\n"
|
||||
[ -z "$2" ] || printf "$1\n" >> "$2"
|
||||
}
|
||||
|
||||
#---------- init --------------------------------------
|
||||
HDR='Output from '
|
||||
XPROP='xprop -root | grep "XKB"'
|
||||
GSETT='gsettings list-recursively org.gnome.libgnomekbd.keyboard'
|
||||
SETXK='setxkbmap -print' # -v 9'
|
||||
|
||||
#---------- main --------------------------------------
|
||||
|
||||
MyMsg "$HeadStr"
|
||||
|
||||
MyMsg "$HDR'$XPROP':"
|
||||
eval "$XPROP"
|
||||
#echo "`$XPROP`" | grep "XKB"
|
||||
MyMsg "$HDR'$GSETT':"
|
||||
eval "$GSETT"
|
||||
MyMsg "$HDR'$SETXK':"
|
||||
eval "$SETXK"
|
||||
MyMsg "Press any key to finish:"
|
||||
read -n 1
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
# ======================================================
|
||||
# === XMODEL.sh to set the XKB keyboard model ===
|
||||
# === by Øystein Bech "DreymaR" Gadmar, 2013 ===
|
||||
# ======================================================
|
||||
#
|
||||
|
||||
#---------- init --------------------------------------
|
||||
#XKBmodel='pc104'
|
||||
#XKBmodel='pc104angle-z'
|
||||
#XKBmodel='pc104wide-qu'
|
||||
#XKBmodel='pc105'
|
||||
XKBmodel='pc105awide-sl'
|
||||
#XKBmodel='pc105angle-lg'
|
||||
VerboseLvl=9
|
||||
UsageStr="sh $0 [-m model]"
|
||||
HelpStr="Usage: $UsageStr\n"\
|
||||
"*** Please read this script's comments for info on how it works ***"
|
||||
|
||||
#---------- subroutines -------------------------------
|
||||
PrintHelpAndExit()
|
||||
{
|
||||
printf "\n$HelpStr\n"
|
||||
exit $1
|
||||
}
|
||||
|
||||
#---------- command line parser -----------------------
|
||||
while getopts "m:v:h" cmdarg; do
|
||||
case $cmdarg in
|
||||
m) XKBmodel="$OPTARG" ;;
|
||||
v) VerboseLvl="$OPTARG" ;;
|
||||
h) PrintHelpAndExit 1 ;;
|
||||
\?) PrintHelpAndExit 2 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
#---------- main --------------------------------------
|
||||
|
||||
setxkbmap -model $XKBmodel -v $VerboseLvl
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
# ======================================================
|
||||
# === XMODEL.sh to set the XKB keyboard model ===
|
||||
# === by Øystein Bech "DreymaR" Gadmar, 2013 ===
|
||||
# ======================================================
|
||||
#
|
||||
|
||||
#---------- init --------------------------------------
|
||||
#XKBmodel='pc104'
|
||||
#XKBmodel='pc104angle-z'
|
||||
#XKBmodel='pc104wide-qu'
|
||||
XKBmodel='pc105'
|
||||
#XKBmodel='pc105awide-sl'
|
||||
#XKBmodel='pc105angle-lg'
|
||||
VerboseLvl=9
|
||||
UsageStr="sh $0 [-m model]"
|
||||
HelpStr="Usage: $UsageStr\n"\
|
||||
"*** Please read this script's comments for info on how it works ***"
|
||||
|
||||
#---------- subroutines -------------------------------
|
||||
PrintHelpAndExit()
|
||||
{
|
||||
printf "\n$HelpStr\n"
|
||||
exit $1
|
||||
}
|
||||
|
||||
#---------- command line parser -----------------------
|
||||
while getopts "m:v:h" cmdarg; do
|
||||
case $cmdarg in
|
||||
m) XKBmodel="$OPTARG" ;;
|
||||
v) VerboseLvl="$OPTARG" ;;
|
||||
h) PrintHelpAndExit 1 ;;
|
||||
\?) PrintHelpAndExit 2 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
#---------- main --------------------------------------
|
||||
|
||||
setxkbmap -model $XKBmodel -v $VerboseLvl
|
|
@ -0,0 +1,235 @@
|
|||
#!/bin/bash
|
||||
|
||||
## =================================================================
|
||||
## === INSTALL-DREYMAR-XMOD.sh for DreymaR's XKB modifications ===
|
||||
## === by Øystein Bech "DreymaR" Gadmar, 2015 ===
|
||||
## =================================================================
|
||||
|
||||
HeadStr="DreymaR's Big Bag Of Tricks install script (by GadOE, 2015-01)"
|
||||
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"\
|
||||
"\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"\
|
||||
" E.g.: -s '5n fr us' is normal pc105 model, French Colemak[eD]'USym'.)\n"\
|
||||
"- With '-?', list further instructions and default values.\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"\
|
||||
|
||||
## NOTE: The mod directory has the form "${DModTag}<date>" with DModTag='x-mod_v<VER>_'
|
||||
## - Unless you change the DModTag, it should be in the same dir as this script
|
||||
## - 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
|
||||
## - Optionally (-o) overwrite the system files instead
|
||||
## NOTE: The x-mod dir holds an xkb subfolder; later, there will be a locale dir too.
|
||||
|
||||
|
||||
##-------------- init ------------------------------------------
|
||||
## NOTE: '#(-a)' means that the value can be set by a command-line argument '-a <value>'
|
||||
|
||||
MyDATE=`date +"%Y-%m-%d_%H-%M"`
|
||||
MyNAME=`basename $0`
|
||||
MyPATH=`dirname $0`
|
||||
#~ XVERSION='2-5-1-3ub2'
|
||||
#~ XVERSION='2-10-1-1'
|
||||
XVERSION='2-12-1'
|
||||
## @@@ 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'
|
||||
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)
|
||||
|
||||
HelpStr="Usage: bash ${MyNAME} [optional args]\n"\
|
||||
"Run this from the directory containing the x-mod dir\n"\
|
||||
"[-o] Overwrite system X11 directory - ${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"\
|
||||
"[-d] <mod dir path> - ${DModDir}\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"\
|
||||
"[-s] Setxkb ShortStr 'mdl loc sym' - ${SetXStr}\n"\
|
||||
" (See setxkb help for more info on ShortStr)\n"
|
||||
#~ "( - <val> : Default settings)\n"
|
||||
|
||||
##-------------- functions and line parser ---------------------
|
||||
|
||||
MyMsg()
|
||||
{
|
||||
printf "\n@@@ $1 @@@\n\n"
|
||||
}
|
||||
|
||||
PrintHelpAndExit()
|
||||
{
|
||||
MyMsg "${HeadStr}"
|
||||
printf "${DescStr}\n"
|
||||
printf "${HelpStr}"
|
||||
MyMsg "${FootStr}"
|
||||
exit $1
|
||||
}
|
||||
|
||||
MyEcho()
|
||||
{
|
||||
printf "$1\n"
|
||||
[ -z "$2" ] || printf "$1\n" >> "$2"
|
||||
}
|
||||
|
||||
MyError()
|
||||
{
|
||||
MyMsg "$MyNAME - ERROR: ${@:-'Undefined error'}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
#~ MyCD()
|
||||
#~ {
|
||||
#~ OldDir=`pwd`
|
||||
#~ NewDir=${1:-`pwd`}
|
||||
#~ cd ${NewDir} || MyError "Change to '${NewDir}' failed"
|
||||
#~ MyEcho "¤ Changed dir to '${NewDir}'"
|
||||
#~ }
|
||||
|
||||
#~ if [ "$#" == 0 ]; then PrintHelpAndExit 2; fi # No args
|
||||
while getopts "obngxs:m:i:d:t:r:h?" cmdarg; do
|
||||
case $cmdarg in
|
||||
o) WriteSys='yes' ;;
|
||||
b) DoBackup='yes' ;;
|
||||
n) DoBackup='no' ;;
|
||||
g) InstGTK='yes' ;;
|
||||
x) SetXMap='yes' ;;
|
||||
s) SetXStr="$OPTARG"
|
||||
SetXMap='yes' ;;
|
||||
m) SubDirs="$OPTARG" ;;
|
||||
i) InstDir="$OPTARG" ;;
|
||||
d) DModDir="$OPTARG" ;;
|
||||
t) DModTag="$OPTARG" ;;
|
||||
r) Restore="$OPTARG" ;;
|
||||
h) PrintHelpAndExit 0 ;;
|
||||
\?) PrintHelpAndExit 0 ;;
|
||||
:) PrintHelpAndExit 1 ;;
|
||||
esac
|
||||
done
|
||||
#~ pos_arg=${@:$OPTIND:1} # Get the remaining (positional) arg
|
||||
|
||||
##-------------- main ------------------------------------------
|
||||
|
||||
MyMsg "$HeadStr"
|
||||
#~ MyEcho "¤ 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}'"
|
||||
|
||||
## Read the mod subdirs
|
||||
if [ "${SubDirs}" == "all" ]; then
|
||||
SubDirs=`find "${DModDir}/"* -maxdepth 0 -type d -exec basename '{}' \; 2>/dev/null`
|
||||
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}'"
|
||||
|
||||
## For each subdir, backup if either DoBackup = 'yes' or DoBackup = 'ifnone' and no backup exists
|
||||
BackIt=''
|
||||
if [ ${DoBackup} == 'yes' ]; then
|
||||
BackIt="${SubDirs}"
|
||||
elif [ ${DoBackup} == 'ifnone' ] && [ ${Restore} == '0' ]; then
|
||||
for That in ${SubDirs}; do
|
||||
MyEcho "¤ 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
|
||||
[ -n "${BackIt}" ] && BackIt+=' ' # join with ' '; note that += is a bashism
|
||||
BackIt+="${That}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
[ -z "${BackIt}" ] && MyEcho "¤ Backing up: None" || MyEcho "¤ Backing up: '${BackIt}'"
|
||||
|
||||
## 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!"
|
||||
done
|
||||
|
||||
## For each subfolder: Restore from backup #, overwrite X11 files or make new mod folder
|
||||
for That in ${SubDirs}; do
|
||||
if [ ${Restore} != '0' ]; then # Restore from specified backup
|
||||
## 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!"
|
||||
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!"
|
||||
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'
|
||||
MyDir="${InstDir%/}/${DModFix}${That}"
|
||||
#~ MyDir="$(dirname "${MyDir}")/${DModFix}$(basename "${MyDir}")" # Insert prefix in path/name
|
||||
MyEcho "¤ Installing mod files in '${MyDir}'"
|
||||
${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!"
|
||||
XKBDir="${InstDir%/}/${DModFix}xkb" # Prepare for setxkbmap
|
||||
fi
|
||||
done
|
||||
|
||||
## If selected, call the DreymaR GTK bindings install script
|
||||
## The DreymaR gtk edit install script sets GTK Cut/Copy/Paste key config (if not already present)
|
||||
if [ ${InstGTK} == 'yes' ]; then
|
||||
"${ToolDir}/gtk_edit_install.sh" || MyError "gtk_edit_install.sh failed!"
|
||||
fi
|
||||
|
||||
#~ ## Call the DreymaR setxkbmap script unless 'q' is pressed, to activate the new (default) layout
|
||||
#~ That='' #; [ ${InstGTK} == 'yes' ] && That=" and GTK edit config"
|
||||
#~ 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"
|
||||
else
|
||||
#~ "${ToolDir}/setxkb.sh" -p $(dirname "${XKBDir}") -d $(basename "${XKBDir}") || MyError "setxkb.sh failed!"
|
||||
"./setxkb.sh" -d "${XKBDir}" -s "${SetXStr}" || MyError "setxkb.sh failed!"
|
||||
fi
|
||||
|
||||
MyMsg "${MyNAME} finished!"
|
||||
exit 0
|
||||
|
||||
##-------------- misc ------------------------------------------
|
||||
|
||||
#~ MyError "Debug - run halted!" # debug
|
||||
#~ echo "$1 $2 $3 $4 $5"; exit 0 # debug
|
|
@ -0,0 +1,218 @@
|
|||
#!/bin/bash
|
||||
|
||||
## ======================================================
|
||||
## === XKBSET.sh to set the XKB keyboard options ===
|
||||
## === by Øystein Bech "DreymaR" Gadmar, 2014 ===
|
||||
## ======================================================
|
||||
|
||||
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"
|
||||
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)
|
||||
|
||||
## 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)
|
||||
|
||||
##-------------- init ------------------------------------------
|
||||
## NOTE: '#(-a)' means that the value can be set by a command-line argument '-a <value>'
|
||||
|
||||
#~ MyDATE=`date +"%Y-%m-%d_%H-%M"`
|
||||
MyNAME=`basename $0`
|
||||
#~ MyPATH=`dirname $0`
|
||||
## @@@ 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'
|
||||
|
||||
#~ XKBmodel=pc104awide-zqu # ANSI-104 keyboard w/ Angle(Z)Wide(Quote) mod
|
||||
XKBmodel=pc105awide-sl # ISO-105 keyboard w/ 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
|
||||
SetXStr='' #'5aw no us' # (-s) Shortcut string for setxkb - 'model locale eD-variant(sym)'
|
||||
|
||||
HelpStr="Usage: bash ${MyNAME} [optional args]\n"\
|
||||
"[-m] <model> - '${XKBmodel}'\n"\
|
||||
"[-l] <layout> - '${XKBlayout}'\n"\
|
||||
"[-o] <option> - \n"\
|
||||
" '${XKBoption}'\n"\
|
||||
"[-v] <verbose level> - '${VerboseLvl}'\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"
|
||||
#~ " (See the script's comments for more info.)"
|
||||
|
||||
|
||||
##-------------- functions and line parser ---------------------
|
||||
|
||||
MyMsg()
|
||||
{
|
||||
printf "\n@@@ $1 @@@\n\n"
|
||||
}
|
||||
|
||||
PrintHelpAndExit()
|
||||
{
|
||||
MyMsg "${HeadStr}"
|
||||
printf "${DescStr}\n"
|
||||
printf "${HelpStr}\n"
|
||||
MyMsg "${FootStr}"
|
||||
exit $1
|
||||
}
|
||||
|
||||
MyEcho()
|
||||
{
|
||||
printf "$1\n"
|
||||
[ -z "$2" ] || printf "$1\n" >> "$2"
|
||||
}
|
||||
|
||||
MyError()
|
||||
{
|
||||
MyMsg "$MyNAME - ERROR: ${@:-'Unknown'}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
MyCD()
|
||||
{
|
||||
OldDir=`pwd`
|
||||
NewDir=${1:-`pwd`}
|
||||
cd ${NewDir} || MyError "Change to '${NewDir}' failed"
|
||||
MyEcho "¤ Changed dir to '${NewDir}'"
|
||||
}
|
||||
|
||||
#~ if [ "$#" == 0 ]; then PrintHelpAndExit 2; fi # No args
|
||||
while getopts "m:l:o:v:s:d:kh?" cmdarg; do
|
||||
case $cmdarg in
|
||||
m) XKBmodel="$OPTARG" ;;
|
||||
l) XKBlayout="$OPTARG" ;;
|
||||
o) XKBoption="$OPTARG" ;;
|
||||
v) VerboseLvl="$OPTARG" ;;
|
||||
s) SetXStr=($OPTARG) ;; # Split the string
|
||||
d) XKBdir="$OPTARG" ;;
|
||||
k) KeepXKM='yes' ;;
|
||||
h) PrintHelpAndExit 0 ;;
|
||||
\?) PrintHelpAndExit 0 ;;
|
||||
:) PrintHelpAndExit 1 ;;
|
||||
esac
|
||||
done
|
||||
#~ pos_arg=${@:$OPTIND:1} # Get the remaining (positional) arg
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
*) MyError "ShortStr model '${SetXStr[0]}' unknown!" ;;
|
||||
esac
|
||||
XKBlayout="${SetXStr[1]}(cmk_ed_${SetXStr[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?)
|
||||
|
||||
##-------------- main ------------------------------------------
|
||||
|
||||
MyMsg "$HeadStr"
|
||||
#~ MyCD "${XKBpath%/}/${XKBdir%/}"
|
||||
if [ -n "${SetXStr}" ]; then
|
||||
MyEcho "¤ Using model/layout '$XKBmodel'/'$XKBlayout' from ShortStr"
|
||||
fi
|
||||
MyCD "${XKBdir%/}"
|
||||
#~ MyEcho "¤ Running from `pwd`"
|
||||
|
||||
## 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"
|
||||
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
|
||||
MyEcho ""
|
||||
|
||||
MyCD "${OldDir}"
|
||||
|
||||
## When run in a terminal window, wait for a key press
|
||||
## so you can see the results before the window closes
|
||||
#~ MyMsg "Press any key to proceed:"
|
||||
#~ read -n 1
|
||||
|
||||
MyMsg "${MyNAME} finished!"
|
||||
exit 0
|
||||
|
||||
##-------------- misc ------------------------------------------
|
||||
|
||||
#~ echo "'$XKBmodel' '$XKBlayout'"; for i in 0 1 2; do echo "'${SetXStr[i]}'"; done; exit 0
|
||||
|
||||
## US/ANSI Wide ergo mod,
|
||||
## Colemak[eD] US layout,
|
||||
## Extend mappings w/ Caps switch:
|
||||
#~ setxkbmap \
|
||||
#~ -model pc104wide-qu, \
|
||||
#~ -layout "us(cmk_ed_us)", \
|
||||
#~ -option "misc:extend,lv5:caps_switch_lock"
|
||||
|
||||
## Euro/ISO AngleWide ergo mod,
|
||||
## Norwegian Cmk[eD] "US" layout (grp1),
|
||||
## Greek phonetic Colemak layout (grp2),
|
||||
## Extend mappings w/ Caps switch (for both),
|
||||
## Switch grp w/ 2xCtrl; Compose on Menu key:
|
||||
#~ setxkbmap \
|
||||
#~ -model pc105awide-sl, \
|
||||
#~ -layout "no(cmk_ed_us),gr(colemak)", \
|
||||
#~ -option "misc:extend,lv5:caps_switch_lock,"\
|
||||
#~ "grp:rctrl_switch_ctrls_toggle,compose:menu"
|
|
@ -0,0 +1,99 @@
|
|||
|
||||
// keycode aliases for phonetic keyboard maps
|
||||
|
||||
default
|
||||
xkb_keycodes "qwerty" {
|
||||
|
||||
alias <LatQ> = <AD01>;
|
||||
alias <LatW> = <AD02>;
|
||||
alias <LatE> = <AD03>;
|
||||
alias <LatR> = <AD04>;
|
||||
alias <LatT> = <AD05>;
|
||||
alias <LatY> = <AD06>;
|
||||
alias <LatU> = <AD07>;
|
||||
alias <LatI> = <AD08>;
|
||||
alias <LatO> = <AD09>;
|
||||
alias <LatP> = <AD10>;
|
||||
|
||||
alias <LatA> = <AC01>;
|
||||
alias <LatS> = <AC02>;
|
||||
alias <LatD> = <AC03>;
|
||||
alias <LatF> = <AC04>;
|
||||
alias <LatG> = <AC05>;
|
||||
alias <LatH> = <AC06>;
|
||||
alias <LatJ> = <AC07>;
|
||||
alias <LatK> = <AC08>;
|
||||
alias <LatL> = <AC09>;
|
||||
|
||||
alias <LatZ> = <AB01>;
|
||||
alias <LatX> = <AB02>;
|
||||
alias <LatC> = <AB03>;
|
||||
alias <LatV> = <AB04>;
|
||||
alias <LatB> = <AB05>;
|
||||
alias <LatN> = <AB06>;
|
||||
alias <LatM> = <AB07>;
|
||||
};
|
||||
|
||||
xkb_keycodes "azerty" {
|
||||
|
||||
alias <LatA> = <AD01>;
|
||||
alias <LatZ> = <AD02>;
|
||||
alias <LatE> = <AD03>;
|
||||
alias <LatR> = <AD04>;
|
||||
alias <LatT> = <AD05>;
|
||||
alias <LatY> = <AD06>;
|
||||
alias <LatU> = <AD07>;
|
||||
alias <LatI> = <AD08>;
|
||||
alias <LatO> = <AD09>;
|
||||
alias <LatP> = <AD10>;
|
||||
|
||||
alias <LatQ> = <AC01>;
|
||||
alias <LatS> = <AC02>;
|
||||
alias <LatD> = <AC03>;
|
||||
alias <LatF> = <AC04>;
|
||||
alias <LatG> = <AC05>;
|
||||
alias <LatH> = <AC06>;
|
||||
alias <LatJ> = <AC07>;
|
||||
alias <LatK> = <AC08>;
|
||||
alias <LatL> = <AC09>;
|
||||
alias <LatM> = <AC10>;
|
||||
|
||||
alias <LatW> = <AB01>;
|
||||
alias <LatX> = <AB02>;
|
||||
alias <LatC> = <AB03>;
|
||||
alias <LatV> = <AB04>;
|
||||
alias <LatB> = <AB05>;
|
||||
alias <LatN> = <AB06>;
|
||||
};
|
||||
|
||||
xkb_keycodes "qwertz" {
|
||||
|
||||
alias <LatQ> = <AD01>;
|
||||
alias <LatW> = <AD02>;
|
||||
alias <LatE> = <AD03>;
|
||||
alias <LatR> = <AD04>;
|
||||
alias <LatT> = <AD05>;
|
||||
alias <LatZ> = <AD06>;
|
||||
alias <LatU> = <AD07>;
|
||||
alias <LatI> = <AD08>;
|
||||
alias <LatO> = <AD09>;
|
||||
alias <LatP> = <AD10>;
|
||||
|
||||
alias <LatA> = <AC01>;
|
||||
alias <LatS> = <AC02>;
|
||||
alias <LatD> = <AC03>;
|
||||
alias <LatF> = <AC04>;
|
||||
alias <LatG> = <AC05>;
|
||||
alias <LatH> = <AC06>;
|
||||
alias <LatJ> = <AC07>;
|
||||
alias <LatK> = <AC08>;
|
||||
alias <LatL> = <AC09>;
|
||||
|
||||
alias <LatY> = <AB01>;
|
||||
alias <LatX> = <AB02>;
|
||||
alias <LatC> = <AB03>;
|
||||
alias <LatV> = <AB04>;
|
||||
alias <LatB> = <AB05>;
|
||||
alias <LatN> = <AB06>;
|
||||
alias <LatM> = <AB07>;
|
||||
};
|
|
@ -0,0 +1,314 @@
|
|||
// translation from evdev scancodes to something resembling xfree86 keycodes.
|
||||
|
||||
default xkb_keycodes "evdev" {
|
||||
minimum = 8;
|
||||
maximum = 255;
|
||||
|
||||
# Added for pc105 compatibility
|
||||
<LSGT> = 94;
|
||||
|
||||
<TLDE> = 49;
|
||||
<AE01> = 10;
|
||||
<AE02> = 11;
|
||||
<AE03> = 12;
|
||||
<AE04> = 13;
|
||||
<AE05> = 14;
|
||||
<AE06> = 15;
|
||||
<AE07> = 16;
|
||||
<AE08> = 17;
|
||||
<AE09> = 18;
|
||||
<AE10> = 19;
|
||||
<AE11> = 20;
|
||||
<AE12> = 21;
|
||||
<BKSP> = 22;
|
||||
|
||||
<TAB> = 23;
|
||||
<AD01> = 24;
|
||||
<AD02> = 25;
|
||||
<AD03> = 26;
|
||||
<AD04> = 27;
|
||||
<AD05> = 28;
|
||||
<AD06> = 29;
|
||||
<AD07> = 30;
|
||||
<AD08> = 31;
|
||||
<AD09> = 32;
|
||||
<AD10> = 33;
|
||||
<AD11> = 34;
|
||||
<AD12> = 35;
|
||||
<BKSL> = 51;
|
||||
alias <AC12> = <BKSL>;
|
||||
<RTRN> = 36;
|
||||
|
||||
<CAPS> = 66;
|
||||
<AC01> = 38;
|
||||
<AC02> = 39;
|
||||
<AC03> = 40;
|
||||
<AC04> = 41;
|
||||
<AC05> = 42;
|
||||
<AC06> = 43;
|
||||
<AC07> = 44;
|
||||
<AC08> = 45;
|
||||
<AC09> = 46;
|
||||
<AC10> = 47;
|
||||
<AC11> = 48;
|
||||
|
||||
<LFSH> = 50;
|
||||
<AB01> = 52;
|
||||
<AB02> = 53;
|
||||
<AB03> = 54;
|
||||
<AB04> = 55;
|
||||
<AB05> = 56;
|
||||
<AB06> = 57;
|
||||
<AB07> = 58;
|
||||
<AB08> = 59;
|
||||
<AB09> = 60;
|
||||
<AB10> = 61;
|
||||
<RTSH> = 62;
|
||||
|
||||
<LALT> = 64;
|
||||
<LCTL> = 37;
|
||||
<SPCE> = 65;
|
||||
<RCTL> = 105;
|
||||
<RALT> = 108;
|
||||
// Microsoft keyboard extra keys
|
||||
<LWIN> = 133;
|
||||
<RWIN> = 134;
|
||||
<COMP> = 135;
|
||||
alias <MENU> = <COMP>;
|
||||
|
||||
<ESC> = 9;
|
||||
<FK01> = 67;
|
||||
<FK02> = 68;
|
||||
<FK03> = 69;
|
||||
<FK04> = 70;
|
||||
<FK05> = 71;
|
||||
<FK06> = 72;
|
||||
<FK07> = 73;
|
||||
<FK08> = 74;
|
||||
<FK09> = 75;
|
||||
<FK10> = 76;
|
||||
<FK11> = 95;
|
||||
<FK12> = 96;
|
||||
|
||||
<PRSC> = 107;
|
||||
// <SYRQ> = 107;
|
||||
<SCLK> = 78;
|
||||
<PAUS> = 127;
|
||||
// <BRK> = 419;
|
||||
|
||||
<INS> = 118;
|
||||
<HOME> = 110;
|
||||
<PGUP> = 112;
|
||||
<DELE> = 119;
|
||||
<END> = 115;
|
||||
<PGDN> = 117;
|
||||
|
||||
<UP> = 111;
|
||||
<LEFT> = 113;
|
||||
<DOWN> = 116;
|
||||
<RGHT> = 114;
|
||||
|
||||
<NMLK> = 77;
|
||||
<KPDV> = 106;
|
||||
<KPMU> = 63;
|
||||
<KPSU> = 82;
|
||||
|
||||
<KP7> = 79;
|
||||
<KP8> = 80;
|
||||
<KP9> = 81;
|
||||
<KPAD> = 86;
|
||||
|
||||
<KP4> = 83;
|
||||
<KP5> = 84;
|
||||
<KP6> = 85;
|
||||
|
||||
<KP1> = 87;
|
||||
<KP2> = 88;
|
||||
<KP3> = 89;
|
||||
<KPEN> = 104;
|
||||
|
||||
<KP0> = 90;
|
||||
<KPDL> = 91;
|
||||
<KPEQ> = 125;
|
||||
|
||||
<FK13> = 191;
|
||||
<FK14> = 192;
|
||||
<FK15> = 193;
|
||||
<FK16> = 194;
|
||||
<FK17> = 195;
|
||||
<FK18> = 196;
|
||||
<FK19> = 197;
|
||||
<FK20> = 198;
|
||||
<FK21> = 199;
|
||||
<FK22> = 200;
|
||||
<FK23> = 201;
|
||||
<FK24> = 202;
|
||||
|
||||
// Keys that are generated on Japanese keyboards
|
||||
|
||||
//<HZTG> = 93; // Hankaku/Zenkakau toggle - not actually used
|
||||
alias <HZTG> = <TLDE>;
|
||||
<HKTG> = 101; // Hiragana/Katakana toggle
|
||||
<AB11> = 97; // backslash/underscore
|
||||
<HENK> = 100; // Henkan
|
||||
<MUHE> = 102; // Muhenkan
|
||||
<AE13> = 132; // Yen
|
||||
<KATA> = 98; // Katakana
|
||||
<HIRA> = 99; // Hiragana
|
||||
<JPCM> = 103; // KPJPComma
|
||||
//<RO> = 97; // Romaji
|
||||
|
||||
// Keys that are generated on Korean keyboards
|
||||
|
||||
<HNGL> = 130; // Hangul Latin toggle
|
||||
<HJCV> = 131; // Hangul to Hanja conversion
|
||||
|
||||
// Solaris compatibility
|
||||
|
||||
alias <LMTA> = <LWIN>;
|
||||
alias <RMTA> = <RWIN>;
|
||||
<MUTE> = 121;
|
||||
<VOL-> = 122;
|
||||
<VOL+> = 123;
|
||||
<POWR> = 124;
|
||||
<STOP> = 136;
|
||||
<AGAI> = 137;
|
||||
<PROP> = 138;
|
||||
<UNDO> = 139;
|
||||
<FRNT> = 140;
|
||||
<COPY> = 141;
|
||||
<OPEN> = 142;
|
||||
<PAST> = 143;
|
||||
<FIND> = 144;
|
||||
<CUT> = 145;
|
||||
<HELP> = 146;
|
||||
|
||||
// Extended keys that may be generated on "Internet" keyboards.
|
||||
// evdev has standardize names for these.
|
||||
|
||||
<LNFD> = 109; // #define KEY_LINEFEED 101
|
||||
<I120> = 120; // #define KEY_MACRO 112
|
||||
<I126> = 126; // #define KEY_KPPLUSMINUS 118
|
||||
<I128> = 128; // #define KEY_SCALE 120
|
||||
<I129> = 129; // #define KEY_KPCOMMA 121
|
||||
<I147> = 147; // #define KEY_MENU 139
|
||||
<I148> = 148; // #define KEY_CALC 140
|
||||
<I149> = 149; // #define KEY_SETUP 141
|
||||
<I150> = 150; // #define KEY_SLEEP 142
|
||||
<I151> = 151; // #define KEY_WAKEUP 143
|
||||
<I152> = 152; // #define KEY_FILE 144
|
||||
<I153> = 153; // #define KEY_SENDFILE 145
|
||||
<I154> = 154; // #define KEY_DELETEFILE 146
|
||||
<I155> = 155; // #define KEY_XFER 147
|
||||
<I156> = 156; // #define KEY_PROG1 148
|
||||
<I157> = 157; // #define KEY_PROG2 149
|
||||
<I158> = 158; // #define KEY_WWW 150
|
||||
<I159> = 159; // #define KEY_MSDOS 151
|
||||
<I160> = 160; // #define KEY_COFFEE 152
|
||||
<I161> = 161; // #define KEY_DIRECTION 153
|
||||
<I162> = 162; // #define KEY_CYCLEWINDOWS 154
|
||||
<I163> = 163; // #define KEY_MAIL 155
|
||||
<I164> = 164; // #define KEY_BOOKMARKS 156
|
||||
<I165> = 165; // #define KEY_COMPUTER 157
|
||||
<I166> = 166; // #define KEY_BACK 158
|
||||
<I167> = 167; // #define KEY_FORWARD 159
|
||||
<I168> = 168; // #define KEY_CLOSECD 160
|
||||
<I169> = 169; // #define KEY_EJECTCD 161
|
||||
<I170> = 170; // #define KEY_EJECTCLOSECD 162
|
||||
<I171> = 171; // #define KEY_NEXTSONG 163
|
||||
<I172> = 172; // #define KEY_PLAYPAUSE 164
|
||||
<I173> = 173; // #define KEY_PREVIOUSSONG 165
|
||||
<I174> = 174; // #define KEY_STOPCD 166
|
||||
<I175> = 175; // #define KEY_RECORD 167
|
||||
<I176> = 176; // #define KEY_REWIND 168
|
||||
<I177> = 177; // #define KEY_PHONE 169
|
||||
<I178> = 178; // #define KEY_ISO 170
|
||||
<I179> = 179; // #define KEY_CONFIG 171
|
||||
<I180> = 180; // #define KEY_HOMEPAGE 172
|
||||
<I181> = 181; // #define KEY_REFRESH 173
|
||||
<I182> = 182; // #define KEY_EXIT 174
|
||||
<I183> = 183; // #define KEY_MOVE 175
|
||||
<I184> = 184; // #define KEY_EDIT 176
|
||||
<I185> = 185; // #define KEY_SCROLLUP 177
|
||||
<I186> = 186; // #define KEY_SCROLLDOWN 178
|
||||
<I187> = 187; // #define KEY_KPLEFTPAREN 179
|
||||
<I188> = 188; // #define KEY_KPRIGHTPAREN 180
|
||||
<I189> = 189; // #define KEY_NEW 181
|
||||
<I190> = 190; // #define KEY_REDO 182
|
||||
<I208> = 208; // #define KEY_PLAYCD 200
|
||||
<I209> = 209; // #define KEY_PAUSECD 201
|
||||
<I210> = 210; // #define KEY_PROG3 202
|
||||
<I211> = 211; // #define KEY_PROG4 203 conflicts with AB11
|
||||
<I212> = 212; // #define KEY_DASHBOARD 204
|
||||
<I213> = 213; // #define KEY_SUSPEND 205
|
||||
<I214> = 214; // #define KEY_CLOSE 206
|
||||
<I215> = 215; // #define KEY_PLAY 207
|
||||
<I216> = 216; // #define KEY_FASTFORWARD 208
|
||||
<I217> = 217; // #define KEY_BASSBOOST 209
|
||||
<I218> = 218; // #define KEY_PRINT 210
|
||||
<I219> = 219; // #define KEY_HP 211
|
||||
<I220> = 220; // #define KEY_CAMERA 212
|
||||
<I221> = 221; // #define KEY_SOUND 213
|
||||
<I222> = 222; // #define KEY_QUESTION 214
|
||||
<I223> = 223; // #define KEY_EMAIL 215
|
||||
<I224> = 224; // #define KEY_CHAT 216
|
||||
<I225> = 225; // #define KEY_SEARCH 217
|
||||
<I226> = 226; // #define KEY_CONNECT 218
|
||||
<I227> = 227; // #define KEY_FINANCE 219
|
||||
<I228> = 228; // #define KEY_SPORT 220
|
||||
<I229> = 229; // #define KEY_SHOP 221
|
||||
<I230> = 230; // #define KEY_ALTERASE 222
|
||||
<I231> = 231; // #define KEY_CANCEL 223
|
||||
<I232> = 232; // #define KEY_BRIGHTNESSDOWN 224
|
||||
<I233> = 233; // #define KEY_BRIGHTNESSUP 225
|
||||
<I234> = 234; // #define KEY_MEDIA 226
|
||||
<I235> = 235; // #define KEY_SWITCHVIDEOMODE 227
|
||||
<I236> = 236; // #define KEY_KBDILLUMTOGGLE 228
|
||||
<I237> = 237; // #define KEY_KBDILLUMDOWN 229
|
||||
<I238> = 238; // #define KEY_KBDILLUMUP 230
|
||||
<I239> = 239; // #define KEY_SEND 231
|
||||
<I240> = 240; // #define KEY_REPLY 232
|
||||
<I241> = 241; // #define KEY_FORWARDMAIL 233
|
||||
<I242> = 242; // #define KEY_SAVE 234
|
||||
<I243> = 243; // #define KEY_DOCUMENTS 235
|
||||
<I244> = 244; // #define KEY_BATTERY 236
|
||||
<I245> = 245; // #define KEY_BLUETOOTH 237
|
||||
<I246> = 246; // #define KEY_WLAN 238
|
||||
<I247> = 247; // #define KEY_UWB 239
|
||||
<I248> = 248; // #define KEY_UNKNOWN 240
|
||||
<I249> = 249; // #define KEY_VIDEO_NEXT 241
|
||||
<I250> = 250; // #define KEY_VIDEO_PREV 242
|
||||
<I251> = 251; // #define KEY_BRIGHTNESS_CYCLE 243
|
||||
<I252> = 252; // #define KEY_BRIGHTNESS_ZERO 244
|
||||
<I253> = 253; // #define KEY_DISPLAY_OFF 245
|
||||
|
||||
// Fake keycodes for virtual keys
|
||||
<LVL3> = 92;
|
||||
<MDSW> = 203;
|
||||
<ALT> = 204;
|
||||
<META> = 205;
|
||||
<SUPR> = 206;
|
||||
<HYPR> = 207;
|
||||
|
||||
indicator 1 = "Caps Lock";
|
||||
indicator 2 = "Num Lock";
|
||||
indicator 3 = "Scroll Lock";
|
||||
indicator 4 = "Compose";
|
||||
indicator 5 = "Kana";
|
||||
indicator 6 = "Sleep";
|
||||
indicator 7 = "Suspend";
|
||||
indicator 8 = "Mute";
|
||||
indicator 9 = "Misc";
|
||||
indicator 10 = "Mail";
|
||||
indicator 11 = "Charging";
|
||||
|
||||
alias <ALGR> = <RALT>;
|
||||
|
||||
// For Brazilian ABNT2
|
||||
alias <KPPT> = <I129>;
|
||||
};
|
||||
|
||||
// PC98
|
||||
xkb_keycodes "pc98" {
|
||||
include "evdev(evdev)"
|
||||
};
|
|
@ -0,0 +1,410 @@
|
|||
// "standard" XFree86 codes
|
||||
// It seems that the "default" must be the first entry in the file.
|
||||
|
||||
default xkb_keycodes "xfree86" {
|
||||
include "xfree86(basic)"
|
||||
<BKSL> = 51;
|
||||
alias <AC12> = <BKSL>;
|
||||
<LSGT> = 94;
|
||||
};
|
||||
|
||||
xkb_keycodes "basic" {
|
||||
|
||||
minimum= 8;
|
||||
maximum= 255;
|
||||
|
||||
<TLDE> = 49;
|
||||
alias <AE00> = <TLDE>; // Some geometries use AE00
|
||||
<AE01> = 10;
|
||||
<AE02> = 11;
|
||||
<AE03> = 12;
|
||||
<AE04> = 13;
|
||||
<AE05> = 14;
|
||||
<AE06> = 15;
|
||||
<AE07> = 16;
|
||||
<AE08> = 17;
|
||||
<AE09> = 18;
|
||||
<AE10> = 19;
|
||||
<AE11> = 20;
|
||||
<AE12> = 21;
|
||||
<BKSP> = 22;
|
||||
|
||||
<TAB> = 23;
|
||||
<AD01> = 24;
|
||||
<AD02> = 25;
|
||||
<AD03> = 26;
|
||||
<AD04> = 27;
|
||||
<AD05> = 28;
|
||||
<AD06> = 29;
|
||||
<AD07> = 30;
|
||||
<AD08> = 31;
|
||||
<AD09> = 32;
|
||||
<AD10> = 33;
|
||||
<AD11> = 34;
|
||||
<AD12> = 35;
|
||||
<RTRN> = 36;
|
||||
|
||||
<CAPS> = 66;
|
||||
<AC01> = 38;
|
||||
<AC02> = 39;
|
||||
<AC03> = 40;
|
||||
<AC04> = 41;
|
||||
<AC05> = 42;
|
||||
<AC06> = 43;
|
||||
<AC07> = 44;
|
||||
<AC08> = 45;
|
||||
<AC09> = 46;
|
||||
<AC10> = 47;
|
||||
<AC11> = 48;
|
||||
|
||||
<LFSH> = 50;
|
||||
<AB01> = 52;
|
||||
<AB02> = 53;
|
||||
<AB03> = 54;
|
||||
<AB04> = 55;
|
||||
<AB05> = 56;
|
||||
<AB06> = 57;
|
||||
<AB07> = 58;
|
||||
<AB08> = 59;
|
||||
<AB09> = 60;
|
||||
<AB10> = 61;
|
||||
<RTSH> = 62;
|
||||
|
||||
<LALT> = 64;
|
||||
<LCTL> = 37;
|
||||
<SPCE> = 65;
|
||||
<RCTL> = 109;
|
||||
<RALT> = 113;
|
||||
// Microsoft keyboard extra keys
|
||||
<LWIN> = 115;
|
||||
<RWIN> = 116;
|
||||
<MENU> = 117;
|
||||
|
||||
<ESC> = 9;
|
||||
<FK01> = 67;
|
||||
<FK02> = 68;
|
||||
<FK03> = 69;
|
||||
<FK04> = 70;
|
||||
<FK05> = 71;
|
||||
<FK06> = 72;
|
||||
<FK07> = 73;
|
||||
<FK08> = 74;
|
||||
<FK09> = 75;
|
||||
<FK10> = 76;
|
||||
<FK11> = 95;
|
||||
<FK12> = 96;
|
||||
|
||||
<PRSC> = 111;
|
||||
<SYRQ> = 92;
|
||||
<SCLK> = 78;
|
||||
<PAUS> = 110;
|
||||
<BRK> = 114;
|
||||
|
||||
<INS> = 106;
|
||||
<HOME> = 97;
|
||||
<PGUP> = 99;
|
||||
<DELE> = 107;
|
||||
<END> = 103;
|
||||
<PGDN> = 105;
|
||||
|
||||
<UP> = 98;
|
||||
<LEFT> = 100;
|
||||
<DOWN> = 104;
|
||||
<RGHT> = 102;
|
||||
|
||||
<NMLK> = 77;
|
||||
<KPDV> = 112;
|
||||
<KPMU> = 63;
|
||||
<KPSU> = 82;
|
||||
|
||||
<KP7> = 79;
|
||||
<KP8> = 80;
|
||||
<KP9> = 81;
|
||||
<KPAD> = 86;
|
||||
|
||||
<KP4> = 83;
|
||||
<KP5> = 84;
|
||||
<KP6> = 85;
|
||||
|
||||
<KP1> = 87;
|
||||
<KP2> = 88;
|
||||
<KP3> = 89;
|
||||
<KPEN> = 108;
|
||||
|
||||
<KP0> = 90;
|
||||
<KPDL> = 91;
|
||||
<KPEQ> = 126;
|
||||
|
||||
<FK13> = 118;
|
||||
<FK14> = 119;
|
||||
<FK15> = 120;
|
||||
<FK16> = 121;
|
||||
<FK17> = 122;
|
||||
<KPDC> = 123;
|
||||
|
||||
// Keys that are generated on Japanese keyboards
|
||||
|
||||
alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle
|
||||
<HKTG> = 208; // Hiragana_Katakana toggle
|
||||
<AB11> = 211; // backslash/underscore
|
||||
<XFER> = 129; // Henkan
|
||||
<NFER> = 131; // Muhenkan
|
||||
<AE13> = 133; // Yen
|
||||
<EISU> = 210; // Alphanumeric mode on macintosh
|
||||
<KANA> = 209; // Kana mode on macintosh
|
||||
|
||||
// Keys that are generated on Korean keyboards
|
||||
|
||||
alias <HNGL> = <FK16>; // Hangul Latin toggle
|
||||
alias <HJCV> = <FK17>; // Hangul to Hanja conversion
|
||||
|
||||
// Extended keys that may be generated on "Internet" keyboards.
|
||||
// These are not standardised, hence the meaningless names.
|
||||
// The entries commented out are never generated because the raw codes
|
||||
// in those positions are already used for well-defined keys.
|
||||
|
||||
<I02> = 130;
|
||||
<I04> = 132;
|
||||
alias <I05> = <AE13>;
|
||||
<I06> = 134;
|
||||
<I07> = 135;
|
||||
<I08> = 136;
|
||||
<I09> = 137;
|
||||
<I0A> = 138;
|
||||
<I0B> = 139;
|
||||
<I0C> = 140;
|
||||
<I0D> = 141;
|
||||
<I0E> = 142;
|
||||
<I0F> = 143;
|
||||
<I10> = 144;
|
||||
<I11> = 145;
|
||||
<I12> = 146;
|
||||
<I13> = 147;
|
||||
<I14> = 148;
|
||||
<I15> = 149;
|
||||
<I16> = 150;
|
||||
<I17> = 151;
|
||||
<I18> = 152;
|
||||
<I19> = 153;
|
||||
<I1A> = 154;
|
||||
<I1B> = 155;
|
||||
// <I1C> = 156; <META>
|
||||
// <I1D> = 157; <K59>
|
||||
<I1E> = 158;
|
||||
<I1F> = 159;
|
||||
<I20> = 160;
|
||||
<I21> = 161;
|
||||
<I22> = 162;
|
||||
<I23> = 163;
|
||||
<I24> = 164;
|
||||
<I25> = 165;
|
||||
<I26> = 166;
|
||||
<I27> = 167;
|
||||
<I28> = 168;
|
||||
<I29> = 169;
|
||||
// <I2A> = 170; <K5A>
|
||||
<I2B> = 171;
|
||||
<I2C> = 172;
|
||||
<I2D> = 173;
|
||||
<I2E> = 174;
|
||||
<I2F> = 175;
|
||||
<I30> = 176;
|
||||
<I31> = 177;
|
||||
<I32> = 178;
|
||||
<I33> = 179;
|
||||
<I34> = 180;
|
||||
// <I35> = 181; <K5B>
|
||||
// <I36> = 182; <K5D>
|
||||
// <I37> = 183; <K5E>
|
||||
// <I38> = 184; <K5F>
|
||||
<I39> = 185;
|
||||
<I3A> = 186;
|
||||
<I3B> = 187;
|
||||
<I3C> = 188;
|
||||
// <I3D> = 189; <K62>
|
||||
// <I3E> = 190; <K63>
|
||||
// <I3F> = 191; <K64>
|
||||
// <I40> = 192; <K65>
|
||||
// <I41> = 193; <K66>
|
||||
<I42> = 194;
|
||||
<I43> = 195;
|
||||
<I44> = 196;
|
||||
<I45> = 197;
|
||||
// <I46> = 198; <K67>
|
||||
// <I47> = 199; <K68>
|
||||
// <I48> = 200; <K69>
|
||||
// <I49> = 201; <K6A>
|
||||
<I4A> = 202;
|
||||
// <I4B> = 203; <K6B>
|
||||
// <I4C> = 204; <K6C>
|
||||
// <I4D> = 205; <K6D>
|
||||
// <I4E> = 206; <K6E>
|
||||
// <I4F> = 207; <K6F>
|
||||
// <I50> = 208; <K70>
|
||||
// <I51> = 209; <K71>
|
||||
// <I52> = 210; <K72>
|
||||
// <I53> = 211; <K73>
|
||||
<I54> = 212;
|
||||
<I55> = 213;
|
||||
<I56> = 214;
|
||||
<I57> = 215;
|
||||
<I58> = 216;
|
||||
<I59> = 217;
|
||||
<I5A> = 218;
|
||||
// <I5B> = 219; <K74>
|
||||
// <I5C> = 220; <K75>
|
||||
// <I5D> = 221; <K76>
|
||||
<I5E> = 222;
|
||||
<I5F> = 223;
|
||||
<I60> = 224;
|
||||
<I61> = 225;
|
||||
<I62> = 226;
|
||||
<I63> = 227;
|
||||
<I64> = 228;
|
||||
<I65> = 229;
|
||||
<I66> = 230;
|
||||
<I67> = 231;
|
||||
<I68> = 232;
|
||||
<I69> = 233;
|
||||
<I6A> = 234;
|
||||
<I6B> = 235;
|
||||
<I6C> = 236;
|
||||
<I6D> = 237;
|
||||
<I6E> = 238;
|
||||
<I6F> = 239;
|
||||
<I70> = 240;
|
||||
<I71> = 241;
|
||||
<I72> = 242;
|
||||
<I73> = 243;
|
||||
<I74> = 244;
|
||||
<I75> = 245;
|
||||
<I76> = 246;
|
||||
<I77> = 247;
|
||||
<I78> = 248;
|
||||
<I79> = 249;
|
||||
<I7A> = 250;
|
||||
<I7B> = 251;
|
||||
<I7C> = 252;
|
||||
alias <IR7C> = <I7C>;
|
||||
<I7D> = 253;
|
||||
alias <IR7D> = <I7D>;
|
||||
<I7E> = 254;
|
||||
<I7F> = 255;
|
||||
|
||||
// MacBooks generate 0x65 for the lower brightness key
|
||||
<II65> = 101;
|
||||
|
||||
// Required for apple/logitech_g15 keyboard
|
||||
<II5D> = 93;
|
||||
|
||||
// Codes generated for scancodes 0x59-0x5f, 0x62-0x76
|
||||
<K59> = 157; // <I1D>
|
||||
<K5A> = 170; // <I2A>
|
||||
<K5B> = 181; // <I35>
|
||||
alias <K5C> = <KPEQ>;
|
||||
<K5D> = 182; // <I36>
|
||||
<K5E> = 183; // <I37>
|
||||
<K5F> = 184; // <I38>
|
||||
<K62> = 189; // <I3D>
|
||||
<K63> = 190; // <I3E>
|
||||
<K64> = 191; // <I3F>
|
||||
<K65> = 192; // <I40>
|
||||
<K66> = 193; // <I41>
|
||||
<K67> = 198; // <I46>
|
||||
<K68> = 199; // <I47>
|
||||
<K69> = 200; // <I48>
|
||||
<K6A> = 201; // <I49>
|
||||
<K6B> = 203; // <I4B>
|
||||
<K6C> = 204; // <I4C>
|
||||
<K6D> = 205; // <I4D>
|
||||
<K6E> = 206; // <I4E>
|
||||
<K6F> = 207; // <I4F>
|
||||
alias <K70> = <HKTG>; // <I50>
|
||||
alias <K71> = <KANA>; // <I51>
|
||||
alias <K72> = <EISU>; // <I52>
|
||||
alias <K73> = <AB11>; // <I53>
|
||||
<K74> = 219; // <I5B>
|
||||
<K75> = 220; // <I5C>
|
||||
<K76> = 221; // <I5D>
|
||||
|
||||
// Solaris compatibility
|
||||
|
||||
alias <LMTA> = <LWIN>;
|
||||
alias <RMTA> = <RWIN>;
|
||||
alias <COMP> = <MENU>;
|
||||
alias <POWR> = <I0C>;
|
||||
alias <MUTE> = <I0D>;
|
||||
alias <VOL-> = <I0E>;
|
||||
alias <VOL+> = <I0F>;
|
||||
alias <HELP> = <I10>;
|
||||
alias <STOP> = <I11>;
|
||||
alias <AGAI> = <I12>;
|
||||
alias <PROP> = <I13>;
|
||||
alias <UNDO> = <I14>;
|
||||
alias <FRNT> = <I15>;
|
||||
alias <COPY> = <I16>;
|
||||
alias <OPEN> = <I17>;
|
||||
alias <PAST> = <I18>;
|
||||
alias <FIND> = <I19>;
|
||||
alias <CUT> = <I1A>;
|
||||
alias <OUTP> = <I56>;
|
||||
alias <KITG> = <I57>;
|
||||
alias <KIDN> = <I58>;
|
||||
alias <KIUP> = <I59>;
|
||||
|
||||
// Other codes never generated. The XFree86 ddx never generates
|
||||
// these codes.
|
||||
// Thus we can use them as fake keys
|
||||
<MDSW> = 8;
|
||||
<LVL3> = 124; // <U7C>
|
||||
<ALT> = 125; // <U7D>
|
||||
<META> = 156; // <I1C>
|
||||
<SUPR> = 127; // <U7F>
|
||||
<HYPR> = 128; // <U80>
|
||||
|
||||
indicator 1 = "Caps Lock";
|
||||
indicator 2 = "Num Lock";
|
||||
indicator 3 = "Scroll Lock";
|
||||
|
||||
alias <ALGR> = <RALT>;
|
||||
|
||||
// For Brazilian ABNT2
|
||||
alias <KPPT> = <I06>;
|
||||
};
|
||||
|
||||
// What keyboard is this?
|
||||
|
||||
xkb_keycodes "102" {
|
||||
include "xfree86(xfree86)"
|
||||
|
||||
// There will be warnings from xkbcomp because of multiple definitions.
|
||||
|
||||
<RALT> = 122;
|
||||
<RCTL> = 123;
|
||||
|
||||
<PRSC> = 121;
|
||||
<PAUS> = 118;
|
||||
|
||||
<INS> = 131;
|
||||
<HOME> = 135;
|
||||
<PGUP> = 119;
|
||||
<DELE> = 129;
|
||||
<END> = 130;
|
||||
<PGDN> = 134;
|
||||
|
||||
<UP> = 128;
|
||||
<LEFT> = 132;
|
||||
<DOWN> = 120;
|
||||
<RGHT> = 133;
|
||||
|
||||
<KPDV> = 125;
|
||||
|
||||
<KPEN> = 124;
|
||||
};
|
||||
|
||||
|
||||
// IBM ThinkPad Z60m/Z60t/Z61m/Z61t
|
||||
xkb_keycodes "thinkpadz60" {
|
||||
include "xfree86(xfree86)"
|
||||
<MENU> = 227;
|
||||
};
|
|
@ -0,0 +1,887 @@
|
|||
! 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 <\|> 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 <Less/Greater>
|
||||
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 <Less/Greater> 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 <Less/Greater>
|
||||
compose:102-altgr 3rd level of <Less/Greater>
|
||||
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+<key>) 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 <Less/Greater> 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
|
|
@ -0,0 +1,887 @@
|
|||
! 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 <\|> 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 <Less/Greater>
|
||||
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 <Less/Greater> 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 <Less/Greater>
|
||||
compose:102-altgr 3rd level of <Less/Greater>
|
||||
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+<key>) 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 <Less/Greater> 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
|
|
@ -0,0 +1,105 @@
|
|||
// based on
|
||||
// albanian keyboard layout
|
||||
// done by Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
//
|
||||
|
||||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic" {
|
||||
|
||||
include "latin(type3)"
|
||||
|
||||
name[Group1]="Albanian";
|
||||
|
||||
key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
|
||||
key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
|
||||
key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] };
|
||||
key <AE04> { [ 4, dollar, dead_breve, dollar ] };
|
||||
key <AE05> { [ 5, percent, dead_abovering, threeeighths] };
|
||||
key <AE06> { [ 6, asciicircum, dead_ogonek, fiveeighths ] };
|
||||
key <AE07> { [ 7, ampersand, grave, dead_grave ] };
|
||||
key <AE08> { [ 8, asterisk, dead_abovedot, trademark ] };
|
||||
key <AE09> { [ 9, parenleft, dead_acute, plusminus ] };
|
||||
key <AE10> { [ 0, parenright, dead_doubleacute, degree ] };
|
||||
key <AE11> { [ minus, underscore, dead_diaeresis, questiondown] };
|
||||
|
||||
key <AD03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AD11> { [ ccedilla, Ccedilla, division, dead_abovering ] };
|
||||
key <AD12> { [ at, apostrophe, multiply, dead_macron ] };
|
||||
|
||||
key <AC02> { [ s, S, dstroke, section ] };
|
||||
key <AC03> { [ d, D, Dstroke, ETH ] };
|
||||
key <AC10> { [ediaeresis, Ediaeresis, dollar, dead_doubleacute ] };
|
||||
key <AC11> { [bracketleft, braceleft, ssharp, dead_caron ] };
|
||||
key <TLDE> { [ backslash, bar, notsign, notsign ] };
|
||||
|
||||
key <BKSL> { [bracketright, braceright, currency, dead_breve ] };
|
||||
key <AB08> { [ comma, semicolon, less, multiply ] };
|
||||
key <AB09> { [ period, colon, greater, division ] };
|
||||
key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "plisi-d1" {
|
||||
|
||||
include "us"
|
||||
|
||||
name[Group1]= "Albanian (Plisi D1)";
|
||||
|
||||
key <TLDE> { [ grave, asciitilde ] };
|
||||
key <AE01> { [ 1, exclam ] };
|
||||
key <AE02> { [ 2, at ] };
|
||||
key <AE03> { [ 3, numbersign ] };
|
||||
key <AE04> { [ 4, dollar, EuroSign ] };
|
||||
key <AE05> { [ 5, percent ] };
|
||||
key <AE06> { [ 6, asciicircum ] };
|
||||
key <AE07> { [ 7, ampersand, braceleft ] };
|
||||
key <AE08> { [ 8, asterisk, braceright ] };
|
||||
key <AE09> { [ 9, parenleft, bracketleft ] };
|
||||
key <AE10> { [ 0, parenright, bracketright ] };
|
||||
key <AE11> { [ minus, underscore ] };
|
||||
key <AE12> { [ equal, plus ] };
|
||||
|
||||
key <AD01> { [ q, Q ] };
|
||||
key <AD02> { [ w, W ] };
|
||||
key <AD03> { [ e, E ] };
|
||||
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> { [ ccedilla, Ccedilla ] };
|
||||
key <AD12> { [ greater, less ] };
|
||||
|
||||
key <AC01> { [ a, A ] };
|
||||
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> { [ ediaeresis, Ediaeresis ] };
|
||||
key <AC11> { [ apostrophe, quotedbl ] };
|
||||
|
||||
key <AB01> { [ z, Z ] };
|
||||
key <AB02> { [ x, X ] };
|
||||
key <AB03> { [ c, C ] };
|
||||
key <AB04> { [ v, V ] };
|
||||
key <AB05> { [ b, B ] };
|
||||
key <AB06> { [ n, N ] };
|
||||
key <AB07> { [ m, M ] };
|
||||
key <AB08> { [ comma, semicolon ] };
|
||||
key <AB09> { [ period, colon ] };
|
||||
key <AB10> { [ slash, question ] };
|
||||
|
||||
key <BKSL> { [ backslash, bar ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
// based on a keyboard map from an 'xkb/symbols/de' file
|
||||
|
||||
default
|
||||
xkb_symbols "basic" {
|
||||
|
||||
include "de(basic)"
|
||||
|
||||
name[Group1]="German (Austria)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nodeadkeys" {
|
||||
|
||||
include "de(nodeadkeys)"
|
||||
|
||||
name[Group1]="German (Austria, eliminate dead keys)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "mac" {
|
||||
|
||||
include "de(mac)"
|
||||
|
||||
name[Group1]= "German (Austria, Macintosh)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sundeadkeys" {
|
||||
|
||||
include "de(Sundeadkeys)"
|
||||
|
||||
name[Group1]="German (Austria, Sun dead keys)";
|
||||
};
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic" {
|
||||
|
||||
include "rs(latin)"
|
||||
name[Group1]="Bosnian";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "us" {
|
||||
|
||||
include "rs(latinyz)"
|
||||
name[Group1]= "Bosnian (US keyboard with Bosnian letters)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "alternatequotes" {
|
||||
|
||||
include "rs(latinalternatequotes)"
|
||||
name[Group1]= "Bosnian (with guillemets for quotes)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "unicode" {
|
||||
|
||||
include "rs(latinunicode)"
|
||||
name[Group1]= "Bosnian (with Bosnian digraphs)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "unicodeus" {
|
||||
|
||||
include "rs(latinunicodeyz)"
|
||||
name[Group1]= "Bosnian (US keyboard with Bosnian digraphs)";
|
||||
};
|
|
@ -0,0 +1,239 @@
|
|||
// based on a keyboard map from an 'xkb/symbols/be' file
|
||||
|
||||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic" {
|
||||
|
||||
include "latin"
|
||||
|
||||
name[Group1]="Belgian";
|
||||
|
||||
key <AE01> { [ ampersand, 1, bar, exclamdown ] };
|
||||
key <AE02> { [ eacute, 2, at, oneeighth ] };
|
||||
key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
|
||||
key <AE04> { [apostrophe, 4, onequarter, dollar ] };
|
||||
key <AE05> { [ parenleft, 5, onehalf, threeeighths ] };
|
||||
key <AE06> { [ section, 6, asciicircum, fiveeighths ] };
|
||||
key <AE07> { [ egrave, 7, braceleft, seveneighths ] };
|
||||
key <AE08> { [ exclam, 8, bracketleft, trademark ] };
|
||||
key <AE09> { [ ccedilla, 9, braceleft, plusminus ] };
|
||||
key <AE10> { [ agrave, 0, braceright, degree ] };
|
||||
key <AE11> { [parenright, degree, backslash, questiondown ] };
|
||||
key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
|
||||
|
||||
key <AD01> { [ a, A, at, Greek_OMEGA ] };
|
||||
key <AD02> { [ z, Z, lstroke, Lstroke ] };
|
||||
key <AD03> { [ e, E, EuroSign, cent ] };
|
||||
key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ
|
||||
key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] };
|
||||
key <AD12> { [ dollar, asterisk, bracketright, dead_macron ] };
|
||||
|
||||
key <AC01> { [ q, Q, ae, AE ] };
|
||||
key <AC10> { [ m, M, dead_acute, dead_doubleacute ] };
|
||||
key <AC11> { [ ugrave, percent, dead_acute, dead_caron ] };
|
||||
key <TLDE> { [twosuperior, threesuperior, notsign, notsign ] };
|
||||
|
||||
key <BKSL> { [ mu, sterling, dead_grave, dead_breve ] };
|
||||
key <AB01> { [ w, W, guillemotleft, less ] };
|
||||
key <AB07> { [ comma, question, dead_cedilla, masculine ] };
|
||||
key <AB08> { [ semicolon, period, horizconnector, multiply ] };
|
||||
key <AB09> { [ colon, slash, periodcentered, division ] };
|
||||
key <AB10> { [ equal, plus, dead_tilde, dead_abovedot] };
|
||||
key <LSGT> { [ less, greater, backslash, backslash ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
|
||||
// Variant of the fr(oss) layout for Belgium
|
||||
// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
|
||||
//
|
||||
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
|
||||
// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃
|
||||
// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ‑ ┃ arrière┃
|
||||
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
|
||||
// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃
|
||||
// ┃Tab ↹ ┃ 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 → │ ? … │ . . │ / ∕ │ + − ┃ ┃
|
||||
// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧ ┃
|
||||
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
|
||||
// ┃ ┃ ┃ ┃ ␣ Espace insécable ⍽ ┃ ┃ ┃ ┃
|
||||
// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
|
||||
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "oss" {
|
||||
|
||||
include "fr(oss)"
|
||||
include "be(oss_frbe)"
|
||||
|
||||
name[Group1]="Belgian (alternative)";
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "oss_frbe" {
|
||||
// First row
|
||||
key <TLDE> { [ twosuperior, threesuperior, onesuperior, lessthanequal ] }; // ² ³ ¹ ≤
|
||||
key <AE01> { [ ampersand, 1, bar, greaterthanequal ] }; // & 1 | ≥
|
||||
key <AE02> { [ eacute, 2, at, Eacute ] }; // é 2 @ É
|
||||
key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
|
||||
key <AE05> { [ parenleft, 5, dead_caron, 0x1002013 ] }; // ( 5 ˇ – (tiret demi-cadratin)
|
||||
key <AE06> { [ section, 6, asciicircum, trademark ] }; // § 6 ^ ™
|
||||
key <AE08> { [ exclam, 8, asciitilde, exclamdown ] }; // ! 8 ~ ¡
|
||||
key <AE09> { [ ccedilla, 9, braceleft, Ccedilla ] }; // ç 9 { Ç
|
||||
key <AE10> { [ agrave, 0, braceright, Agrave ] }; // à 0 } À
|
||||
key <AE11> { [ parenright, degree, oslash, Ooblique ] }; // ) ° ø Ø
|
||||
key <AE12> { [ minus, underscore, 0x1002011, plusminus ] }; // - _ - (tiret insécable) ±
|
||||
|
||||
// Second row
|
||||
key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
|
||||
key <AD12> { [ dollar, asterisk, bracketright, dead_ogonek ] }; // $ * ] ̨
|
||||
|
||||
// Third row
|
||||
key <AC09> { [ l, L, dead_stroke ] };
|
||||
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
|
||||
|
||||
// Fourth row
|
||||
key <LSGT> { [ less, greater, backslash, notequal ] }; // < > \ ≠
|
||||
key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ −
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "oss_latin9" {
|
||||
|
||||
// Restricts the be(oss) layout to latin9 symbols
|
||||
|
||||
include "fr(oss_latin9)"
|
||||
include "be(oss_frbe)"
|
||||
include "keypad(oss_latin9)"
|
||||
|
||||
name[Group1]="Belgian (alternative, Latin-9 only)";
|
||||
|
||||
// First row
|
||||
key <TLDE> { [ twosuperior, threesuperior, onesuperior, less ] }; // ² ³ ¹ <
|
||||
key <AE01> { [ ampersand, 1, bar, greater ] }; // & 1 | >
|
||||
key <AE04> { [ apostrophe, 4, dead_cedilla, minus ] }; // ' 4 ¸ -
|
||||
key <AE05> { [ parenleft, 5, dead_caron, minus ] }; // ( 5 ˇ -
|
||||
key <AE06> { [ section, 6, asciicircum, asciicircum ] }; // § 6 ^ ^
|
||||
key <AE12> { [ minus, underscore, minus, plusminus ] }; // - _ - ±
|
||||
|
||||
// Second row
|
||||
key <AD12> { [ dollar, asterisk, bracketright, dead_cedilla ] }; // $ * ] ¸
|
||||
|
||||
// Third row
|
||||
key <AC09> { [ l, L, l, L ] }; // l L l L
|
||||
key <BKSL> { [ mu, sterling, dead_grave, dead_circumflex ] }; // µ £ ` ^
|
||||
|
||||
// Fourth row
|
||||
key <LSGT> { [ less, greater, backslash, equal ] }; // < > \ =
|
||||
key <AB10> { [ equal, plus, dead_tilde, minus ] }; // = + ~ -
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "oss_Sundeadkeys" {
|
||||
|
||||
// Modifies the basic be(oss) layout to use the Sun dead keys
|
||||
|
||||
include "be(oss)"
|
||||
|
||||
// First row
|
||||
key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
|
||||
|
||||
// Second row
|
||||
key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
|
||||
|
||||
//Third row
|
||||
key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
|
||||
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
|
||||
|
||||
// Fourth row
|
||||
key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ −
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "oss_sundeadkeys" {
|
||||
|
||||
include "be(oss_Sundeadkeys)"
|
||||
|
||||
name[Group1]="Belgian (alternative, Sun dead keys)";
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "iso-alternate" {
|
||||
include "be(basic)"
|
||||
name[Group1]="Belgian (ISO alternate)";
|
||||
|
||||
key <AD01> { [ a, A, ae, AE ] };
|
||||
key <AD02> { [ z, Z, guillemotleft, less ] };
|
||||
key <AC01> { [ q, Q, at, Greek_OMEGA ] };
|
||||
key <AC10> { [ m, M, mu, masculine ] };
|
||||
key <AB01> { [ w, W, lstroke, Lstroke ] };
|
||||
key <AB07> { [ comma, question, dead_cedilla, dead_doubleacute ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sundeadkeys" {
|
||||
|
||||
// Use the Sun dead keys
|
||||
|
||||
include "be(basic)"
|
||||
name[Group1]="Belgian (Sun dead keys)";
|
||||
|
||||
key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, bracketleft] };
|
||||
key <AC11> { [ ugrave, percent, dead_acute, dead_acute ] };
|
||||
key <BKSL> { [ mu, sterling, dead_grave, dead_grave ] };
|
||||
key <AB07> { [ comma, question, dead_cedilla, dead_cedilla] };
|
||||
key <AB10> { [ equal, plus, dead_tilde, dead_tilde ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "Sundeadkeys" {
|
||||
|
||||
// Use the Sun dead keys
|
||||
|
||||
include "be(sundeadkeys)"
|
||||
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nodeadkeys" {
|
||||
|
||||
// Eliminates dead keys from the basic Belgian layout
|
||||
|
||||
include "be(basic)"
|
||||
name[Group1]="Belgian (eliminate dead keys)";
|
||||
|
||||
key <AE12> { [ minus, underscore, cedilla, ogonek ] };
|
||||
key <AD11> { [asciicircum, diaeresis, bracketleft, bracketleft] };
|
||||
key <AD12> { [ dollar, asterisk, bracketright, macron ] };
|
||||
key <AC10> { [ m, M, acute, doubleacute ] };
|
||||
key <AC11> { [ ugrave, percent, apostrophe, apostrophe ] };
|
||||
key <BKSL> { [ mu, sterling, grave, grave ] };
|
||||
key <AB07> { [ comma, question, cedilla, masculine ] };
|
||||
key <AB10> { [ equal, plus, asciitilde, asciitilde ] };
|
||||
};
|
||||
|
||||
// Wang model 724 azerty Belgium keyboard
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "wang" {
|
||||
|
||||
include "be(basic)"
|
||||
include "keypad(legacy_wang)"
|
||||
name[Group1]="Belgian (Wang model 724 azerty)";
|
||||
|
||||
// Engravings on Wang 725-3771-ae
|
||||
key <TLDE> { [ twosuperior, threesuperior, notsign, asciitilde ] };
|
||||
key <LSGT> { [ less, greater, backslash, brokenbar ] };
|
||||
};
|
||||
|
||||
// EXTRAS:
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sun_type6" {
|
||||
include "sun_vndr/be(sun_type6)"
|
||||
};
|
|
@ -0,0 +1,251 @@
|
|||
//////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev <anton@lml.bas.bg>
|
||||
//
|
||||
// This software may be used, modified, copied, distributed, and sold,
|
||||
// both in source and binary form provided that the above copyright
|
||||
// notice and these terms are retained. The name of the author may not
|
||||
// be used to endorse or promote products derived from this software
|
||||
// without prior permission. THIS SOFTWARE IS PROVIDED "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. IN NO EVENT
|
||||
// SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT
|
||||
// OF THE USE OF THIS SOFTWARE.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Version 2.0
|
||||
|
||||
// The following variants are defined in this file:
|
||||
|
||||
// "bds" - the BDS keyboard layout compliant with the proposed
|
||||
// Bulgarian state standard BDS 5237:2006
|
||||
|
||||
// "phonetic" - the phonetic Bulgarian layout with the traditional position
|
||||
// of the letters
|
||||
|
||||
// "bas_phonetic" - the phonetic keyboard layout compliant with the
|
||||
// proposed Bulgarian state standard BDS 5237:2006
|
||||
|
||||
// "latin" - an extended variant of the QWERTY layout with symbols that
|
||||
// Bulgarian users will type while the keyboard is in Latin mode
|
||||
|
||||
// The reasons behind the layout of the symbols in levels 3 and 4 are
|
||||
// explained in http://arxiv.org/abs/0905.0484 (in Bulgarian).
|
||||
|
||||
// Two notes for the maintainers of xkeyboard-config:
|
||||
|
||||
// 1. Please do not use key names such as <LatQ> for the Bulgarian
|
||||
// phonetic layouts. The placement of the symbols must stay always
|
||||
// the same regardless of which one of the alias sets in
|
||||
// xkb/keycodes/aliases is used.
|
||||
|
||||
// 2. The layouts should not include level3(ralt_switch).
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Describes Bulgarian keyboard "BDS" modified according to the
|
||||
// the new state standard BDS 5237:2006 and extended with symbols in
|
||||
// levels 3 and 4.
|
||||
default partial alphanumeric_keys
|
||||
xkb_symbols "bds" {
|
||||
|
||||
name[Group1]= "Bulgarian";
|
||||
|
||||
key <TLDE> {[ parenleft, parenright, bracketleft, bracketright ]};
|
||||
key <AE01> {[ 1, exclam ]};
|
||||
key <AE02> {[ 2, question ]};
|
||||
key <AE03> {[ 3, plus, dagger, dagger ]};
|
||||
key <AE04> {[ 4, quotedbl ]};
|
||||
key <AE05> {[ 5, percent, U2329, U232A ]};
|
||||
key <AE06> {[ 6, equal, emdash, emdash ]};
|
||||
key <AE07> {[ 7, colon, ellipsis, ellipsis ]};
|
||||
key <AE08> {[ 8, slash, U0300, U0301 ]};
|
||||
key <AE09> {[ 9, endash ]};
|
||||
key <AE10> {[ 0, numerosign ]};
|
||||
key <AE11> {[ minus, dollar, U2011, EuroSign ]};
|
||||
key <AE12> {[ period, EuroSign ]};
|
||||
|
||||
key <AD01> {[ comma, Cyrillic_yeru, rightsinglequotemark, leftsinglequotemark ]};
|
||||
key <AD02> {[ Cyrillic_u, Cyrillic_U ]};
|
||||
key <AD03> {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]};
|
||||
key <AD04> {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]};
|
||||
key <AD05> {[ Cyrillic_sha, Cyrillic_SHA ]};
|
||||
key <AD06> {[ Cyrillic_shcha, Cyrillic_SHCHA ]};
|
||||
key <AD07> {[ Cyrillic_ka, Cyrillic_KA, copyright, copyright ]};
|
||||
key <AD08> {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]};
|
||||
key <AD09> {[ Cyrillic_de, Cyrillic_DE ]};
|
||||
key <AD10> {[ Cyrillic_ze, Cyrillic_ZE ]};
|
||||
key <AD11> {[ Cyrillic_tse, Cyrillic_TSE ]};
|
||||
key <AD12> {[ semicolon, section ]};
|
||||
|
||||
key <AC01> {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]};
|
||||
key <AC02> {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]};
|
||||
key <AC03> {[ Cyrillic_a, Cyrillic_A ]};
|
||||
key <AC04> {[ Cyrillic_o, Cyrillic_O ]};
|
||||
key <AC05> {[ Cyrillic_zhe, Cyrillic_ZHE ]};
|
||||
key <AC06> {[ Cyrillic_ghe, Cyrillic_GHE ]};
|
||||
key <AC07> {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]};
|
||||
key <AC08> {[ Cyrillic_en, Cyrillic_EN ]};
|
||||
key <AC09> {[ Cyrillic_ve, Cyrillic_VE ]};
|
||||
key <AC10> {[ Cyrillic_em, Cyrillic_EM ]};
|
||||
key <AC11> {[ Cyrillic_che, Cyrillic_CHE ]};
|
||||
key <BKSL> {[ doublelowquotemark, leftdoublequotemark, guillemotleft, guillemotright ]};
|
||||
|
||||
key <LSGT> {[ U045D, U040D ]};
|
||||
key <AB01> {[ Cyrillic_yu, Cyrillic_YU ]};
|
||||
key <AB02> {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]};
|
||||
key <AB03> {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]};
|
||||
key <AB04> {[ Cyrillic_e, Cyrillic_E ]};
|
||||
key <AB05> {[ Cyrillic_ef, Cyrillic_EF ]};
|
||||
key <AB06> {[ Cyrillic_ha, Cyrillic_HA ]};
|
||||
key <AB07> {[ Cyrillic_pe, Cyrillic_PE ]};
|
||||
key <AB08> {[ Cyrillic_er, Cyrillic_ER, registered, registered ]};
|
||||
key <AB09> {[ Cyrillic_el, Cyrillic_EL ]};
|
||||
key <AB10> {[ Cyrillic_be, Cyrillic_BE ]};
|
||||
|
||||
key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
|
||||
|
||||
key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]};
|
||||
};
|
||||
|
||||
// This is an improved variant of the traditional Bulgarian phonetic
|
||||
// keyboard. Some unnecessary symbols in levels 1 and 2 are replaced
|
||||
// by more useful ones (similar as in "bas_phonetic") and additional
|
||||
// symbols are added in levels 3 and 4.
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "phonetic" {
|
||||
name[Group1]= "Bulgarian (traditional phonetic)";
|
||||
|
||||
key <TLDE> {[ Cyrillic_che, Cyrillic_CHE ]};
|
||||
key <AE01> {[ 1, exclam ]};
|
||||
key <AE02> {[ 2, at ]};
|
||||
key <AE03> {[ 3, numerosign ]};
|
||||
key <AE04> {[ 4, dollar, EuroSign, EuroSign ]};
|
||||
key <AE05> {[ 5, percent ]};
|
||||
key <AE06> {[ 6, EuroSign ]};
|
||||
key <AE07> {[ 7, section ]};
|
||||
key <AE08> {[ 8, asterisk ]};
|
||||
key <AE09> {[ 9, parenleft, bracketleft, U2329 ]};
|
||||
key <AE10> {[ 0, parenright, bracketright, U232A ]};
|
||||
key <AE11> {[ minus, endash, U2011, U2011 ]};
|
||||
key <AE12> {[ equal, plus, emdash, dagger ]};
|
||||
|
||||
key <AD01> {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]};
|
||||
key <AD02> {[ Cyrillic_ve, Cyrillic_VE ]};
|
||||
key <AD03> {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]};
|
||||
key <AD04> {[ Cyrillic_er, Cyrillic_ER, registered, registered ]};
|
||||
key <AD05> {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]};
|
||||
key <AD06> {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]};
|
||||
key <AD07> {[ Cyrillic_u, Cyrillic_U ]};
|
||||
key <AD08> {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]};
|
||||
key <AD09> {[ Cyrillic_o, Cyrillic_O ]};
|
||||
key <AD10> {[ Cyrillic_pe, Cyrillic_PE ]};
|
||||
key <AD11> {[ Cyrillic_sha, Cyrillic_SHA ]};
|
||||
key <AD12> {[ Cyrillic_shcha, Cyrillic_SHCHA ]};
|
||||
|
||||
key <AC01> {[ Cyrillic_a, Cyrillic_A ]};
|
||||
key <AC02> {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]};
|
||||
key <AC03> {[ Cyrillic_de, Cyrillic_DE ]};
|
||||
key <AC04> {[ Cyrillic_ef, Cyrillic_EF ]};
|
||||
key <AC05> {[ Cyrillic_ghe, Cyrillic_GHE ]};
|
||||
key <AC06> {[ Cyrillic_ha, Cyrillic_HA ]};
|
||||
key <AC07> {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]};
|
||||
key <AC08> {[ Cyrillic_ka, Cyrillic_KA ]};
|
||||
key <AC09> {[ Cyrillic_el, Cyrillic_EL ]};
|
||||
key <AC10> {[ semicolon, colon, ellipsis, ellipsis ]};
|
||||
key <AC11> {[ apostrophe, quotedbl, rightsinglequotemark, leftsinglequotemark ]};
|
||||
key <BKSL> {[ Cyrillic_yu, Cyrillic_YU ]};
|
||||
|
||||
key <LSGT> {[ U045D, U040D ]};
|
||||
key <AB01> {[ Cyrillic_ze, Cyrillic_ZE ]};
|
||||
key <AB02> {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]};
|
||||
key <AB03> {[ Cyrillic_tse, Cyrillic_TSE, copyright, copyright ]};
|
||||
key <AB04> {[ Cyrillic_zhe, Cyrillic_ZHE ]};
|
||||
key <AB05> {[ Cyrillic_be, Cyrillic_BE ]};
|
||||
key <AB06> {[ Cyrillic_en, Cyrillic_EN ]};
|
||||
key <AB07> {[ Cyrillic_em, Cyrillic_EM ]};
|
||||
key <AB08> {[ comma, doublelowquotemark, guillemotleft, guillemotleft ]};
|
||||
key <AB09> {[ period, leftdoublequotemark, guillemotright, guillemotright ]};
|
||||
key <AB10> {[ slash, question, U0300, U0301 ]};
|
||||
|
||||
key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
|
||||
|
||||
key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]};
|
||||
};
|
||||
|
||||
// This is the Bulgarian phonetic keyboard according to the proposed
|
||||
// state standard BDS 5237:2006 with additional symbols in levels 3 and 4.
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "bas_phonetic" {
|
||||
include "bg(phonetic)"
|
||||
name[Group1]= "Bulgarian (new phonetic)";
|
||||
|
||||
key <TLDE> {[ Cyrillic_yu, Cyrillic_YU ]};
|
||||
key <AD01> {[ Cyrillic_che, Cyrillic_CHE ]};
|
||||
key <AD02> {[ Cyrillic_sha, Cyrillic_SHA ]};
|
||||
key <AD11> {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]};
|
||||
key <BKSL> {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]};
|
||||
key <AB02> {[ Cyrillic_zhe, Cyrillic_ZHE ]};
|
||||
key <AB04> {[ Cyrillic_ve, Cyrillic_VE ]};
|
||||
};
|
||||
|
||||
|
||||
// This is an extended variant of the standard Latin QWERTY layout with
|
||||
// additional symbols in levels 3 and 4.
|
||||
partial hidden alphanumeric_keys
|
||||
xkb_symbols "latin" {
|
||||
|
||||
key <TLDE> {[ grave, asciitilde, U2248, U2245 ]};
|
||||
key <AE01> {[ 1, exclam, notsign, notsign ]};
|
||||
key <AE02> {[ 2, at, twosuperior, enfilledcircbullet ]};
|
||||
key <AE03> {[ 3, numbersign, threesuperior, notequal ]};
|
||||
key <AE04> {[ 4, dollar, EuroSign, sterling ]};
|
||||
key <AE05> {[ 5, percent, U2030, U2030 ]};
|
||||
key <AE06> {[ 6, asciicircum, logicaland, logicalor ]};
|
||||
key <AE07> {[ 7, ampersand, section, section ]};
|
||||
key <AE08> {[ 8, asterisk, infinity, multiply ]};
|
||||
key <AE09> {[ 9, parenleft, U2202, nabla ]};
|
||||
key <AE10> {[ 0, parenright, U2300, U2300 ]};
|
||||
key <AE11> {[ minus, underscore, U2011, endash ]};
|
||||
key <AE12> {[ equal, plus, emdash, plusminus ]};
|
||||
|
||||
key <AD01> {[ q, Q, Greek_THETA, Greek_theta ]};
|
||||
key <AD02> {[ w, W, Greek_OMEGA, Greek_omega ]};
|
||||
key <AD03> {[ e, E, U2203, Greek_epsilon ]};
|
||||
key <AD04> {[ r, R, registered, Greek_rho ]};
|
||||
key <AD05> {[ t, T, trademark, Greek_tau ]};
|
||||
key <AD06> {[ y, Y, yen, Greek_upsilon ]};
|
||||
key <AD07> {[ u, U, intersection, union ]};
|
||||
key <AD08> {[ i, I, integral, Greek_iota ]};
|
||||
key <AD09> {[ o, O, degree, U222E ]};
|
||||
key <AD10> {[ p, P, Greek_PI, Greek_pi ]};
|
||||
key <AD11> {[ bracketleft, braceleft, U2286, includedin ]};
|
||||
key <AD12> {[ bracketright, braceright, U2208, U2209 ]};
|
||||
|
||||
key <AC01> {[ a, A, U2200, Greek_alpha ]};
|
||||
key <AC02> {[ s, S, Greek_SIGMA, Greek_sigma ]};
|
||||
key <AC03> {[ d, D, Greek_DELTA, Greek_delta ]};
|
||||
key <AC04> {[ f, F, Greek_PHI, Greek_phi ]};
|
||||
key <AC05> {[ g, G, Greek_GAMMA, Greek_gamma ]};
|
||||
key <AC06> {[ h, H, U2225, Greek_eta ]};
|
||||
key <AC07> {[ j, J ]};
|
||||
key <AC08> {[ k, K, U03F0, Greek_kappa ]};
|
||||
key <AC09> {[ l, L, Greek_LAMBDA, Greek_lambda ]};
|
||||
key <AC10> {[ semicolon, colon, division, division ]};
|
||||
key <AC11> {[ apostrophe, quotedbl, leftdoublequotemark, rightdoublequotemark]};
|
||||
key <BKSL> {[ backslash, bar, identical, downtack ]};
|
||||
|
||||
key <LSGT> {[ less, greater, U2266, U2267 ]};
|
||||
key <AB01> {[ z, Z, U2220, Greek_zeta ]};
|
||||
key <AB02> {[ x, X, Greek_XI, Greek_xi ]};
|
||||
key <AB03> {[ c, C, copyright, Greek_chi ]};
|
||||
key <AB04> {[ v, V, Greek_PSI, Greek_psi ]};
|
||||
key <AB05> {[ b, B, U03D1, Greek_beta ]};
|
||||
key <AB06> {[ n, N, U207F, Greek_nu ]};
|
||||
key <AB07> {[ m, M, Greek_mu, Greek_mu ]};
|
||||
key <AB08> {[ comma, less, U2266, U21D4 ]};
|
||||
key <AB09> {[ period, greater, U2267, U21D2 ]};
|
||||
key <AB10> {[ slash, question, leftsinglequotemark, rightsinglequotemark]};
|
||||
|
||||
key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
|
||||
|
||||
key <KPDL> { type[Group1] = "KEYPAD", [ KP_Delete, KP_Decimal ]};
|
||||
};
|
|
@ -0,0 +1,310 @@
|
|||
default
|
||||
xkb_symbols "abnt2" {
|
||||
|
||||
// Based on a very simple Brazilian ABNT2 keyboard,
|
||||
// by Ricardo Y. Igarashi (iga@that.com.br).
|
||||
// With added support for dead keys in I18N applications,
|
||||
// by Conectiva (http://www.conectiva.com.br).
|
||||
|
||||
include "latin"
|
||||
name[Group1]="Portuguese (Brazil)";
|
||||
|
||||
key <TLDE> { [ apostrophe, quotedbl, notsign, notsign ] };
|
||||
key <AE02> { [ 2, at, twosuperior, onehalf ] };
|
||||
key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
|
||||
key <AE04> { [ 4, dollar, sterling, onequarter ] };
|
||||
key <AE05> { [ 5, percent, cent, threeeighths ] };
|
||||
key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
|
||||
key <AE12> { [ equal, plus, section, dead_ogonek ] };
|
||||
|
||||
key <AD01> { [ q, Q, slash, slash ] };
|
||||
key <AD02> { [ w, W, question, question ] };
|
||||
key <AD03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AD04> { [ r, R, registered, registered ] };
|
||||
key <AD11> { [ dead_acute, dead_grave, acute, grave ] };
|
||||
key <AD12> { [ bracketleft, braceleft, ordfeminine, dead_macron ] };
|
||||
key <BKSL> { [ bracketright, braceright, masculine, masculine ] };
|
||||
|
||||
key <AC10> { [ ccedilla, Ccedilla, dead_acute,dead_doubleacute ] };
|
||||
key <AC11> { [ dead_tilde,dead_circumflex, asciitilde, asciicircum ] };
|
||||
|
||||
key <LSGT> { [ backslash, bar, masculine, dead_breve ] };
|
||||
key <AB03> { [ c, C, copyright, copyright ] };
|
||||
key <AB07> { [ m, M, mu, mu ] };
|
||||
key <AB10> { [ semicolon, colon, dead_belowdot, dead_abovedot ] };
|
||||
|
||||
// The ABNT-2 keyboard has this special key:
|
||||
key <AB11> { [ slash, question, degree, questiondown ] };
|
||||
|
||||
modifier_map Mod3 { Scroll_Lock };
|
||||
|
||||
include "kpdl(comma)"
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nodeadkeys" {
|
||||
|
||||
include "br(abnt2)"
|
||||
name[Group1]="Portuguese (Brazil, eliminate dead keys)";
|
||||
|
||||
key <AE06> { [ 6, diaeresis, notsign, notsign ] };
|
||||
key <AD11> { [ apostrophe, grave ] };
|
||||
key <AC10> { [ ccedilla, Ccedilla, acute, doubleacute ] };
|
||||
key <AC11> { [ asciitilde, asciicircum ] };
|
||||
key <AB10> { [ semicolon, colon, dead_belowdot, abovedot ] };
|
||||
};
|
||||
|
||||
|
||||
// The ABNT2 keyboard on IBM/Lenovo Thinkpads,
|
||||
// by Piter PUNK <piterpk@terra.com.br>.
|
||||
//
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "thinkpad" {
|
||||
|
||||
include "br(abnt2)"
|
||||
name[Group1]="Portuguese (Brazil)";
|
||||
|
||||
key <RCTL> { [ slash, question, degree, questiondown ] };
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "olpc" {
|
||||
|
||||
include "us(basic)"
|
||||
name[Group1]="Portuguese (Brazil)";
|
||||
|
||||
key <TLDE> { [ apostrophe, quotedbl ] };
|
||||
key <AE01> { [ 1, exclam, onesuperior ] };
|
||||
key <AE02> { [ 2, at, twosuperior ] };
|
||||
key <AE03> { [ 3, numbersign, threesuperior ] };
|
||||
key <AE04> { [ 4, dollar, sterling ] };
|
||||
key <AE05> { [ 5, percent, cent ] };
|
||||
key <AE06> { [ 6, dead_diaeresis, notsign ] };
|
||||
key <AE12> { [ equal, plus, section ] };
|
||||
|
||||
key <AD03> { [ e, E, EuroSign ] };
|
||||
key <AD11> { [ dead_acute, dead_grave, acute, grave ] };
|
||||
key <AD12> { [ bracketleft, braceleft, 0x10000AA ] };
|
||||
key <BKSL> { [ bracketright, braceright, 0x10000BA ] };
|
||||
|
||||
key <AC10> { [ ccedilla, Ccedilla ] };
|
||||
key <AC11> { [ dead_tilde, dead_circumflex ] };
|
||||
|
||||
key <AB01> { [ z, Z, bar ] };
|
||||
key <AB03> { [ c, C, 0x10020A2 ] };
|
||||
key <AB09> { [ period, greater, backslash ] };
|
||||
key <AB10> { [ semicolon, colon ] };
|
||||
|
||||
key <I219> { [ slash, question, degree, ISO_Next_Group ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Brazilian Dvorak layout 2005-04-18
|
||||
// "Teclado Simplificado Brasileiro" ou "Dvorak Brasileiro"
|
||||
//
|
||||
// Heitor Moraes heitor.moraes@gmail.com
|
||||
// Luiz Portella lfpor@lujz.org
|
||||
// Nando Florestan nando2003@mandic.com.br
|
||||
// Ari Caldeira ari@tecladobrasileiro.com.br
|
||||
//
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "dvorak" {
|
||||
|
||||
name[Group1]="Portuguese (Brazil, Dvorak)";
|
||||
|
||||
// Numeric row
|
||||
key <TLDE> { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] };
|
||||
key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
|
||||
key <AE02> { [ 2, at, twosuperior, onehalf ] };
|
||||
key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
|
||||
key <AE04> { [ 4, dollar, sterling, onequarter ] };
|
||||
key <AE05> { [ 5, percent, cent, 0x01002030 ] };
|
||||
key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
|
||||
key <AE07> { [ 7, ampersand, dead_belowdot, dead_abovedot ] };
|
||||
key <AE08> { [ 8, asterisk, dead_ogonek, dead_horn ] };
|
||||
key <AE09> { [ 9, parenleft, dead_cedilla, dead_hook ] };
|
||||
key <AE10> { [ 0, parenright, dead_macron, dead_breve ] };
|
||||
key <AE11> { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] };
|
||||
key <AE12> { [ bracketright, braceright, masculine, dead_abovering ] };
|
||||
|
||||
|
||||
// Upper row
|
||||
key <AD01> { [ slash, question, degree, questiondown ] };
|
||||
key <AD02> { [ comma, less, 0x01000329, 0x01000313 ] };
|
||||
key <AD03> { [ period, greater, 0x01002022, periodcentered ] };
|
||||
key <AD04> { [ p, P, thorn, THORN ] };
|
||||
key <AD05> { [ y, Y, yen, yen ] };
|
||||
key <AD06> { [ f, F, leftdoublequotemark, leftsinglequotemark ] };
|
||||
key <AD07> { [ g, G, rightdoublequotemark, rightsinglequotemark ] };
|
||||
key <AD08> { [ c, C, uparrow, copyright ] };
|
||||
key <AD09> { [ r, R, registered, registered ] };
|
||||
key <AD10> { [ l, L, lstroke, Lstroke ] };
|
||||
key <AD11> { [ dead_acute, dead_grave, acute, grave ] };
|
||||
key <AD12> { [ equal, plus, section, plusminus ] };
|
||||
|
||||
// Central row
|
||||
key <AC01> { [ a, A, ae, AE ] };
|
||||
key <AC02> { [ o, O, oe, OE ] };
|
||||
key <AC03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AC04> { [ u, U, oslash, Ooblique ] };
|
||||
key <AC05> { [ i, I, idotless, Iabovedot ] };
|
||||
key <AC06> { [ d, D, eth, ETH ] };
|
||||
key <AC07> { [ h, H, leftarrow, paragraph ] };
|
||||
key <AC08> { [ t, T, rightarrow, trademark ] };
|
||||
key <AC09> { [ n, N, eng, ENG ] };
|
||||
key <AC10> { [ s, S, ssharp, ssharp ] };
|
||||
key <AC11> { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
|
||||
key <BKSL> { [ minus, underscore, 0x01002015, 0x01000336 ] };
|
||||
|
||||
// Lower row
|
||||
key <LSGT> { [ ccedilla, Ccedilla, backslash, bar ] };
|
||||
key <AB01> { [ semicolon, colon, 0x01000331, 0x0100032D ] };
|
||||
key <AB02> { [ q, Q, 0x01000259, 0x0100018F ] };
|
||||
key <AB03> { [ j, J, 0x01000292, 0x010001B7 ] };
|
||||
key <AB04> { [ k, K, guillemotleft, 0x01002039 ] };
|
||||
key <AB05> { [ x, X, multiply, division ] };
|
||||
key <AB06> { [ b, B, guillemotright, 0x0100203A ] };
|
||||
key <AB07> { [ m, M, downarrow, mu ] };
|
||||
key <AB08> { [ w, W, ubreve, Ubreve ] };
|
||||
key <AB09> { [ v, V, doublelowquotemark, singlelowquotemark ] };
|
||||
key <AB10> { [ z, Z, 0x0100201F, 0x0100201B ] };
|
||||
key <AB11> { [ backslash, bar, currency, brokenbar ] };
|
||||
|
||||
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
|
||||
|
||||
// Configures the "," for the numeric keypad
|
||||
include "kpdl(comma)"
|
||||
|
||||
// Configures the use of the AltGr key
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Brazilian Nativo layout.
|
||||
// This is a Dvorak-based layout, designed for the Portuguese language.
|
||||
//
|
||||
// Ari Caldeira <ari@tecladobrasileiro.com.br> 2005-07-19
|
||||
//
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nativo" {
|
||||
|
||||
name[Group1]="Portuguese (Brazil, Nativo)";
|
||||
|
||||
// Numeric row
|
||||
key <TLDE> { [ equal, plus, section, plusminus ] };
|
||||
key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
|
||||
key <AE02> { [ 2, at, twosuperior, onehalf ] };
|
||||
key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
|
||||
key <AE04> { [ 4, dollar, sterling, onequarter ] };
|
||||
key <AE05> { [ 5, percent, cent, 0x01002030 ] };
|
||||
key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
|
||||
key <AE07> { [ 7, ampersand, dead_belowdot, dead_abovedot ] };
|
||||
key <AE08> { [ 8, asterisk, dead_ogonek, dead_horn ] };
|
||||
key <AE09> { [ 9, parenleft, dead_cedilla, dead_hook ] };
|
||||
key <AE10> { [ 0, parenright, dead_macron, dead_breve ] };
|
||||
key <AE11> { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] };
|
||||
key <AE12> { [ bracketright, braceright, masculine, dead_abovering ] };
|
||||
|
||||
// Upper row
|
||||
key <AD01> { [ slash, question, degree, questiondown ] };
|
||||
key <AD02> { [ comma, less, 0x01000329, 0x01000313 ] };
|
||||
key <AD03> { [ period, greater, 0x01002022, periodcentered ] };
|
||||
key <AD04> { [ h, H, paragraph, paragraph ] };
|
||||
key <AD05> { [ x, X, multiply, division ] };
|
||||
key <AD06> { [ w, W, ubreve, Ubreve ] };
|
||||
key <AD07> { [ l, L, lstroke, Lstroke ] };
|
||||
key <AD08> { [ t, T, trademark, trademark ] };
|
||||
key <AD09> { [ c, C, copyright, copyright ] };
|
||||
key <AD10> { [ p, P, thorn, THORN ] };
|
||||
key <AD11> { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
|
||||
key <AD12> { [ minus, underscore, 0x01002015, 0x01000336 ] };
|
||||
|
||||
// Central row
|
||||
key <AC01> { [ i, I, idotless, Iabovedot ] };
|
||||
key <AC02> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AC03> { [ a, A, ae, AE ] };
|
||||
key <AC04> { [ o, O, oe, OE ] };
|
||||
key <AC05> { [ u, U, oslash, Ooblique ] };
|
||||
key <AC06> { [ m, M, mu, mu ] };
|
||||
key <AC07> { [ d, D, eth, ETH ] };
|
||||
key <AC08> { [ s, S, ssharp, ssharp ] };
|
||||
key <AC09> { [ r, R, registered, registered ] };
|
||||
key <AC10> { [ n, N, eng, ENG ] };
|
||||
key <AC11> { [ dead_acute, dead_grave, acute, grave ] };
|
||||
key <BKSL> { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] };
|
||||
|
||||
// Lower row
|
||||
key <LSGT> { [ semicolon, colon, 0x01000331, 0x0100032D ] };
|
||||
key <AB01> { [ y, Y, yen, yen ] };
|
||||
key <AB02> { [ ccedilla, Ccedilla, backslash, bar ] };
|
||||
key <AB03> { [ j, J, 0x01000292, 0x010001B7 ] };
|
||||
key <AB04> { [ b, B, guillemotleft, 0x01002039 ] };
|
||||
key <AB05> { [ k, K, guillemotright, 0x0100203A ] };
|
||||
key <AB06> { [ q, Q, 0x01000259, 0x0100018F ] };
|
||||
key <AB07> { [ v, V, doublelowquotemark, singlelowquotemark ] };
|
||||
key <AB08> { [ g, G, leftdoublequotemark, leftsinglequotemark ] };
|
||||
key <AB09> { [ f, F, rightdoublequotemark, rightsinglequotemark ] };
|
||||
key <AB10> { [ z, Z, 0x0100201F, 0x0100201B ] };
|
||||
key <AB11> { [ backslash, bar, currency, brokenbar ] };
|
||||
|
||||
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
|
||||
|
||||
// Configures the "," for the numeric keypad
|
||||
include "kpdl(comma)"
|
||||
|
||||
// Configures the use of the AltGr key
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Brazilian Nativo layout for US keyboards.
|
||||
//
|
||||
// Ari Caldeira <ari@tecladobrasileiro.com.br> 2005-07-19
|
||||
//
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nativo-us" {
|
||||
|
||||
include "br(nativo)"
|
||||
|
||||
name[Group1]="Portuguese (Brazil, Nativo for US keyboards)";
|
||||
|
||||
key <AB01> { [ y, Y, ccedilla, Ccedilla ] };
|
||||
key <AB02> { [ semicolon, colon, backslash, bar ] };
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Brazilian Nativo layout for typing Esperanto.
|
||||
//
|
||||
// Ari Caldeira <ari@tecladobrasileiro.com.br> 2005-07-19
|
||||
//
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nativo-epo" {
|
||||
|
||||
include "br(nativo)"
|
||||
|
||||
name[Group1]="Esperanto (Brazil, Nativo)";
|
||||
|
||||
key <AD04> { [ h, H, hcircumflex, Hcircumflex ] };
|
||||
key <AD05> { [ ccircumflex, Ccircumflex, x, X ] };
|
||||
key <AD06> { [ ubreve, Ubreve, w, W ] };
|
||||
|
||||
key <AB01> { [ jcircumflex, Jcircumflex, y, Y ] };
|
||||
key <AB02> { [ scircumflex, Scircumflex, ccedilla, Ccedilla ] };
|
||||
key <AB06> { [ gcircumflex, Gcircumflex, q, Q ] };
|
||||
};
|
||||
|
||||
// EXTRAS:
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sun_type6" {
|
||||
include "sun_vndr/br(sun_type6)"
|
||||
};
|
|
@ -0,0 +1,529 @@
|
|||
default partial
|
||||
xkb_symbols "fr" {
|
||||
name[Group1] = "French (Canada)";
|
||||
|
||||
key <TLDE> { [ numbersign, bar, backslash ] };
|
||||
key <AE01> { [ 1, exclam, plusminus ] };
|
||||
key <AE02> { [ 2, quotedbl, at ] };
|
||||
key <AE03> { [ 3, slash, sterling ] };
|
||||
key <AE04> { [ 4, dollar, cent ] };
|
||||
key <AE05> { [ 5, percent, currency ] };
|
||||
key <AE06> { [ 6, question, notsign ] };
|
||||
key <AE07> { [ 7, ampersand, brokenbar ] };
|
||||
key <AE08> { [ 8, asterisk, twosuperior ] };
|
||||
key <AE09> { [ 9, parenleft, threesuperior ] };
|
||||
key <AE10> { [ 0, parenright, onequarter ] };
|
||||
key <AE11> { [ minus, underscore, onehalf ] };
|
||||
key <AE12> { [ equal, plus, threequarters ] };
|
||||
|
||||
key <AD01> { [ q, Q ] };
|
||||
key <AD02> { [ w, W ] };
|
||||
key <AD03> { [ e, E ] };
|
||||
key <AD04> { [ r, R ] };
|
||||
key <AD05> { [ t, T ] };
|
||||
key <AD06> { [ y, Y ] };
|
||||
key <AD07> { [ u, U ] };
|
||||
key <AD08> { [ i, I ] };
|
||||
key <AD09> { [ o, O, section ] };
|
||||
key <AD10> { [ p, P, paragraph ] };
|
||||
key <AD11> { [dead_circumflex, dead_circumflex, bracketleft ] };
|
||||
key <AD12> { [ dead_cedilla, dead_diaeresis, bracketright ] };
|
||||
|
||||
key <AC01> { [ a, A ] };
|
||||
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> { [ semicolon, colon, asciitilde ] };
|
||||
key <AC11> { [dead_grave, dead_grave, braceleft ] };
|
||||
key <BKSL> { [ less, greater, braceright ] };
|
||||
|
||||
key <LSGT> { [guillemotleft, guillemotright, degree] };
|
||||
key <AB01> { [ z, Z ] };
|
||||
key <AB02> { [ x, X ] };
|
||||
key <AB03> { [ c, C ] };
|
||||
key <AB04> { [ v, V ] };
|
||||
key <AB05> { [ b, B ] };
|
||||
key <AB06> { [ n, N ] };
|
||||
key <AB07> { [ m, M, mu ] };
|
||||
key <AB08> { [ comma, apostrophe, macron ] };
|
||||
key <AB09> { [ period, period, hyphen ] };
|
||||
key <AB10> { [ eacute, Eacute, dead_acute ] };
|
||||
|
||||
key <SPCE> { [ space, space, nobreakspace ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
xkb_symbols "fr-dvorak" {
|
||||
name[Group1] = "French (Canada, Dvorak)";
|
||||
|
||||
key <TLDE> { [ numbersign, bar, backslash ] };
|
||||
key <AE01> { [ 1, exclam, plusminus ] };
|
||||
key <AE02> { [ 2, quotedbl, at ] };
|
||||
key <AE03> { [ 3, slash, sterling ] };
|
||||
key <AE04> { [ 4, dollar, cent ] };
|
||||
key <AE05> { [ 5, percent, currency ] };
|
||||
key <AE06> { [ 6, question, notsign ] };
|
||||
key <AE07> { [ 7, ampersand, brokenbar ] };
|
||||
key <AE08> { [ 8, asterisk, twosuperior ] };
|
||||
key <AE09> { [ 9, parenleft, threesuperior ] };
|
||||
key <AE10> { [ 0, parenright, onequarter ] };
|
||||
key <AE11> { [dead_circumflex, dead_circumflex, bracketleft ] };
|
||||
key <AE12> { [ dead_cedilla, dead_diaeresis, bracketright ] };
|
||||
|
||||
key <AD01> { [dead_grave, dead_grave, braceleft ] };
|
||||
key <AD02> { [ comma, apostrophe, macron ] };
|
||||
key <AD03> { [ period, period, hyphen ] };
|
||||
key <AD04> { [ p, P, paragraph ] };
|
||||
key <AD05> { [ y, Y ] };
|
||||
key <AD06> { [ f, F ] };
|
||||
key <AD07> { [ g, G ] };
|
||||
key <AD08> { [ c, C ] };
|
||||
key <AD09> { [ r, R ] };
|
||||
key <AD10> { [ l, L ] };
|
||||
key <AD11> { [ eacute, Eacute, dead_acute ] };
|
||||
key <AD12> { [ equal, plus, threequarters ] };
|
||||
|
||||
key <AC01> { [ a, A ] };
|
||||
key <AC02> { [ o, O, section ] };
|
||||
key <AC03> { [ e, E ] };
|
||||
key <AC04> { [ u, U ] };
|
||||
key <AC05> { [ i, I ] };
|
||||
key <AC06> { [ d, D ] };
|
||||
key <AC07> { [ h, H ] };
|
||||
key <AC08> { [ t, T ] };
|
||||
key <AC09> { [ n, N ] };
|
||||
key <AC10> { [ s, S ] };
|
||||
key <AC11> { [ minus, underscore, onehalf ] };
|
||||
key <BKSL> { [ less, greater, braceright ] };
|
||||
|
||||
key <LSGT> { [guillemotleft, guillemotright, degree] };
|
||||
key <AB01> { [ semicolon, colon, asciitilde ] };
|
||||
key <AB02> { [ q, Q ] };
|
||||
key <AB03> { [ j, J ] };
|
||||
key <AB04> { [ k, K ] };
|
||||
key <AB05> { [ x, X ] };
|
||||
key <AB06> { [ b, B ] };
|
||||
key <AB07> { [ m, M, mu ] };
|
||||
key <AB08> { [ w, W ] };
|
||||
key <AB09> { [ v, V ] };
|
||||
key <AB10> { [ z, Z ] };
|
||||
|
||||
key <SPCE> { [ space, space, nobreakspace ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial
|
||||
xkb_symbols "fr-legacy" {
|
||||
|
||||
include "ca(fr)"
|
||||
|
||||
name[Group1] = "French (Canada, legacy)";
|
||||
|
||||
key <TLDE> { [ degree, degree, notsign ] };
|
||||
key <AE01> { [ 1, exclam, onesuperior ] };
|
||||
|
||||
key <AE03> { [ 3, numbersign, threesuperior ] };
|
||||
key <AE04> { [ 4, dollar, onequarter ] };
|
||||
key <AE05> { [ 5, percent, onehalf ] };
|
||||
key <AE06> { [ 6, question, threequarters ] };
|
||||
key <AE07> { [ 7, ampersand, braceleft ] };
|
||||
key <AE08> { [ 8, asterisk, bracketleft ] };
|
||||
key <AE09> { [ 9, parenleft, bracketright, plusminus ] };
|
||||
key <AE10> { [ 0, parenright, braceright ] };
|
||||
key <AE11> { [ minus, underscore, bar, questiondown] };
|
||||
key <AE12> { [ equal, plus, dead_cedilla ] };
|
||||
|
||||
key <AD04> { [ r, R, paragraph, registered ] };
|
||||
key <AD06> { [ y, Y, yen ] };
|
||||
key <AD09> { [ o, O, oslash, Ooblique ] };
|
||||
key <AD10> { [ p, P, thorn, THORN ] };
|
||||
key <AD11> { [dead_circumflex, dead_circumflex, degree ] };
|
||||
key <AD12> { [ ccedilla, Ccedilla, dead_tilde, dead_diaeresis ] };
|
||||
|
||||
key <AC01> { [ a, A, ae, AE ] };
|
||||
key <AC02> { [ s, S, ssharp, section ] };
|
||||
key <AC03> { [ d, D, eth, ETH ] };
|
||||
key <AC04> { [ f, F, ordfeminine ] };
|
||||
key <AC10> { [ semicolon, colon, dead_acute, dead_acute ] };
|
||||
key <AC11> { [ egrave, Egrave ] };
|
||||
key <BKSL> { [ agrave, Agrave, dead_grave ] };
|
||||
|
||||
key <LSGT> { [ ugrave, Ugrave, backslash, bar ] };
|
||||
key <AB01> { [ z, Z, guillemotleft ] };
|
||||
key <AB02> { [ x, X, guillemotright ] };
|
||||
key <AB03> { [ c, C, cent, copyright ] };
|
||||
key <AB07> { [ m, M, mu, masculine ] };
|
||||
key <AB08> { [ comma, apostrophe, less ] };
|
||||
key <AB09> { [ period, period, greater ] };
|
||||
key <AB10> { [ eacute, Eacute, slash ] };
|
||||
};
|
||||
|
||||
partial
|
||||
xkb_symbols "multi" {
|
||||
|
||||
include "ca(fr)"
|
||||
|
||||
name[Group1] = "Canadian Multilingual (first part)";
|
||||
|
||||
key <TLDE> { [ slash, backslash, bar ] };
|
||||
key <AE01> { [ 1, exclam ] };
|
||||
key <AE02> { [ 2, at ] };
|
||||
key <AE03> { [ 3, numbersign ] };
|
||||
key <AE04> { [ 4, dollar ] };
|
||||
key <AE05> { [ 5, percent ] };
|
||||
key <AE06> { [ 6, question ] };
|
||||
key <AE07> { [ 7, ampersand, braceleft ] };
|
||||
key <AE08> { [ 8, asterisk, braceright ] };
|
||||
key <AE09> { [ 9, parenleft, bracketleft ] };
|
||||
key <AE10> { [ 0, parenright, bracketright ] };
|
||||
key <AE11> { [ minus, underscore ] };
|
||||
key <AE12> { [ equal, plus, notsign ] };
|
||||
|
||||
key <AD09> { [ o, O ] };
|
||||
key <AD10> { [ p, P ] };
|
||||
key <AD11> { [dead_circumflex, dead_diaeresis, dead_grave ] };
|
||||
key <AD12> { [ ccedilla, Ccedilla, asciitilde ] };
|
||||
|
||||
key <AC10> { [ semicolon, colon, degree ] };
|
||||
key <AC11> { [ egrave, Egrave ] };
|
||||
key <BKSL> { [ agrave, Agrave ] };
|
||||
|
||||
key <LSGT> { [ ugrave, Ugrave ] };
|
||||
key <AB01> { [ z, Z, guillemotleft ] };
|
||||
key <AB02> { [ x, X, guillemotright ] };
|
||||
key <AB08> { [ comma, apostrophe, less ] };
|
||||
key <AB09> { [ period, quotedbl, greater ] };
|
||||
key <AB10> { [ eacute, Eacute ] };
|
||||
};
|
||||
|
||||
partial
|
||||
xkb_symbols "multi-2gr" {
|
||||
|
||||
name[Group1] = "Canadian Multilingual (second part)";
|
||||
|
||||
key <TLDE> { [ NoSymbol, hyphen ] };
|
||||
key <AE01> { [ onesuperior, exclamdown ] };
|
||||
key <AE02> { [ twosuperior, NoSymbol ] };
|
||||
key <AE03> { [ threesuperior, sterling ] };
|
||||
key <AE04> { [ onequarter, currency ] };
|
||||
key <AE05> { [ onehalf,threeeighths ] };
|
||||
key <AE06> { [ threequarters, fiveeighths ] };
|
||||
key <AE07> { [ NoSymbol,seveneighths ] };
|
||||
key <AE08> { [ NoSymbol, trademark ] };
|
||||
key <AE09> { [ NoSymbol, plusminus ] };
|
||||
|
||||
key <AE11> { [ NoSymbol, questiondown] };
|
||||
key <AE12> { [ dead_cedilla, dead_ogonek ] };
|
||||
|
||||
key <AD01> { [ NoSymbol, Greek_OMEGA ] };
|
||||
key <AD02> { [ lstroke, Lstroke ] };
|
||||
key <AD03> { [ oe, OE ] };
|
||||
key <AD04> { [ paragraph, registered ] };
|
||||
key <AD05> { [ tslash, Tslash ] };
|
||||
key <AD06> { [ leftarrow, yen ] };
|
||||
key <AD07> { [ downarrow, uparrow ] };
|
||||
key <AD08> { [ rightarrow, idotless ] };
|
||||
key <AD09> { [ oslash, Ooblique ] };
|
||||
key <AD10> { [ thorn, THORN ] };
|
||||
key <AD11> { [ NoSymbol, dead_abovering ] };
|
||||
key <AD12> { [ dead_tilde, dead_macron ] };
|
||||
|
||||
key <AC01> { [ ae, AE ] };
|
||||
key <AC02> { [ ssharp, section ] };
|
||||
key <AC03> { [ eth, ETH ] };
|
||||
key <AC04> { [ NoSymbol, ordfeminine ] };
|
||||
key <AC05> { [ eng, ENG ] };
|
||||
key <AC06> { [ hstroke, Hstroke ] };
|
||||
key <AC07> { [ U0133, U0132 ] };
|
||||
key <AC08> { [ kra, NoSymbol ] };
|
||||
key <AC09> { [ U0140, U013F ] };
|
||||
key <AC10> { [ dead_acute, dead_doubleacute ] };
|
||||
key <AC11> { [ NoSymbol, dead_caron ] };
|
||||
key <BKSL> { [ NoSymbol, dead_breve ] };
|
||||
|
||||
|
||||
key <LSGT> { [ NoSymbol, brokenbar ] };
|
||||
|
||||
key <AB03> { [ cent, copyright ] };
|
||||
key <AB04> { [ leftdoublequotemark, leftsinglequotemark ] };
|
||||
key <AB05> { [ rightdoublequotemark, rightsinglequotemark ] };
|
||||
key <AB06> { [ U0149, U266A ] };
|
||||
key <AB07> { [ mu, masculine ] };
|
||||
key <AB08> { [ Greek_horizbar, multiply ] };
|
||||
key <AB09> { [ periodcentered, division ] };
|
||||
key <AB10> { [ NoSymbol, dead_abovedot ] };
|
||||
};
|
||||
|
||||
// based on
|
||||
// Inuktitut keyboard for X11
|
||||
// written by Pablo Saratxaga <pablo@mandrakesoft.com>
|
||||
|
||||
alphanumeric_keys
|
||||
xkb_symbols "ike" {
|
||||
|
||||
name[Group1]= "Inuktitut";
|
||||
|
||||
key <AE01> { [ 0x01001595, 1 ] };
|
||||
key <AE02> { [ 0x01001449, 2 ] };
|
||||
key <AE03> { [ 0x01001550, 3 ] };
|
||||
key <AE04> { [ 0x01001483, 4 ] };
|
||||
key <AE05> { [ 0x01001466, 5 ] };
|
||||
key <AE06> { [ 0x01001585, 6 ] };
|
||||
key <AE07> { [ 0x010014bb, 7 ] };
|
||||
key <AE08> { [ 0x010014d0, 8 ] };
|
||||
key <AE09> { [ 0x010014ea, 9 ] };
|
||||
key <AE10> { [ 0x0100153e, 0 ] };
|
||||
key <AE11> { [ minus, underscore ] };
|
||||
key <AE12> { [ 0x0100155d, equal ] };
|
||||
|
||||
key <AD01> { [ 0x0100158f, 0x0100148b ] };
|
||||
key <AD02> { [ 0x01001403, 0x01001431 ] };
|
||||
key <AD03> { [ 0x0100157f, 0x01001546 ] };
|
||||
key <AD04> { [ 0x0100146d, 0x01001596 ] };
|
||||
key <AD05> { [ 0x0100144e, 0x01001671 ] };
|
||||
key <AD06> { [ 0x010014ef, 0x01001673 ] };
|
||||
key <AD07> { [ 0x010014a5, 0x01001675 ] };
|
||||
key <AD08> { [ 0x010014c2, 0x010015a4 ] };
|
||||
key <AD09> { [ 0x010014d5, 0x010015a0 ] };
|
||||
key <AD10> { [ 0x01001528, 0x010015a6 ] };
|
||||
key <AD11> { [ 0x010014a1, 0x01001505 ] };
|
||||
key <AD12> { [ dead_abovedot, 0x0100141e] };
|
||||
|
||||
key <AC01> { [ 0x01001591, 0x0100148d ] };
|
||||
key <AC02> { [ 0x01001405, 0x01001433 ] };
|
||||
key <AC03> { [ 0x01001581, 0x01001548 ] };
|
||||
key <AC04> { [ 0x0100146f, 0x01001555 ] };
|
||||
key <AC05> { [ 0x01001450, parenleft ] };
|
||||
key <AC06> { [ 0x010014f1, parenright ] };
|
||||
key <AC07> { [ 0x010014a7, 0x0100152a ] };
|
||||
key <AC08> { [ 0x010014c4, 0x01001557 ] };
|
||||
key <AC09> { [ 0x010014d7, 0x010015a2 ] };
|
||||
key <AC10> { [ semicolon, colon ] };
|
||||
key <AC11> { [ apostrophe, quotedbl ] };
|
||||
|
||||
key <AB01> { [ 0x01001593, 0x01001490 ] };
|
||||
key <AB02> { [ 0x0100140a, 0x01001438 ] };
|
||||
key <AB03> { [ 0x01001583, 0x0100154b ] };
|
||||
key <AB04> { [ 0x01001472, question ] };
|
||||
key <AB05> { [ 0x01001455, 0x0100157c ] };
|
||||
key <AB06> { [ 0x010014f4, 0x010014c7 ] };
|
||||
key <AB07> { [ 0x010014aa, 0x010014da ] };
|
||||
key <AB08> { [ comma, less ] };
|
||||
key <AB09> { [ period, greater ] };
|
||||
key <AB10> { [ 0x0100152d, 0x01001559 ] };
|
||||
|
||||
key <TLDE> { [ 0x0100157b, 0x01001575 ] };
|
||||
key <LSGT> { [ 0x01001579, 0x01001577 ] };
|
||||
key <BKSL> { [ backslash, bar ] };
|
||||
};
|
||||
|
||||
partial
|
||||
xkb_symbols "multix" {
|
||||
|
||||
name[Group1] = "Canadian Multilingual";
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
|
||||
key <TLDE> { [ slash, backslash, bar, NoSymbol,
|
||||
NoSymbol, hyphen ] };
|
||||
key <AE01> { [ 1, exclam, plusminus, NoSymbol,
|
||||
onesuperior, exclamdown ] };
|
||||
key <AE02> { [ 2, at, at, NoSymbol,
|
||||
twosuperior, NoSymbol ] };
|
||||
key <AE03> { [ 3, numbersign, sterling, NoSymbol,
|
||||
threesuperior, sterling ] };
|
||||
key <AE04> { [ 4, dollar, cent, NoSymbol,
|
||||
onequarter, currency ] };
|
||||
key <AE05> { [ 5, percent, currency, NoSymbol,
|
||||
onehalf, threeeighths ] };
|
||||
key <AE06> { [ 6, question, notsign, NoSymbol,
|
||||
threequarters, fiveeighths ] };
|
||||
key <AE07> { [ 7, ampersand, braceleft, NoSymbol,
|
||||
NoSymbol, seveneighths ] };
|
||||
key <AE08> { [ 8, asterisk, braceright, NoSymbol,
|
||||
NoSymbol, trademark ] };
|
||||
key <AE09> { [ 9, parenleft, bracketleft, NoSymbol,
|
||||
NoSymbol, plusminus ] };
|
||||
key <AE10> { [ 0, parenright, bracketright, NoSymbol ] };
|
||||
key <AE11> { [ minus, underscore, onehalf, NoSymbol,
|
||||
NoSymbol, questiondown] };
|
||||
key <AE12> { [ equal, plus, notsign, NoSymbol,
|
||||
dead_cedilla, dead_ogonek ] };
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
|
||||
key <AD01> { [ q, Q, NoSymbol, NoSymbol,
|
||||
NoSymbol, Greek_OMEGA ] };
|
||||
key <AD02> { [ w, W, NoSymbol, NoSymbol,
|
||||
lstroke, Lstroke ] };
|
||||
key <AD03> { [ e, E, NoSymbol, NoSymbol,
|
||||
oe, OE ] };
|
||||
key <AD04> { [ r, R, NoSymbol, NoSymbol,
|
||||
paragraph, registered ] };
|
||||
key <AD05> { [ t, T, NoSymbol, NoSymbol,
|
||||
tslash, Tslash ] };
|
||||
key <AD06> { [ y, Y, NoSymbol, NoSymbol,
|
||||
leftarrow, yen ] };
|
||||
key <AD07> { [ u, U, NoSymbol, NoSymbol,
|
||||
downarrow, uparrow ] };
|
||||
key <AD08> { [ i, I, NoSymbol, NoSymbol,
|
||||
rightarrow, idotless ] };
|
||||
key <AD09> { [ o, O, section, NoSymbol,
|
||||
oslash, Ooblique ] };
|
||||
key <AD10> { [ p, P, paragraph, NoSymbol,
|
||||
thorn, THORN ] };
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL";
|
||||
key <AD11> { [dead_circumflex, dead_diaeresis, dead_grave, NoSymbol,
|
||||
NoSymbol, dead_abovering ] };
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
|
||||
key <AD12> { [ ccedilla, Ccedilla, asciitilde, NoSymbol,
|
||||
dead_tilde, dead_macron ] };
|
||||
|
||||
key <AC01> { [ a, A, NoSymbol, NoSymbol,
|
||||
ae, AE ] };
|
||||
key <AC02> { [ s, S, NoSymbol, NoSymbol,
|
||||
ssharp, section ] };
|
||||
key <AC03> { [ d, D, NoSymbol, NoSymbol,
|
||||
eth, ETH ] };
|
||||
key <AC04> { [ f, F, NoSymbol, NoSymbol,
|
||||
NoSymbol, ordfeminine ] };
|
||||
key <AC05> { [ g, G, NoSymbol, NoSymbol,
|
||||
eng, ENG ] };
|
||||
key <AC06> { [ h, H, NoSymbol, NoSymbol,
|
||||
hstroke, Hstroke ] };
|
||||
key <AC07> { [ j, J, NoSymbol, NoSymbol,
|
||||
U0133, U0132 ] };
|
||||
key <AC08> { [ k, K, NoSymbol, NoSymbol,
|
||||
kra, NoSymbol ] };
|
||||
key <AC09> { [ l, L, NoSymbol, NoSymbol,
|
||||
U0140, U013F ] };
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL";
|
||||
key <AC10> { [ semicolon, colon, degree, NoSymbol,
|
||||
dead_acute, dead_doubleacute ] };
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
|
||||
key <AC11> { [ egrave, Egrave, braceleft, NoSymbol,
|
||||
NoSymbol, dead_caron ] };
|
||||
key <BKSL> { [ agrave, Agrave, braceright, NoSymbol,
|
||||
NoSymbol, dead_breve ] };
|
||||
|
||||
key <LSGT> { [ ugrave, Ugrave, degree, NoSymbol,
|
||||
NoSymbol, brokenbar ] };
|
||||
|
||||
key.type[group1]="FOUR_LEVEL_SEMIALPHABETIC";
|
||||
key <AB01> { [ z, Z, guillemotleft, NoSymbol ] };
|
||||
key <AB02> { [ x, X, guillemotright, NoSymbol ] };
|
||||
|
||||
key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
|
||||
key <AB03> { [ c, C, NoSymbol, NoSymbol,
|
||||
cent, copyright ] };
|
||||
key <AB04> { [ v, V, NoSymbol, NoSymbol,
|
||||
leftdoublequotemark, leftsinglequotemark ] };
|
||||
key <AB05> { [ b, B, NoSymbol, NoSymbol,
|
||||
rightdoublequotemark, rightsinglequotemark ] };
|
||||
key <AB06> { [ n, N, NoSymbol, NoSymbol,
|
||||
U0149, U266A ] };
|
||||
key <AB07> { [ m, M, mu, NoSymbol,
|
||||
mu, masculine ] };
|
||||
key <AB08> { [ comma, apostrophe, less, NoSymbol,
|
||||
Greek_horizbar, multiply ] };
|
||||
key <AB09> { [ period, quotedbl, greater, NoSymbol,
|
||||
periodcentered, division ] };
|
||||
key <AB10> { [ eacute, Eacute, dead_acute, NoSymbol,
|
||||
NoSymbol, dead_abovedot ] };
|
||||
|
||||
include "nbsp(level3s)"
|
||||
|
||||
modifier_map Control{ Control_L };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
include "level5(rctrl_switch)"
|
||||
};
|
||||
|
||||
// OLPC Section
|
||||
xkb_symbols "olpc" {
|
||||
|
||||
include "ca(fr)"
|
||||
|
||||
key <AE02> { [ 2, quotedbl, ograve, Ograve ] };
|
||||
key <AE03> { [ 3, slash, at, VoidSymbol ] };
|
||||
|
||||
key <AD03> { [ e, E, EuroSign, VoidSymbol] };
|
||||
|
||||
key <AB09> { [ period, period, 0x1002010 ] };
|
||||
|
||||
key <I219> { [ guillemotleft, guillemotright, degree, VoidSymbol ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "eng" {
|
||||
include "us(basic)"
|
||||
name[Group1] = "English (Canada)";
|
||||
};
|
||||
|
||||
// EXTRAS:
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "kut" {
|
||||
|
||||
// Ejective U0313 and acute accents are taken from shs layout.
|
||||
include "ca(shs)"
|
||||
|
||||
name[Group1]= "Kutenai";
|
||||
|
||||
// Alveolar Click
|
||||
key <AD05> { [ t, T,U01C2 ,U01C2 ] };
|
||||
|
||||
//Cent sign
|
||||
key <AB03> { [ c, C,U00A2,U00A2 ] };
|
||||
|
||||
//Mid dot
|
||||
key <AB09> { [ period, greater,U00B7 ] };
|
||||
|
||||
//Glottal stop
|
||||
key <AB10> { [ slash, question, U0294 ] };
|
||||
|
||||
//COMBINING COMMA ABOVE RIGHT
|
||||
key <AC11> { [ apostrophe, quotedbl, U0315,U0315 ] };
|
||||
|
||||
//MODIFIER LETTER RIGHT HALF RING
|
||||
key <AC10> { [ semicolon, colon,U02BE,U02BE ] };
|
||||
};
|
||||
|
||||
// Secwepemctsin keyboard for X11
|
||||
// written by Neskie Manuel <neskiem@gmail.com>
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "shs" {
|
||||
|
||||
include "us"
|
||||
|
||||
name[Group1]= "Secwepemctsin";
|
||||
|
||||
// Using a "dead key" to get a COMBINING COMMA ABOVE
|
||||
// for ejectives on q, l, t, s, m, g, k, p, w, y, r.
|
||||
// The Compose key is used for the other acutes and grave.
|
||||
|
||||
key <AB08> { [ comma, less, U0313 ] };
|
||||
key <AC01> { [ a, A, aacute, Aacute ] };
|
||||
key <AD03> { [ e, E, eacute, Eacute ] };
|
||||
key <AD07> { [ u, U, uacute, Uacute ] };
|
||||
key <AD08> { [ i, I, iacute, Iacute ] };
|
||||
key <AD09> { [ o, O, oacute, Oacute ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
include "compose(rctrl)"
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sun_type6" {
|
||||
include "sun_vndr/ca(sun_type6)"
|
||||
};
|
|
@ -0,0 +1,185 @@
|
|||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic" {
|
||||
|
||||
// This layout conforms to a new Czech compromise standard
|
||||
// designed to satisfy most Unix, Windows and Mac users.
|
||||
// 2001 by Kamil Toman <ktoman@email.cz>
|
||||
|
||||
include "latin"
|
||||
name[Group1]= "Czech";
|
||||
|
||||
key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
|
||||
key <AE01> { [ plus, 1, exclam, dead_tilde ] };
|
||||
key <AE02> { [ ecaron, 2, at, dead_caron ] };
|
||||
key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
|
||||
key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
|
||||
key <AE05> { [ rcaron, 5, percent, dead_abovering]};
|
||||
key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
|
||||
key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
|
||||
key <AE08> { [ aacute, 8, asterisk, dead_abovedot] };
|
||||
key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
|
||||
key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
|
||||
key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis]};
|
||||
key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
|
||||
|
||||
key <AD01> { [ q, Q, backslash, NoSymbol ] };
|
||||
key <AD02> { [ w, W, bar, Nosymbol ] };
|
||||
key <AD03> { [ e, E, EuroSign, NoSymbol ] };
|
||||
key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
|
||||
key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
|
||||
key <AD06> { [ z, Z, 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 <AD11> { [ uacute, slash, bracketleft, division ] };
|
||||
key <AD12> { [parenright, parenleft, bracketright, multiply ] };
|
||||
|
||||
key <AC01> { [ a, A, asciitilde, NoSymbol ] };
|
||||
key <AC02> { [ s, S, dstroke, NoSymbol ] };
|
||||
key <AC03> { [ d, D, Dstroke, NoSymbol ] };
|
||||
key <AC04> { [ f, F, bracketleft, NoSymbol ] };
|
||||
key <AC05> { [ g, G, bracketright, NoSymbol ] };
|
||||
key <AC06> { [ h, H, grave, NoSymbol ] };
|
||||
key <AC07> { [ j, J, apostrophe, NoSymbol ] };
|
||||
key <AC08> { [ k, K, lstroke, NoSymbol ] };
|
||||
key <AC09> { [ l, L, Lstroke, NoSymbol ] };
|
||||
|
||||
key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
|
||||
key <AC11> { [ section, exclam, apostrophe, ssharp ] };
|
||||
key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
|
||||
key <BKSL> { [dead_diaeresis, apostrophe, backslash, bar ] };
|
||||
|
||||
key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
|
||||
key <AB01> { [ y, Y, degree, NoSymbol ] };
|
||||
key <AB02> { [ x, X, numbersign, Nosymbol ] };
|
||||
key <AB03> { [ c, C, ampersand, NoSymbol ] };
|
||||
key <AB04> { [ v, V, at, NoSymbol ] };
|
||||
key <AB05> { [ b, B, braceleft, NoSymbol ] };
|
||||
key <AB06> { [ n, N, braceright, NoSymbol ] };
|
||||
key <AB07> { [ m, M, asciicircum, NoSymbol ] };
|
||||
key <AB08> { [ comma, question, less, NoSymbol ] };
|
||||
key <AB09> { [ period, colon, greater, NoSymbol ] };
|
||||
key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
|
||||
|
||||
key <SPCE> { [ space, space, space, space ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
xkb_symbols "bksl" {
|
||||
|
||||
// Use <BKSL> instead of <LSGT> (useful for keyboards without <LSGT> key).
|
||||
|
||||
include "cz(basic)"
|
||||
name[Group1]= "Czech (with <\|> key)";
|
||||
|
||||
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "qwerty" {
|
||||
|
||||
// This layout represents the actual Czech keyboards;
|
||||
// it complies with the symbols printed on the keys.
|
||||
// 2011 by Lukáš Mojžíš <lmojzis@grenames.cz>
|
||||
|
||||
include "cz(basic)"
|
||||
name[Group1]= "Czech (qwerty)";
|
||||
|
||||
key <AB01> { [ z, Z, degree, NoSymbol ] };
|
||||
key <AC10> { [ uring, quotedbl, semicolon, colon ] };
|
||||
key <AC11> { [ section, exclam, apostrophe, ssharp ] };
|
||||
key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
|
||||
key <AD11> { [ uacute, slash, bracketleft, braceleft ] };
|
||||
key <AD12> { [parenright, parenleft, bracketright, braceright ] };
|
||||
key <AE09> { [ iacute, 9, parenleft, dead_acute ] };
|
||||
key <AE10> { [ eacute, 0, parenright, dead_doubleacute ] };
|
||||
};
|
||||
|
||||
xkb_symbols "qwerty_bksl" {
|
||||
|
||||
// Use <BKSL> instead of <LSGT> (useful for keyboards without <LSGT> key).
|
||||
|
||||
include "cz(qwerty)"
|
||||
name[Group1]= "Czech (qwerty, extended Backslash)";
|
||||
|
||||
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys alternate_group
|
||||
xkb_symbols "ucw" {
|
||||
|
||||
// This layout is usually used as the second group,
|
||||
// it contains accented characters only, no 'latin' set.
|
||||
// 2008 by Milan Vancura <mvancura@suse.cz>
|
||||
|
||||
name[Group1]= "Czech (UCW layout, accented letters only)";
|
||||
|
||||
key <AB01> { [zcaron, Zcaron ] };
|
||||
key <AB02> { [ssharp ] };
|
||||
key <AB03> { [ccaron, Ccaron ] };
|
||||
key <AB04> { [ccedilla, Ccedilla ] };
|
||||
key <AB05> { [ntilde, Ntilde ] };
|
||||
key <AB06> { [ncaron, Ncaron ] };
|
||||
key <AB07> { [lacute, Lacute ] };
|
||||
|
||||
key <AC01> { [aacute, Aacute ] };
|
||||
key <AC02> { [scaron, Scaron ] };
|
||||
key <AC03> { [dcaron, Dcaron ] };
|
||||
key <AC04> { [ediaeresis, Ediaeresis ] };
|
||||
key <AC05> { [racute, Racute ] };
|
||||
key <AC06> { [uacute, Uacute ] };
|
||||
key <AC07> { [udiaeresis, Udiaeresis ] };
|
||||
key <AC08> { [ocircumflex, Ocircumflex ] };
|
||||
key <AC09> { [lcaron, Lcaron ] };
|
||||
|
||||
key <AD01> { [adiaeresis, Adiaeresis ] };
|
||||
key <AD02> { [ecaron, Ecaron ] };
|
||||
key <AD03> { [eacute, Eacute ] };
|
||||
key <AD04> { [rcaron, Rcaron ] };
|
||||
key <AD05> { [tcaron, Tcaron ] };
|
||||
key <AD06> { [yacute, Yacute ] };
|
||||
key <AD07> { [uring, Uring ] };
|
||||
key <AD08> { [iacute, Iacute ] };
|
||||
key <AD09> { [oacute, Oacute ] };
|
||||
key <AD10> { [odiaeresis, Odiaeresis ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "dvorak-ucw" {
|
||||
|
||||
// US Dvorak layout extended with UCW,
|
||||
// AltGr produces accented characters.
|
||||
|
||||
include "us(dvorak)"
|
||||
name[Group1]= "Czech (US Dvorak with CZ UCW support)";
|
||||
|
||||
key <AB03> { [ j, J, eacute, Eacute ] };
|
||||
key <AB04> { [ k, K, uacute, Uacute ] };
|
||||
key <AB10> { [ z, Z, zcaron, Zcaron ] };
|
||||
|
||||
key <AC01> { [ a, A, aacute, Aacute ] };
|
||||
key <AC02> { [ o, O, oacute, Oacute ] };
|
||||
key <AC03> { [ e, E, ecaron, Ecaron ] };
|
||||
key <AC04> { [ u, U, uring, Uring ] };
|
||||
key <AC05> { [ i, I, iacute, Iacute ] };
|
||||
key <AC06> { [ d, D, dcaron, Dcaron ] };
|
||||
key <AC08> { [ t, T, tcaron, Tcaron ] };
|
||||
key <AC09> { [ n, N, ncaron, Ncaron ] };
|
||||
key <AC10> { [ s, S, scaron, Scaron ] };
|
||||
|
||||
key <AD05> { [ y, Y, yacute, Yacute ] };
|
||||
key <AD08> { [ c, C, ccaron, Ccaron ] };
|
||||
key <AD09> { [ r, R, rcaron, Rcaron ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
// EXTRAS:
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sun_type6" {
|
||||
include "sun_vndr/cz(sun_type6)"
|
||||
};
|
|
@ -0,0 +1,806 @@
|
|||
// based on a keyboard map from an 'xkb/symbols/de' file
|
||||
|
||||
default
|
||||
xkb_symbols "basic" {
|
||||
|
||||
include "latin(type4)"
|
||||
|
||||
name[Group1]="German";
|
||||
|
||||
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
|
||||
key <AE03> { [ 3, section, threesuperior, sterling ] };
|
||||
key <AE04> { [ 4, dollar, onequarter, currency ] };
|
||||
|
||||
key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]=
|
||||
[ssharp, question, backslash, questiondown, 0x1001E9E ]};
|
||||
// The unicode capital letter sharp s U+1E9E is transformed to "SS"
|
||||
// to match the rules for capitalizing sharp s in german.
|
||||
// If the capital sharp s is needed, delete the line
|
||||
// starting with <U1E9C> from /usr/share/X11/locale/iso8859-15/Compose.
|
||||
// If both doubled S and capital sharp s are needed, use 0x1001E9E
|
||||
// for capital sharp s and some free unicode codepoint like 0x1001E9C
|
||||
// for doubled S. Don`t forget to change this in the Compose file, too.
|
||||
|
||||
key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
|
||||
|
||||
key <AD03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AD06> { [ z, Z, leftarrow, yen ] };
|
||||
key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
|
||||
key <AD12> { [ plus, asterisk, asciitilde, macron ] };
|
||||
|
||||
key <AC02> { [ s, S, U017F, U1E9E ] };
|
||||
key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] };
|
||||
key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ] };
|
||||
key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron ] };
|
||||
key <TLDE> { [dead_circumflex, degree, U2032, U2033 ] };
|
||||
|
||||
key <BKSL> { [numbersign, apostrophe, rightsinglequotemark, dead_breve ] };
|
||||
key <AB01> { [ y, Y, guillemotright, U203A ] };
|
||||
key <AB02> { [ x, X, guillemotleft, U2039 ] };
|
||||
key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] };
|
||||
key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] };
|
||||
key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] };
|
||||
key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
|
||||
key <AB09> { [ period, colon, U2026, division ] };
|
||||
key <AB10> { [ minus, underscore, endash, emdash ] };
|
||||
|
||||
include "kpdl(comma)"
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "legacy" {
|
||||
// previous standard German layout with tilde as dead key
|
||||
|
||||
include "de(basic)"
|
||||
name[Group1]="German (legacy)";
|
||||
|
||||
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nodeadkeys" {
|
||||
|
||||
// modify the basic German layout to not have any dead keys
|
||||
|
||||
include "de(basic)"
|
||||
name[Group1]="German (eliminate dead keys)";
|
||||
|
||||
key <TLDE> { [asciicircum, degree, notsign, notsign ] };
|
||||
key <AE12> { [ acute, grave, cedilla, cedilla ] };
|
||||
key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
|
||||
key <AD12> { [ plus, asterisk, asciitilde, macron ] };
|
||||
key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] };
|
||||
key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
|
||||
key <BKSL> { [numbersign, apostrophe, grave, grave ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "deadgraveacute" {
|
||||
// modify the basic German layout to have only acute and grave
|
||||
// as dead keys (tilde and circumflex are needed as spacing characters
|
||||
// in many programming languages)
|
||||
|
||||
include "de(basic)"
|
||||
name[Group1]="German (dead grave acute)";
|
||||
|
||||
key <TLDE> { [asciicircum, degree, notsign, notsign ] };
|
||||
key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
|
||||
key <BKSL> { [numbersign, apostrophe, grave, grave ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "deadacute" {
|
||||
// modify the basic German layout to have only acute as
|
||||
// dead keys (ASCII grave, tilde and circumflex are needed as
|
||||
// spacing characters in many programming languages and text formatters)
|
||||
|
||||
include "de(deadgraveacute)"
|
||||
|
||||
name[Group1]="German (dead acute)";
|
||||
|
||||
key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
|
||||
key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] };
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "T3" {
|
||||
name[Group1]="German (T3)";
|
||||
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
key <TLDE> { [ dead_circumflex, degree, multiply, NoSymbol, U204A, hyphen, bar, NoSymbol ] };
|
||||
key <AE01> { [ 1, exclam, rightsinglequotemark, NoSymbol, onesuperior, exclamdown, U02B9, NoSymbol ] };
|
||||
key <AE02> { [ 2, quotedbl, twosuperior, NoSymbol, twosuperior, currency, U02BA, NoSymbol ] };
|
||||
key <AE03> { [ 3, section, threesuperior, NoSymbol, threesuperior, sterling, U02BF, NoSymbol ] };
|
||||
key <AE04> { [ 4, dollar, emdash, NoSymbol, onequarter, 0x20AC, U02BE, NoSymbol ] };
|
||||
key <AE05> { [ 5, percent, exclamdown, NoSymbol, onehalf, uparrow, U02C1, NoSymbol ] };
|
||||
key <AE06> { [ 6, ampersand, questiondown, NoSymbol, threequarters, downarrow, U02C0, NoSymbol ] };
|
||||
key <AE07> { [ 7, slash, braceleft, NoSymbol, oneeighth, leftarrow, braceleft, NoSymbol ] };
|
||||
key <AE08> { [ 8, parenleft, bracketleft, NoSymbol, threeeighths, rightarrow, braceright, NoSymbol ] };
|
||||
key <AE09> { [ 9, parenright, bracketright, NoSymbol, fiveeighths, plusminus, bracketleft, NoSymbol ] };
|
||||
key <AE10> { [ 0, equal, braceright, NoSymbol, seveneighths, trademark, bracketright, NoSymbol ] };
|
||||
key <AE11> { [ ssharp, question, backslash, NoSymbol, backslash, questiondown, U02BB, NoSymbol ] };
|
||||
key <AE12> { [ dead_acute, dead_grave, dead_abovedot, NoSymbol, dead_cedilla, dead_ogonek, notsign, NoSymbol ] };
|
||||
|
||||
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
|
||||
key <AD01> { [ q, Q, at, NoSymbol, U0242, U0241, U030D, NoSymbol ] };
|
||||
key <AD02> { [ w, W, dead_caron, NoSymbol, U02B7, U2126, dead_abovedot, NoSymbol ] };
|
||||
key <AD03> { [ e, E, EuroSign, NoSymbol, oe, OE, dead_breve, NoSymbol ] };
|
||||
key <AD04> { [ r, R, dead_diaeresis, NoSymbol, paragraph, registered, dead_circumflex, NoSymbol ] };
|
||||
key <AD05> { [ t, T, dead_macron, NoSymbol, UA78C, UA78B, dead_diaeresis, NoSymbol ] };
|
||||
key <AD06> { [ z, Z, dead_doubleacute, NoSymbol, U027C, yen, dead_invertedbreve, NoSymbol ] };
|
||||
key <AD07> { [ u, U, dead_breve, NoSymbol, U0223, U0222, dead_caron, NoSymbol ] };
|
||||
key <AD08> { [ i, I, dead_tilde, NoSymbol, idotless, U214D, dead_abovecomma, NoSymbol ] };
|
||||
key <AD09> { [ o, O, dead_abovering, NoSymbol, oslash, Oslash, dead_horn, NoSymbol ] };
|
||||
key <AD10> { [ p, P, dead_hook, NoSymbol, thorn, THORN, dead_hook, NoSymbol ] };
|
||||
key <AD11> { [ udiaeresis, Udiaeresis, dead_horn, NoSymbol, U017F, dead_abovering, dead_grave, NoSymbol ] };
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
key <AD12> { [ plus, asterisk, asciitilde, NoSymbol, dead_tilde, dead_macron, at, NoSymbol ] };
|
||||
|
||||
key.type[Group1] = "ONE_LEVEL";
|
||||
key <CAPS> { [ Caps_Lock ] };
|
||||
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
|
||||
key <AC01> { [ a, A, lessthanequal, NoSymbol, ae, AE, U0329, NoSymbol ] };
|
||||
key <AC02> { [ s, S, greaterthanequal, NoSymbol, ssharp, section, dead_belowdot, NoSymbol ] };
|
||||
key <AC03> { [ d, D, U2300, NoSymbol, eth, ETH, dead_belowbreve, NoSymbol ] };
|
||||
key <AC04> { [ f, F, minutes, NoSymbol, U0294, ordfeminine, dead_belowcircumflex, NoSymbol ] };
|
||||
key <AC05> { [ g, G, seconds, NoSymbol, eng, ENG, dead_belowmacron, NoSymbol ] };
|
||||
key <AC06> { [ h, H, U1E9E, NoSymbol, U0272, U019D, U0332, NoSymbol ] };
|
||||
key <AC07> { [ j, J, dead_cedilla, NoSymbol, U0133, U0132, dead_belowring, NoSymbol ] };
|
||||
key <AC08> { [ k, K, dead_belowcomma, NoSymbol, kra, dead_belowcomma, dead_stroke, NoSymbol ] };
|
||||
key <AC09> { [ l, L, dead_ogonek, NoSymbol, lstroke, Lstroke, U0338, NoSymbol ] };
|
||||
key <AC10> { [ odiaeresis, Odiaeresis, dead_belowdot, NoSymbol, dead_acute, dead_doubleacute, degree, NoSymbol ] };
|
||||
key <AC11> { [ adiaeresis, Adiaeresis, dead_stroke, NoSymbol, U019B, U1E9E, minutes, NoSymbol ] };
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
key <BKSL> { [ numbersign, apostrophe, registered, NoSymbol, schwa, SCHWA, seconds, NoSymbol ] };
|
||||
|
||||
key <LSGT> { [ less, greater, bar, NoSymbol, U0149, brokenbar, U266A, NoSymbol ] };
|
||||
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
|
||||
key <AB01> { [ y, Y, U203A, NoSymbol, U0292, U01B7, guillemotleft, NoSymbol ] };
|
||||
key <AB02> { [ x, X, guillemotright, NoSymbol, doublelowquotemark, singlelowquotemark, guillemotright, NoSymbol ] };
|
||||
key <AB03> { [ c, C, copyright, NoSymbol, cent, copyright, Greek_horizbar, NoSymbol ] };
|
||||
key <AB04> { [ v, V, guillemotleft, NoSymbol, leftdoublequotemark, leftsinglequotemark, U2039, NoSymbol ] };
|
||||
key <AB05> { [ b, B, U2039, NoSymbol, rightdoublequotemark, rightsinglequotemark, U203A, NoSymbol ] };
|
||||
key <AB06> { [ n, N, endash, NoSymbol, U019E, U0220, endash, NoSymbol ] };
|
||||
key <AB07> { [ m, M, Greek_mu, NoSymbol, mu, masculine, emdash, NoSymbol ] };
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
key <AB08> { [ comma, semicolon, U02BB, NoSymbol, ellipsis, multiply, dollar, NoSymbol ] };
|
||||
key <AB09> { [ period, colon, U200C, NoSymbol, periodcentered, division, numbersign, NoSymbol ] };
|
||||
key <AB10> { [ minus, underscore, hyphen, NoSymbol, U0140, U013F, U2011, NoSymbol ] };
|
||||
|
||||
key <SPCE> { [ space, space, nobreakspace, NoSymbol, U202F, U200C, nobreakspace, NoSymbol ] };
|
||||
|
||||
include "kpdl(comma)"
|
||||
|
||||
include "level5(modifier_mapping)"
|
||||
include "level3(modifier_mapping)"
|
||||
key.type[Group1] = "THREE_LEVEL";
|
||||
key <LFSH> { [ Shift_L, Shift_L, ISO_Level5_Latch ] };
|
||||
key <RTSH> { [ Shift_R, Shift_R, ISO_Level5_Latch ] };
|
||||
key <RALT> { [ ISO_Level3_Latch, ISO_Level5_Latch, ISO_Level5_Latch ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "ro" {
|
||||
// add romanian-specific letters to the basic German layout.
|
||||
// Romanian symbols are accessible with combination of <AltGr> and
|
||||
// 'a', 's', 't', 'i', 'ä (ä)' (+<Shift> for capital letters).
|
||||
// To view romanian-specific symbols, add "export LC_CTYPE=ro_RO"
|
||||
// or "export LC_CTYPE=de_DE.utf8" to your .profile.
|
||||
|
||||
include "de(basic)"
|
||||
|
||||
name[Group1]="Romanian (Germany)";
|
||||
|
||||
key <AD05> { [ t, T, tcedilla, Tcedilla ] };
|
||||
key <AD08> { [ i, I, icircumflex, Icircumflex ] };
|
||||
key <AC01> { [ a, A, acircumflex, Acircumflex ] };
|
||||
key <AC02> { [ s, S, scedilla, Scedilla ] };
|
||||
key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "ro_nodeadkeys" {
|
||||
// add romanian-specific letters to the German nodeadkeys layout.
|
||||
// Read the comment for de_ro !
|
||||
|
||||
include "de(nodeadkeys)"
|
||||
name[Group1]="Romanian (Germany, eliminate dead keys)";
|
||||
|
||||
key <AD05> { [ t, T, tcedilla, Tcedilla ] };
|
||||
key <AD08> { [ i, I, icircumflex, Icircumflex ] };
|
||||
key <AC01> { [ a, A, acircumflex, Acircumflex ] };
|
||||
key <AC02> { [ s, S, scedilla, Scedilla ] };
|
||||
key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
|
||||
};
|
||||
|
||||
// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten)
|
||||
// Have acute and grave as dead keys, tilde and circumflex alive as they are needed
|
||||
// in many programming languages.
|
||||
// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
|
||||
// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "dvorak" {
|
||||
include "us(dvorak)"
|
||||
|
||||
name[Group1]="German (Dvorak)";
|
||||
|
||||
key <TLDE> { [ asciicircum, degree ] };
|
||||
|
||||
key <AE01> { [ 1, exclam, onesuperior ] };
|
||||
key <AE02> { [ 2, quotedbl, twosuperior ] };
|
||||
key <AE03> { [ 3, section, threesuperior ] };
|
||||
key <AE04> { [ 4, dollar, bar ] };
|
||||
key <AE05> { [ 5, percent, bar ] };
|
||||
key <AE06> { [ 6, ampersand, brokenbar ] };
|
||||
key <AE07> { [ 7, slash, braceleft ] };
|
||||
key <AE08> { [ 8, parenleft, bracketleft ] };
|
||||
key <AE09> { [ 9, parenright, bracketright ] };
|
||||
key <AE10> { [ 0, equal, braceright ] };
|
||||
key <AE11> { [ plus, asterisk, asciitilde ] };
|
||||
key <AE12> { [ less, greater, dead_grave ] };
|
||||
|
||||
key <AD01> { [ udiaeresis, Udiaeresis, at ] };
|
||||
key <AD02> { [ comma, semicolon, dead_diaeresis ] };
|
||||
key <AD03> { [ period, colon ] };
|
||||
key <AD08> { [ c, C, copyright, Cacute ] };
|
||||
key <AD09> { [ t, T, trademark ] };
|
||||
key <AD10> { [ z, Z, zabovedot, Zabovedot ] };
|
||||
key <AD11> { [ question, ssharp ] };
|
||||
key <AD12> { [ slash, backslash, dead_acute ] };
|
||||
|
||||
key <AC01> { [ a, A, at, aogonek ] };
|
||||
key <AC02> { [ o, O, oacute, Oacute ] };
|
||||
key <AC03> { [ e, E, EuroSign, eogonek ] };
|
||||
key <AC04> { [ i, I ] };
|
||||
key <AC05> { [ u, U ] };
|
||||
key <AC06> { [ h, H ] };
|
||||
key <AC07> { [ d, D ] };
|
||||
key <AC08> { [ r, R, registered ] };
|
||||
key <AC09> { [ n, N, nacute, Nacute ] };
|
||||
key <AC10> { [ s, S, sacute, Sacute] };
|
||||
key <AC11> { [ l, L, lstroke, Lstroke ] };
|
||||
|
||||
key <AB01> { [ odiaeresis, Odiaeresis ] };
|
||||
key <AB02> { [ q, Q, at ] };
|
||||
key <AB07> { [ m, M, mu ] };
|
||||
key <AB10> { [ numbersign, apostrophe ] };
|
||||
|
||||
key <BKSL> { [ minus, underscore, hyphen, diaeresis] };
|
||||
|
||||
key <LSGT> { [ adiaeresis, Adiaeresis, bar ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "Sundeadkeys" {
|
||||
|
||||
// For naming consistency
|
||||
|
||||
include "de(basic)"
|
||||
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sundeadkeys" {
|
||||
|
||||
// For naming consistency
|
||||
|
||||
include "de(Sundeadkeys)"
|
||||
|
||||
name[Group1]="German (Sun dead keys)";
|
||||
};
|
||||
|
||||
|
||||
// German Neo-Layout Version 2
|
||||
// adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
|
||||
// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/
|
||||
//
|
||||
// Authors:
|
||||
// Stephan Hilb <stephan at ehilb dot de>
|
||||
// <lucky at zankt dot net>
|
||||
// Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany>
|
||||
// Erik Streb <mail at erikstreb dot de>
|
||||
// and many other contributors
|
||||
//
|
||||
// http://www.neo-layout.org
|
||||
//
|
||||
// $Revision$, $Date$
|
||||
|
||||
partial alphanumeric_keys modifier_keys keypad_keys
|
||||
xkb_symbols "neo_base" {
|
||||
|
||||
// Levels in Neo jargon
|
||||
// --------------------------------------------------------------
|
||||
// Ebene 1: normal
|
||||
// Ebene 2: Shift
|
||||
// Ebene 3: Mod3
|
||||
// Ebene 4: Mod4 (for marking something use Shift + Mod4)
|
||||
// Ebene 5: Shift + Mod3
|
||||
// Ebene 6: Mod3 + Mod4
|
||||
// Compose (not a level): Mod3 + Tab
|
||||
// Feststelltaste (Capslock): Shift + Shift
|
||||
// Mod4-Lock: Mod4 + Mod4
|
||||
// Mod4-Lock: Shift + Mod3 + Tab
|
||||
|
||||
// Legend
|
||||
// ===============
|
||||
// Levels in Xkbmap jargon to be found here in the definitions.
|
||||
// These are the levels used, and Xorg's translations:
|
||||
// --------------------------------------------------------------
|
||||
// Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8
|
||||
// Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Pseudo-Ebene Ebene6 ???
|
||||
// Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift
|
||||
|
||||
|
||||
// Alphanumeric-keys
|
||||
// ===============
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
|
||||
// Tab as Multi_key (Compose)
|
||||
// --------------------------------------------------------------
|
||||
key <TAB> { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] };
|
||||
|
||||
|
||||
// Number row
|
||||
// --------------------------------------------------------------
|
||||
key <TLDE> { [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ] };
|
||||
|
||||
key <AE01> { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] };
|
||||
key <AE02> { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] };
|
||||
key <AE03> { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] };
|
||||
key <AE04> { [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ] };
|
||||
key <AE05> { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] };
|
||||
key <AE06> { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] };
|
||||
|
||||
key <AE07> { [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ] };
|
||||
key <AE08> { [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ] };
|
||||
key <AE09> { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ] };
|
||||
key <AE10> { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ] };
|
||||
|
||||
key <AE11> { [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ] };
|
||||
key <AE12> { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] };
|
||||
|
||||
// Top row
|
||||
// --------------------------------------------------------------
|
||||
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
|
||||
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 ] };
|
||||
key <AD04> { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ] };
|
||||
key <AD05> { [ w, W, asciicircum, Greek_omega, Next, Next, Greek_OMEGA, NoSymbol ] };
|
||||
|
||||
key <AD06> { [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ] };
|
||||
key <AD07> { [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ] };
|
||||
key <AD08> { [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ] };
|
||||
key <AD09> { [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ] };
|
||||
key <AD10> { [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ] };
|
||||
|
||||
key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
|
||||
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
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 <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 ] };
|
||||
key <AC04> { [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ] };
|
||||
key <AC05> { [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ] };
|
||||
|
||||
key <AC06> { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] };
|
||||
key <AC07> { [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ] };
|
||||
key <AC08> { [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ] };
|
||||
key <AC09> { [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ] };
|
||||
key <AC10> { [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ] };
|
||||
|
||||
key <AC11> { [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ] };
|
||||
|
||||
// Bottom row
|
||||
// --------------------------------------------------------------
|
||||
key <AB01> { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ] };
|
||||
key <AB02> { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ] };
|
||||
key <AB03> { [ adiaeresis, Adiaeresis, bar, Greek_eta, Insert, Insert, U2135, NoSymbol ] };
|
||||
key <AB04> { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] };
|
||||
key <AB05> { [ z, Z, grave, Greek_zeta, Undo, Redo, U2124, NoSymbol ] };
|
||||
|
||||
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 <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 <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] };
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
|
||||
// Space key
|
||||
// --------------------------------------------------------------
|
||||
key <SPCE> { [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ] };
|
||||
|
||||
|
||||
// Keypad-keys
|
||||
// ===============
|
||||
|
||||
// The former Numlock key:
|
||||
key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ] };
|
||||
|
||||
// Topmost row
|
||||
// --------------------------------------------------------------
|
||||
key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] };
|
||||
key <KPMU> { [ KP_Multiply, KP_Multiply, U22C5, U2299, multiply, NoSymbol, U2297, NoSymbol ] };
|
||||
key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] };
|
||||
|
||||
// Top row
|
||||
// --------------------------------------------------------------
|
||||
key <KP7> { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] };
|
||||
key <KP8> { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] };
|
||||
key <KP9> { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] };
|
||||
key <KPAD> { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] };
|
||||
|
||||
// Middle row
|
||||
// --------------------------------------------------------------
|
||||
key <KP4> { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] };
|
||||
key <KP5> { [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] };
|
||||
key <KP6> { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] };
|
||||
|
||||
// Bottom row
|
||||
// --------------------------------------------------------------
|
||||
key <KP1> { [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] };
|
||||
key <KP2> { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] };
|
||||
key <KP3> { [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] };
|
||||
key <KPEN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] };
|
||||
key <KPEQ> { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
|
||||
|
||||
// Bottommost row
|
||||
// --------------------------------------------------------------
|
||||
key <KP0> { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] };
|
||||
key <KPDL> { [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys modifier_keys keypad_keys
|
||||
xkb_symbols "neo" {
|
||||
|
||||
include "de(neo_base)"
|
||||
|
||||
name[Group1]= "German (Neo 2)";
|
||||
|
||||
include "shift(both_capslock)"
|
||||
include "level3(caps_switch)"
|
||||
include "level3(bksl_switch)"
|
||||
include "level5(lsgt_switch)"
|
||||
include "level5(ralt_switch)"
|
||||
};
|
||||
|
||||
// Copied from macintosh_vndr/de
|
||||
// olh@suse.de very close to MacOS map
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "mac" {
|
||||
|
||||
include "de"
|
||||
name[Group1]= "German (Macintosh)";
|
||||
|
||||
key <AE01> { [ 1, exclam, exclamdown, at ] };
|
||||
key <AE05> { [ 5, percent, bracketleft ] };
|
||||
key <AE06> { [ 6, ampersand, bracketright ] };
|
||||
key <AE07> { [ 7, slash, bar, backslash ] };
|
||||
key <AE08> { [ 8, parenleft, braceleft, asciitilde ] };
|
||||
key <AE09> { [ 9, parenright, braceright ] };
|
||||
key <AD01> { [ q, Q, guillemotleft, guillemotright ] };
|
||||
key <AD04> { [ r, R, registered ] };
|
||||
key <AD07> { [ u, U, diaeresis, Aacute ] };
|
||||
key <AD08> { [ i, I, slash, Ucircumflex ] };
|
||||
key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
|
||||
key <AD12> { [ plus, asterisk, asciitilde ] };
|
||||
key <AC01> { [ a, A, aring, Aring ] };
|
||||
key <AC05> { [ g, G, copyright ] };
|
||||
key <AC06> { [ h, H, ordfeminine ] };
|
||||
key <AC09> { [ l, L, at ] };
|
||||
key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] };
|
||||
key <AB06> { [ n, N, asciitilde ] };
|
||||
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "mac_nodeadkeys" {
|
||||
// modify the standard German mac layout to not have any dead keys
|
||||
include "de(mac)"
|
||||
name[Group1]= "German (Macintosh, eliminate dead keys)";
|
||||
|
||||
key <TLDE> { [ asciicircum, degree, notsign ] };
|
||||
key <AE04> { [ 4, dollar, onequarter, currency ] };
|
||||
key <AE12> { [ acute, grave, cedilla ] };
|
||||
key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] };
|
||||
key <AD12> { [ plus, asterisk, asciitilde, macron ] };
|
||||
key <AC10> { [ odiaeresis, Odiaeresis, acute ] };
|
||||
key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] };
|
||||
|
||||
key <BKSL> { [ numbersign, apostrophe, grave ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "dsb"
|
||||
{
|
||||
include "latin(basic)"
|
||||
name[Group1] = "Lower Sorbian";
|
||||
key <AB01> { [ z, Z, zcaron, Zcaron ] };
|
||||
key <AB02> { [ x, X, zacute, Zacute ] };
|
||||
key <AB03> { [ c, C, cacute, Cacute ] };
|
||||
key <AB04> { [ v, V, ccaron, Ccaron ] };
|
||||
key <AB06> { [ n, N, nacute, Nacute ] };
|
||||
key <AC02> { [ s, S, sacute, Sacute ] };
|
||||
key <AC03> { [ d, D, scaron, Scaron ] };
|
||||
key <AC04> { [ f, F ] };
|
||||
key <AD01> { [ q, Q ] };
|
||||
key <AD02> { [ w, W ] };
|
||||
key <AD03> { [ e, E, ecaron, Ecaron ] };
|
||||
key <AD04> { [ r, R, racute, Racute ] };
|
||||
key <AD05> { [ t, T, U20B5, EuroSign ] };
|
||||
key <AD09> { [ o, O, oacute, Oacute ] };
|
||||
include "kpdl(comma)"
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "dsb_qwertz"
|
||||
{
|
||||
include "latin(basic)"
|
||||
name[Group1] = "Lower Sorbian (qwertz)";
|
||||
key <AB01> { [ y, Y ] };
|
||||
key <AB02> { [ x, X ] };
|
||||
key <AB03> { [ c, C, cacute, Cacute ] };
|
||||
key <AB04> { [ v, V, ccaron, Ccaron ] };
|
||||
key <AB06> { [ n, N, nacute, Nacute ] };
|
||||
key <AC02> { [ s, S, sacute, Sacute ] };
|
||||
key <AC03> { [ d, D, scaron, Scaron ] };
|
||||
key <AC04> { [ f, F ] };
|
||||
key <AD01> { [ q, Q ] };
|
||||
key <AD02> { [ w, W ] };
|
||||
key <AD03> { [ e, E, ecaron, Ecaron ] };
|
||||
key <AD04> { [ r, R, racute, Racute ] };
|
||||
key <AD05> { [ t, T, U20B5, EuroSign ] };
|
||||
key <AD06> { [ z, Z, zcaron, Zcaron ] };
|
||||
key <AD07> { [ u, U, zacute, Zacute ] };
|
||||
key <AD09> { [ o, O, oacute, Oacute ] };
|
||||
include "kpdl(comma)"
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "qwerty" {
|
||||
|
||||
// This layout should work exactly as a de with the exception
|
||||
// of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
|
||||
// 2008 by Matej Košík <kosik@fiit.stuba.sk>
|
||||
|
||||
include "de(basic)"
|
||||
|
||||
name[Group1] = "German (qwerty)";
|
||||
|
||||
key <AB01> { [ z, Z, leftarrow, yen ] };
|
||||
key <AD06> { [ y, Y, guillemotleft, less ] };
|
||||
};
|
||||
|
||||
// layout for Russian letters on an german keyboard
|
||||
// based on US-RU layout by Ivan Popov <pin@konvalo.org> 2005-07-17
|
||||
// adopted for german layout by Alexey Fisher <bug-track@fisher-privat.net> 2010-08-19
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "ru" {
|
||||
|
||||
include "de(basic)"
|
||||
|
||||
name[Group1]= "Russian (Germany, phonetic)";
|
||||
|
||||
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
|
||||
|
||||
key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
|
||||
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
|
||||
key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
|
||||
key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
|
||||
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
|
||||
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
|
||||
key <TLDE> { [ Cyrillic_io, Cyrillic_IO, asciitilde ] };
|
||||
key <LatX> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
|
||||
key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
|
||||
key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
|
||||
key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
|
||||
key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
|
||||
key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
|
||||
key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
|
||||
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
|
||||
key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
|
||||
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
|
||||
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
|
||||
key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
|
||||
key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
|
||||
key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
|
||||
key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
|
||||
key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
|
||||
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
|
||||
key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
|
||||
key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
|
||||
key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] };
|
||||
key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
|
||||
key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
|
||||
key <LatV> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
|
||||
key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
|
||||
key <BKSL> { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] };
|
||||
key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "htcdream" {
|
||||
include "inet(htcdream)"
|
||||
|
||||
name[Group1]= "German";
|
||||
|
||||
//second row
|
||||
key <AD01> { [ q, Q, Tab, Tab ] };
|
||||
key <AD02> { [ w, W, grave, grave ] };
|
||||
key <AD03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AD04> { [ r, R, underscore, underscore ] };
|
||||
key <AD05> { [ t, T, sterling, sterling] };
|
||||
key <AD06> { [ z, Z, division, division ] };
|
||||
key <AD07> { [ u, U, udiaeresis, udiaeresis ] };
|
||||
key <AD08> { [ i, I, minus, minus ] };
|
||||
key <AD09> { [ o, O, odiaeresis, odiaeresis ] };
|
||||
key <AD10> { [ p, P, equal, equal ] };
|
||||
|
||||
//third row
|
||||
key <AC01> { [ a, A, adiaeresis, adiaeresis ] };
|
||||
key <AC02> { [ s, S, ssharp, ssharp] };
|
||||
key <AC03> { [ d ,D, backslash, backslash ] };
|
||||
key <AC04> { [ f, F, braceleft, braceleft ] };
|
||||
key <AC05> { [ g, G, braceright, braceright ] };
|
||||
key <AC06> { [ h, H, multiply, multiply ] };
|
||||
key <AC07> { [ j, J, colon, colon ] };
|
||||
key <AC08> { [ k, K, plus, plus ] };
|
||||
key <AC09> { [ l, L, apostrophe, apostrophe ] };
|
||||
|
||||
//forth row
|
||||
key <AB01> { [ y, Y, bar, bar ] };
|
||||
key <AB02> { [ x, X, bracketleft, bracketleft ] };
|
||||
key <AB03> { [ c, C, bracketright, bracketright ] };
|
||||
key <AB04> { [ v, V, less, less ] };
|
||||
key <AB05> { [ b, B, greater, greater ] };
|
||||
key <AB06> { [ n, N, semicolon, semicolon ] };
|
||||
key <AB07> { [ m, M, quotedbl, quotedbl ] };
|
||||
key <AB08> { [ comma, comma, question, question ] };
|
||||
|
||||
//fifth row
|
||||
key <FK15> { [ at, at, asciitilde, asciitilde ] };
|
||||
|
||||
include "level3(alt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "tr" {
|
||||
|
||||
// add turkish-specific letters to the basic German layout.
|
||||
// Turkish symbols are accessible with combination of <AltGr> and
|
||||
// 'i', 's', 'g', 'c'' (+<Shift> for capital letters).
|
||||
|
||||
include "de(basic)"
|
||||
|
||||
name[Group1]="Turkish (Germany)";
|
||||
|
||||
key <AD08> { [ i, I, U0131, U0130 ] };
|
||||
key <AC02> { [ s, S, U015F, U015E ] };
|
||||
key <AC05> { [ g, G, U011F, U011E ] };
|
||||
key <AB03> { [ c, C, U0E7, U0C7 ] };
|
||||
|
||||
};
|
||||
|
||||
// EXTRAS:
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "us" {
|
||||
include "us"
|
||||
|
||||
name[Group1]="German (US keyboard with German letters)";
|
||||
|
||||
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
|
||||
key <AC02> { [ s, S, ssharp, ssharp ] };
|
||||
key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
|
||||
key <AC11> { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] };
|
||||
key <AD03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
|
||||
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
|
||||
key <AD11> { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] };
|
||||
key <AE03> { [ 3, numbersign, section, section ] };
|
||||
key <AE11> { [ minus, underscore, ssharp, question ] };
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "hu" {
|
||||
|
||||
// modify the basic German layout to not have any dead keys and add Hungarian letters
|
||||
|
||||
include "de(basic)"
|
||||
name[Group1]="German (with Hungarian letters and no dead keys)";
|
||||
|
||||
key <AB01> { [ y, Y, guillemotleft, less ] };
|
||||
key <AC10> { [odiaeresis, Odiaeresis, eacute, Eacute ] };
|
||||
key <AC11> { [adiaeresis, Adiaeresis, aacute, Aacute] };
|
||||
key <AD03> { [ e, E, EuroSign, EuroSign ] };
|
||||
key <AD06> { [ z, Z, leftarrow, yen ] };
|
||||
key <AD07> { [ u, U, uacute, Uacute ] };
|
||||
key <AD08> { [ i, I, iacute, Iacute ] };
|
||||
key <AD09> { [ o, O, odoubleacute,Odoubleacute ] };
|
||||
key <AD11> { [udiaeresis, Udiaeresis, udoubleacute,Udoubleacute ] };
|
||||
key <AD12> { [ plus, asterisk, asciitilde, macron ] };
|
||||
key <AE12> { [ acute, grave, oacute, Oacute ] };
|
||||
key <BKSL> { [numbersign, apostrophe, grave, grave ] };
|
||||
key <TLDE> { [asciicircum, degree, notsign, notsign ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sun_type6" {
|
||||
include "sun_vndr/de(sun_type6)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "adnw_base" {
|
||||
include "de(neo_base)"
|
||||
|
||||
key.type[Group1] = "EIGHT_LEVEL";
|
||||
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 <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 ] };
|
||||
key <AD05> { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, 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> { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] };
|
||||
key <AD11> { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] };
|
||||
key <AC01> { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] };
|
||||
key <AC02> { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] };
|
||||
key <AC03> { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] };
|
||||
key <AC04> { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] };
|
||||
key <AC05> { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, 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> { [ 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 <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 ] };
|
||||
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> { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys modifier_keys keypad_keys
|
||||
xkb_symbols "adnw" {
|
||||
|
||||
include "de(adnw_base)"
|
||||
|
||||
name[Group1]= "German (Aus der Neo-Welt)";
|
||||
|
||||
include "shift(both_capslock)"
|
||||
include "level3(caps_switch)"
|
||||
include "level3(bksl_switch)"
|
||||
include "level5(lsgt_switch)"
|
||||
include "level5(ralt_switch)"
|
||||
};
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
// based on a keyboard map from an 'xkb/symbols/dk' file
|
||||
|
||||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic" {
|
||||
|
||||
include "latin(type2)"
|
||||
|
||||
name[Group1]="Danish";
|
||||
|
||||
key <AE11> { [ plus, question, plusminus, questiondown ] };
|
||||
key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
|
||||
|
||||
|
||||
key <AC10> { [ ae, AE, dead_acute, dead_doubleacute ] };
|
||||
key <AC11> { [ oslash, Ooblique, dead_circumflex, dead_caron ] };
|
||||
key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
|
||||
|
||||
key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
|
||||
|
||||
key <LSGT> { [ less, greater, backslash, notsign ] };
|
||||
|
||||
include "kpdl(comma)"
|
||||
|
||||
include "level3(ralt_switch)"
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "nodeadkeys" {
|
||||
|
||||
include "dk(basic)"
|
||||
|
||||
name[Group1]="Danish (eliminate dead keys)";
|
||||
|
||||
key <AE12> { [ acute, grave, bar, ogonek ] };
|
||||
key <AD11> { [ aring, Aring, diaeresis, degree ] };
|
||||
key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
|
||||
key <AC10> { [ ae, AE, acute, doubleacute ] };
|
||||
key <AC11> { [ oslash, Ooblique, asciicircum, caron ] };
|
||||
key <BKSL> { [apostrophe, asterisk, doubleacute, multiply ] };
|
||||
key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
|
||||
key <AB09> { [ period, colon, periodcentered, abovedot ] };
|
||||
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "winkeys" {
|
||||
|
||||
include "dk(basic)"
|
||||
name[Group1] = "Danish (Winkeys)";
|
||||
include "eurosign(5)"
|
||||
};
|
||||
|
||||
// Copied from macintosh_vndr/dk
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "mac" {
|
||||
|
||||
include "dk"
|
||||
name[Group1]= "Danish (Macintosh)";
|
||||
|
||||
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
|
||||
key <AB10> { [ minus, underscore, hyphen, macron ] };
|
||||
include "kpdl(dot)"
|
||||
};
|
||||
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "mac_nodeadkeys" {
|
||||
include "dk(mac)"
|
||||
name[Group1]= "Danish (Macintosh, eliminate dead keys)";
|
||||
|
||||
key <AE12> { [ acute, grave, bar, ogonek ] };
|
||||
key <AD12> { [diaeresis, asciicircum, asciitilde, dead_macron ] };
|
||||
};
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "dvorak" {
|
||||
include "no(dvorak)"
|
||||
|
||||
name[Group1]= "Danish (Dvorak)";
|
||||
key <AD12> { [ asciitilde, asciicircum, dead_diaeresis, dead_tilde ] };
|
||||
};
|
||||
|
||||
// EXTRAS:
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "sun_type6" {
|
||||
include "sun_vndr/dk(sun_type6)"
|
||||
};
|