New unified Curl-DH mod; CurlAngle models

This commit is contained in:
DreymaR 2017-06-09 12:44:45 +02:00
parent c40b832ae9
commit 68a482969d
23 changed files with 705 additions and 397 deletions

53
.gitattributes vendored
View File

@ -1,17 +1,42 @@
# Auto detect text files and perform LF normalization
# Set the default behavior, in case people don't have core.autocrlf set:
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Declare text files that will always be normalized and converted
# to native line endings on checkout:
*.txt text
*.md text
*.c text
*.h text
*.cpp text
*.hpp text
*.c++ text
*.h++ text
*.bat text
*.css text
*.htm text
*.html text
*.xml text
*.yaml text
*.ini text
*.hex text
LICENSE text
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
# Declare files that will always have LF/CRLF line endings on checkout:
*.svg text eol=lf
*.sh text eol=lf
*.mk text eol=lf
# Declare files that are truly binary and should not be modified:
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.tif binary
*.tiff binary
*.ico binary
*.png binary
*.pdf binary
*.zip binary
*.tar binary
*.gz binary
*.tgz binary

View File

@ -1,4 +1,4 @@
Copyright 2016, Øystein Bech Gadmar (a.k.a. "DreymaR")
Copyright 2016, Øystein Bech Gadmar (a.k.a. "DreymaR")
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@ -6,7 +6,7 @@ DreymaR's Big Bag of Keyboard Tricks
* New "Colemak[eD]" AltGr mappings (lv3-4) putting dead keys on AltGr+symbol keys and reworking most other mappings
* An "Extend" layer using Caps Lock as a modifier (lv5-8) for navigation/editing from the home position and more
* Angle/Wide ergo modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
* Curl-DH ergo modifications to encourage natural finger curvature
* Curl(DH) ergo modifications to encourage natural finger curvature
* For several locales, a 'Unified Symbols' layout with only a few necessary changes from the standard Colemak[eD];
Also, a layout to 'Keep Local Symbols' like their default (QWERTY-type) counterparts for that locale
* Intuitive phonetic layouts for Cyrillic, Greek and Hebrew scripts
@ -26,4 +26,4 @@ See the [DREYMAR'S (XKB) topic on the Colemak Forums](http://forum.colemak.com/v
There are plenty of explanations and further links in there, as well as links to files.
Happy XKB hacking!
DreymaR, 2016-10
DreymaR, 2017-06

View File

@ -7,10 +7,10 @@
# in /etc/X11/xorg.conf.
#XKBMODEL="pc105"
XKBMODEL="pc105awide-sl"
XKBMODEL="pc105caw-sl"
XKBLAYOUT="no,no"
XKBVARIANT="cmk_ed_us,"
XKBOPTIONS="compose:menu,terminate:ctrl_alt_bksp,grp_led:scroll,lv5:caps_switch_lock,misc:extend"
XKBOPTIONS="compose:menu,terminate:ctrl_alt_bksp,grp_led:scroll,lv5:caps_switch_lock,misc:extend,misc:cmk_curl_dh"
# 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

View File

@ -10,9 +10,13 @@
#XKBmodel='pc104'
#XKBmodel='pc104angle-z'
#XKBmodel='pc104wide-qu'
#XKBmodel='pc104aw-zqu'
#XKBmodel='pc104curl-z'
#XKBmodel='pc104caw-zqu'
#XKBmodel='pc105'
XKBmodel='pc105awide-sl'
#XKBmodel='pc105angle-lg'
#XKBmodel='pc105angle'
XKBmodel='pc105aw-sl'
#XKBmodel='pc105caw-sl'
VerboseLvl=9
UsageStr="sh $0 [-m model]"
HelpStr="Usage: $UsageStr\n"\

View File

@ -10,9 +10,13 @@
#XKBmodel='pc104'
#XKBmodel='pc104angle-z'
#XKBmodel='pc104wide-qu'
#XKBmodel='pc104aw-zqu'
#XKBmodel='pc104curl-z'
#XKBmodel='pc104caw-zqu'
XKBmodel='pc105'
#XKBmodel='pc105awide-sl'
#XKBmodel='pc105angle-lg'
#XKBmodel='pc105angle'
#XKBmodel='pc105aw-sl'
#XKBmodel='pc105caw-sl'
VerboseLvl=9
UsageStr="sh $0 [-m model]"
HelpStr="Usage: $UsageStr\n"\

View File

@ -8,7 +8,7 @@
HeadStr="DreymaR's Big Bag Of Tricks install script (by GadOE, 2016-06)"
DescStr=\
"\e[1mShell script to apply DreymaR's changes to the X keyboard files:\e[0m\n"\
" - AngleWide Ergonomic keyboard models for pc104/pc105 keyboards,\n"\
" - CurlAngleWide Ergonomic keyboard models for pc104/pc105 keyboards,\n"\
" - Extend mappings as a Misc option and CapsLock as a chooser (using lv5-8),\n"\
" - the Colemak [edition DreymaR] layout, using my own lv3-4 mappings,\n"\
" - locale variants of Colemak[eD] with 'keep local' or 'unified' symbol keys,\n"\
@ -67,7 +67,7 @@ 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)
SetXStr='5cw us us' # (-s) Shortcut string for setxkb - 'mmm ll vv' (model layout eD-variant)
## NOTE: '# (-a)' means that the value can be set by option argument '-a <value>'
HelpStr="\e[1mUsage: bash ${MyNAME} [optional args]\e[0m\n"\

View File

@ -19,10 +19,13 @@ FootStr="Happy xkb-hacking! ~ Øystein Bech 'DreymaR' Gadmar"
# 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)
# Models: 4n 4a(pc104angle-z) 4w(pc104wide-qu) 4aw(pc104awide-zqu) 4f(pc104aframe)
# 5n 5a(pc105angle-lg) 5w/5aw(pc105awide-sl)
# Options left out of this: Too complex (replace all or add another, and if so, how?)
# See the help text of this script for more info on the model-layout-variant syntax.
# Example: -s '5w no us' activates model pc105aw-sl, layout no(cmk_ed_us)
# Models: 4n 4a(pc104angle-z) 4w(pc104wide-qu) 4aw(pc104aw-zqu) 4f(pc104awing)
# 5n 5a(pc105angle) 5w/5aw(pc105aw-sl)
# - Curl(DH) models with(-out) Wide use a c: 4c, 5cw etc
# - Thus, the allowed model short strings are (4|5)(n|a|c)[(w|f)]
# XKB options are left out of this: Too complex (e.g., replace or append?)
##-------------- init ------------------------------------------
@ -33,9 +36,8 @@ MyNAME=`basename $0`
## @@@ 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
#~ XKBmodel=pc105caw-bksl # ISO-105 w/ Curl(DbgHk)AngleWide(Slash) mod
#~ XKBmodel=pc104aw-zqu # ANSI-104 keyboard w/ Angle(Z)Wide(Quote) mod
XKBmodel=pc105caw-sl # ISO-105 keyboard w/ CurlAngleWide(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'
@ -45,7 +47,7 @@ XKBdir="${X11DIR}/xkb" # (-d) The xkb-type dir to run setxkbmap from
AddCmd='no' # (-a) Add setxkbmap cmd to file?
AddDefault="${HOME}/.bashrc"
AddCmdTo=${AddDefault} # (-f) File (such as '~/.bashrc') to add setxkbmap cmd to
SetXStr='' #'5aw no us' # (-s) Shortcut string for setxkb - 'model locale eD-variant(sym)'
SetXStr='' #'5cw no us' # (-s) Shortcut string for setxkb - 'model locale eD-variant(sym)'
## NOTE: '# (-a)' means that the value can be set by option argument '-a <value>'
HelpStr="\e[1mUsage: bash ${MyNAME} [optional args]\e[0m\n"\
@ -64,13 +66,13 @@ HelpStr="\e[1mUsage: bash ${MyNAME} [optional args]\e[0m\n"\
"[-f] <file> to add cmd to - '${AddCmdTo}'\n"\
"\n\e[1mShortStr notation (a space separated string defining model+layout):\e[0m\n"\
" 1) 4/5 - ANSI-104/ISO-105 keyboard,\n"\
" n/a/b/v - Normal/Angle/Curl-DbgHk/Curl-DvbgHm\n"\
" w/f - Wide/AngleFrame (a.k.a. 'A-Wing')\n"\
" n/a/c - Normal/Angle/Curl-DH\n"\
" w/f - Wide/A-Wing (a.k.a. 'A-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: '5a se us': PC105-Angle, Swedish Cmk[eD] 'UniSym'\n"\
" '4bf gb ks': PC104-Curl(DbgHk)AWing, Eng.(UK) Cmk[eD] 'KeepSym'\n"\
" '5bw': PC105-Curl(DbgHk)AngleWide (keep existing layout)\n"
" Examples: '5a se us': PC105-Angle, Swedish Cmk[eD] 'UniSym'\n"\
" '4cf gb ks': PC104-Curl(DH)AWing, Eng.(UK) Cmk[eD] 'KeepSym'\n"\
" '5cw': PC105-Curl(DH)AngleWide - keep current layout/variant\n"
#~ " (See the script's comments for more info.)"
@ -130,14 +132,14 @@ while getopts "m:l:o:v:s:d:f:akh?" cmdarg; do
l) XKBlayout="$OPTARG" ;;
o) XKBoption="$OPTARG" ;;
v) VerboseLvl="$OPTARG" ;;
s) SetXStr=($OPTARG) ;; # Split the string
s) SetXStr=($OPTARG) ;; # Split the string
d) XKBdir="$OPTARG" ;;
f) AddCmdTo="$OPTARG" ;;
a) AddCmd='yes' ;;
k) KeepXKM='yes' ;;
h) PrintHelpAndExit 0 ;;
\?) PrintHelpAndExit 0 ;;
:) PrintHelpAndExit 1 ;;
h) PrintHelpAndExit 0 ;;
\?) PrintHelpAndExit 0 ;;
:) PrintHelpAndExit 1 ;;
esac
done
#~ pos_arg=${@:$OPTIND:1} # Get the remaining (positional) arg
@ -147,22 +149,17 @@ if [ -n "${SetXStr}" ]; then # Use the ShortStr notation
4n) XKBmodel='pc104' ;; # Generic ANSI-101/104-key
4a) XKBmodel='pc104angle-z' ;; # w/ Angle(Z) ergo mod
4w) XKBmodel='pc104wide-qu' ;; # w/ Wide(Quote) ergo mod
4aw) XKBmodel='pc104awide-zqu' ;; # w/ Angle(Z)Wide(Quote) ergo mod
4f|4af) XKBmodel='pc104aframe' ;; # w/ AngleWing(Quote) ergo mod
4b) XKBmodel='pc104curla-bkz' ;; # w/ Curl(DbgHk)Angle(Z) ergo mod
4v) XKBmodel='pc104curla-vmz' ;; # w/ Curl(DvbgHm)Angle(Z) ergo mod
4bw) XKBmodel='pc104caw-bkzqu' ;; # w/ Curl(DbgHk)Angle(Z)Wide(Quote) mod
4vw) XKBmodel='pc104caw-vmzqu' ;; # w/ Curl(DvbgHm)Angle(Z)Wide(Quote) mod
4bf) XKBmodel='pc104cawing-bk' ;; # w/ Curl(DbgHk)AngleWing(Quote) mod
4vf) XKBmodel='pc104cawing-vm' ;; # w/ Curl(DvbgHm)AngleWing(Quote) mod
4aw) XKBmodel='pc104aw-zqu' ;; # w/ Angle(Z)Wide(Quote) ergo mod
4f|4af) XKBmodel='pc104awing' ;; # w/ AngleWing(Quote) ergo mod
4c) XKBmodel='pc104curl-z' ;; # w/ Curl(DH)Angle(Z) ergo mod
4cw) XKBmodel='pc104caw-zqu' ;; # w/ Curl(DH)Angle(Z)Wide(Quote) mod
4cf) XKBmodel='pc104cawing' ;; # w/ Curl(DH)AngleWing(Quote) mod
5n) XKBmodel='pc105' ;; # Generic ISO-102/105-key
5a) XKBmodel='pc105angle-lg' ;; # w/ Angle(LSGT) ergo mod
5w|5aw) XKBmodel='pc105awide-sl' ;; # w/ AngleWide(Slash) ergo mod
5b) XKBmodel='pc105curla-bk' ;; # w/ Curl(DbgHk)Angle ergo mod
5v) XKBmodel='pc105curla-vm' ;; # w/ Curl(DvbgHm)Angle ergo mod
5bw) XKBmodel='pc105caw-bksl' ;; # w/ Curl(DbgHk)AngleWide(Slash) mod
5vw) XKBmodel='pc105caw-vmsl' ;; # w/ Curl(DvbgHm)AngleWide(Slash) mod
5a) XKBmodel='pc105angle' ;; # w/ Angle(LSGT) ergo mod
5w|5aw) XKBmodel='pc105aw-sl' ;; # w/ AngleWide(Slash) ergo mod
5c) XKBmodel='pc105curl' ;; # w/ Curl(DH)Angle ergo mod
5cw) XKBmodel='pc105caw-sl' ;; # w/ Curl(DH)AngleWide(Slash) mod
*) MyError "ShortStr model '${SetXStr[0]}' unknown!" ;;
esac
@ -170,31 +167,21 @@ if [ -n "${SetXStr}" ]; then # Use the ShortStr notation
[ -n "${SetXStr[2]}" ] && XKBlayout="${SetXStr[1]}(cmk_ed_${SetXStr[2]})" \
|| XKBlayout=`setxkbmap -query | grep layout | awk '{print $2}'`
fi
## NOTE: Curl mods as models would mess up Extend, but I've kept the shortstr codes above.
# So, model strings are [4|5][n|a|v|b][-|w|f]
## TODO: Add Curl-ZXCDV angle models (pc105cawide-sl etc)
## NOTE: The code below post processes Curl models into model+option, as per my implementation.
## NOTE: The code below post processes Curl models into model+option, as per my XKB implementation.
## TODO: The Curl keyboard models sort of negate this? Only need to set the option for all of them.
case ${XKBmodel} in
pc104curla-bkz) XKBmodel='pc104angle-z' # PC104-Curl(DbgHk)Angle(Z)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc104curla-vmz) XKBmodel='pc104angle-z' # PC104-Curl(DvbgHm)Angle(Z)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc104caw-bkzqu) XKBmodel='pc104awide-zqu' # PC104-Curl(DbgHk)Angle(Z)Wide(Quote)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc104caw-vmzqu) XKBmodel='pc104awide-zqu' # PC104-Curl(DvbgHm)Angle(Z)Wide(Quote)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc104cawing-bk) XKBmodel='pc104aframe' # PC104-Curl(DbgHk)AngleWing(Quote)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc104cawing-vm) XKBmodel='pc104aframe' # PC104-Curl(DvbgHm)AngleWing(Quote)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc105curla-bk) XKBmodel='pc105angle-lg' # PC105-Curl(DbgHk)Angle
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc105curla-vm) XKBmodel='pc105angle-lg' # PC105-Curl(DvbgHm)Angle
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc105caw-bksl) XKBmodel='pc105awide-sl' # PC105-Curl(DbgHk)AngleWide(Slash)
XKBoption+=',misc:cmk_curl_dbghk' ;;
pc105caw-vmsl) XKBmodel='pc105awide-sl' # PC105-Curl(DvbgHm)AngleWide(Slash)
XKBoption+=',misc:cmk_curl_dvbghm' ;;
pc104curl-z) XKBmodel='pc104angle-z' # PC104-Curl(DH)Angle(Z)
XKBoption+=',misc:cmk_curl_dh' ;;
pc104caw-zqu) XKBmodel='pc104aw-zqu' # PC104-Curl(DH)Angle(Z)Wide(Quote)
XKBoption+=',misc:cmk_curl_dh' ;;
pc104cawing) XKBmodel='pc104awing' # PC104-Curl(DH)AngleWing(Quote)
XKBoption+=',misc:cmk_curl_dh' ;;
pc105curl) XKBmodel='pc105angle' # PC105-Curl(DH)Angle(LSGT)
XKBoption+=',misc:cmk_curl_dh' ;;
pc105caw-sl) XKBmodel='pc105aw-sl' # PC105-Curl(DH)AngleWide(Slash)
XKBoption+=',misc:cmk_curl_dh' ;;
esac
@ -272,7 +259,7 @@ exit 0
## Extend mappings w/ Caps switch (for both),
## Switch grp w/ 2xCtrl; Compose on Menu key:
#~ setxkbmap \
#~ -model pc105awide-sl, \
#~ -model pc105aw-sl, \
#~ -layout "no(cmk_ed_us),gr(colemak)", \
#~ -option "misc:extend,lv5:caps_switch_lock,"\
#~ "grp:rctrl_switch_ctrls_toggle,compose:menu"

View File

@ -1567,11 +1567,10 @@ xkb_geometry "pc104alt" {
}; // End of "pc104alt" geometry
// --> OEystein Bech "DreymaR" Gadmar, 2013: Additions to xkb/geometry/pc
// --> OEystein Bech "DreymaR" Gadmar, 2017: Additions to xkb/geometry/pc
// pc104_Angle(Z) ergonomic mod (by DreymaR, 2011)
xkb_geometry "pc104angle-z" {
include "pc(pc104)"
description= "Generic 104 - Angle(Z)Ergo mod";
section.left= 19;
@ -1591,10 +1590,31 @@ xkb_geometry "pc104angle-z" {
}; // End of "Alpha" section
}; // End of "pc104angle-z" geometry
// pc104_CurlAngle(Z) ergonomic mod (by DreymaR, 2017)
xkb_geometry "pc104curl-z" {
include "pc(pc104)"
description= "Generic 104 - CurlAngle(Z)Ergo mod";
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 61;
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB02>, <AB03>, <AB05>, <AB04>, <AB01>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc104curl-z" geometry
// pc104_Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_geometry "pc104wide-qu" {
include "pc(pc104)"
description= "Generic 104 - Wide(Quote)Ergo mod";
section.left= 19;
@ -1639,9 +1659,8 @@ xkb_geometry "pc104wide-qu" {
}; // End of "pc104wide-qu" geometry
// pc104_Angle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2015)
xkb_geometry "pc104awide-zqu" {
xkb_geometry "pc104aw-zqu" {
include "pc(pc104wide-qu)"
description= "Generic 104 - Angle(Z)Wide(Quote)Ergo mod";
section.left= 19;
@ -1656,16 +1675,37 @@ xkb_geometry "pc104awide-zqu" {
<AB02>, <AB03>, <AB04>, <AB05>, <AB01>,
<AB10>, <AB06>, <AB07>, <AB08>, <AB09>,
{ <RTSH>, "RTSH", color="grey20" }
}; // pc104-AngleWide-ZQu
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc104awide-zqu" geometry
}; // End of "pc104aw-zqu" geometry
// pc104_AngleFrame(Quote) ergonomic mod (by DreymaR, 2015)
xkb_geometry "pc104aframe" {
// pc104_CurlAngle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2017)
xkb_geometry "pc104caw-zqu" {
include "pc(pc104wide-qu)"
description= "Generic 104 - CurlAngle(Z)Wide(Quote)Ergo mod";
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 61;
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB02>, <AB03>, <AB05>, <AB04>, <AB01>,
<AB10>, <AB06>, <AB07>, <AB08>, <AB09>,
{ <RTSH>, "RTSH", color="grey20" }
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc104caw-zqu" geometry
// pc104_AngleWing(Quote) ergonomic mod (by DreymaR, 2015)
xkb_geometry "pc104awing" {
include "pc(pc104)"
description= "Generic 104 - AngleFrame ergo mod";
description= "Generic 104 - AngleWing(Quote)Ergo mod";
section.left= 19;
row.left= 1;
@ -1706,13 +1746,34 @@ xkb_geometry "pc104aframe" {
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc104aframe" geometry
}; // End of "pc104awing" geometry
// pc104_CurlAngleWing(Quote) ergonomic mod (by DreymaR, 2017)
xkb_geometry "pc104cawing" {
include "pc(pc104awing)"
description= "Generic 104 - CurlAngleWing(Quote)Ergo mod";
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 61;
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB05>, <AB04>,
<AB10>, <AB06>, <AB07>, <AB08>, <AB09>,
{ <RTSH>, "RTSH", color="grey20" }
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc104caw-zqu" geometry
// pc105_Angle(LSGT) ergonomic mod (by DreymaR, 2011)
xkb_geometry "pc105angle-lg" {
xkb_geometry "pc105angle" {
include "pc(pc105)"
description= "Generic 105 - Angle(LSGT)Ergo mod";
description= "Generic 105 - Angle_Ergo mod";
section.left= 19;
row.left= 1;
@ -1729,12 +1790,33 @@ xkb_geometry "pc105angle-lg" {
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc105angle-lg" geometry
}; // End of "pc105angle" geometry
// pc105_CurlAngle(LSGT) ergonomic mod (by DreymaR, 2017)
xkb_geometry "pc105curl" {
include "pc(pc105)"
description= "Generic 105 - CurlAngle_Ergo mod";
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 61;
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB05>, <AB04>, <LSGT>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc105curl" geometry
// pc105_AngleWide(Slash) ergonomic mod (by DreymaR, 2011)
xkb_geometry "pc105awide-sl" {
xkb_geometry "pc105aw-sl" {
include "pc(pc105)"
description= "Generic 105 - AngleWide(/)Ergo mod";
section.left= 19;
@ -1776,5 +1858,27 @@ xkb_geometry "pc105awide-sl" {
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc105awide-sl" geometry
}; // End of "pc105aw-sl" geometry
// pc105_CurlAngleWide(Slash) ergonomic mod (by DreymaR, 2017)
xkb_geometry "pc105caw-sl" {
include "pc(pc105aw-sl)"
description= "Generic 105 - CurlAngleWide(/)Ergo mod";
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 61;
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB05>, <AB04>, <LSGT>,
<BKSL>, <AB06>, <AB07>, <AB08>, <AB09>,
{ <RTSH>, "RTSH", color="grey20" }
};
}; // End of bottom row
}; // End of "Alpha" section
}; // End of "pc105caw-sl" geometry
// <-- DreymaR: Additions to xkb/geometry/pc

View File

@ -130,4 +130,36 @@ xkb_keycodes "colemak" {
alias <LatK> = <AB06>;
alias <LatM> = <AB07>;
};
xkb_keycodes "colemak_dh" {
alias <LatQ> = <AD01>;
alias <LatW> = <AD02>;
alias <LatF> = <AD03>;
alias <LatP> = <AD04>;
alias <LatB> = <AD05>;
alias <LatJ> = <AD06>;
alias <LatL> = <AD07>;
alias <LatU> = <AD08>;
alias <LatY> = <AD09>;
alias <LatA> = <AC01>;
alias <LatR> = <AC02>;
alias <LatS> = <AC03>;
alias <LatT> = <AC04>;
alias <LatG> = <AC05>;
alias <LatK> = <AC06>;
alias <LatN> = <AC07>;
alias <LatE> = <AC08>;
alias <LatI> = <AC09>;
alias <LatO> = <AC10>;
alias <LatZ> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatD> = <AB04>;
alias <LatV> = <AB05>;
alias <LatM> = <AB06>;
alias <LatH> = <AB07>;
};
// <-- DreymaR: Additions to xkb/keycodes/aliases

View File

@ -314,7 +314,7 @@ xkb_keycodes "pc98" {
};
// --> OEystein Bech "DreymaR" Gadmar, 2015: Additions to xkb/keycodes/evdev
// --> OEystein Bech "DreymaR" Gadmar, 2017: Additions to xkb/keycodes/evdev
// pc104_Angle(Z) ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc104angle-z" {
@ -327,38 +327,99 @@ xkb_keycodes "pc104angle-z" {
augment "evdev(evdev)"
};
// pc104_Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-qu" {
// pc104_CurlAngle(Z) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc104curl-z" {
include "evdev(pc104wide-rightpart)"
<AE12> = 16; // = < 7
<AD11> = 29; // [ < Y
<AC11> = 35; // ' < ]
<AD12> = 43; // ] < H
<AB10> = 57; // / < N
<AB02> = 52; // X < Z
<AB03> = 53; // C < X
<AB05> = 54; // B < C
<AB04> = 55; // V < V
<AB01> = 56; // Z < B
augment "evdev(evdev)"
};
// pc104_Angle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104awide-zqu" {
// pc104_Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-qu" {
include "evdev(pc104wide-rightpart)"
include "evdev(pc104wide-midpart)"
augment "evdev(evdev)"
};
// pc104_Angle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104aw-zqu" {
include "evdev(pc104wide-rightpart)"
include "evdev(pc104wide-midpart)"
augment "evdev(pc104angle-z)"
};
// pc104_AngleWing(Quote) ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104awing" {
include "evdev(pc104wide-rightpart)"
include "evdev(pc104awing-leftpart)"
augment "evdev(evdev)"
};
// pc104_CurlAngle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc104caw-zqu" {
include "evdev(pc104wide-rightpart)"
include "evdev(pc104wide-midpart)"
augment "evdev(pc104curl-z)"
};
// pc104_CurlAngleWing(Quote) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc104cawing" {
<AB05> = 55; // B < V
<AB04> = 56; // V < B
augment "evdev(pc104awing)"
};
// pc104_Wide partial ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-midpart" {
<AE12> = 16; // = < 7
<AD11> = 29; // [ < Y
<AC11> = 35; // ' < ]
<AD12> = 43; // ] < H
<AB10> = 57; // / < N
augment "evdev(pc104angle-z)"
};
// pc104_AngleFrame(Quote) ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104aframe" {
// pc104_Wide partial ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-rightpart" {
include "evdev(pc104wide-rightpart)"
<AE07> = 17; // 7 < 8
<AE08> = 18; // 8 < 9
<AE09> = 19; // 9 < 0
<AE10> = 20; // 0 < -
<AE11> = 21; // - < =
<AD06> = 30; // Y < U
<AD07> = 31; // U < I
<AD08> = 32; // I < O
<AD09> = 33; // O < P
<AD10> = 34; // P < [
<AC06> = 44; // H < J
<AC07> = 45; // J < K
<AC08> = 46; // K < L
<AC09> = 47; // L < ;
<AC10> = 48; // ; < '
<AC12> = 51; // \ < \
<AB06> = 58; // N < M
<AB07> = 59; // M < ,
<AB08> = 60; // , < .
<AB09> = 61; // . < /
};
// pc104_AngleWing partial ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104awing-leftpart" {
<AE12> = 10; // = < 1
<AD11> = 24; // [ < Q
@ -384,41 +445,10 @@ xkb_keycodes "pc104aframe" {
<AC03> = 41; // D < F
<AC04> = 42; // F < G
<AC05> = 43; // G < H
augment "evdev(evdev)"
};
// pc104_Wide partial ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-rightpart" {
<AE07> = 17; // 7 < 8
<AE08> = 18; // 8 < 9
<AE09> = 19; // 9 < 0
<AE10> = 20; // 0 < -
<AE11> = 21; // - < =
<AD06> = 30; // Y < U
<AD07> = 31; // U < I
<AD08> = 32; // I < O
<AD09> = 33; // O < P
<AD10> = 34; // P < [
<AC06> = 44; // H < J
<AC07> = 45; // J < K
<AC08> = 46; // K < L
<AC09> = 47; // L < ;
<AC10> = 48; // ; < '
// <AC12> = 51; // \ < \
<AB06> = 58; // N < M
<AB07> = 59; // M < ,
<AB08> = 60; // , < .
<AB09> = 61; // . < /
};
// pc105_Angle(LSGT) ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc105angle-lg" {
xkb_keycodes "pc105angle" {
<AB01> = 94; // Z < LG
<AB02> = 52; // X < Z
@ -430,8 +460,35 @@ xkb_keycodes "pc105angle-lg" {
augment "evdev(evdev)"
};
// pc105_CurlAngle(LSGT) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc105curl" {
<AB01> = 94; // Z < LG
<AB02> = 52; // X < Z
<AB03> = 53; // C < X
<AB05> = 54; // B < C
<AB04> = 55; // V < V
<LSGT> = 56; // LG < B
augment "evdev(evdev)"
};
// pc105_AngleWide(Slash) ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc105awide-sl" {
xkb_keycodes "pc105aw-sl" {
include "evdev(pc105wide-rightpart)"
augment "evdev(pc105angle)"
};
// pc105_CurlAngleWide(Slash) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc105caw-sl" {
include "evdev(pc105wide-rightpart)"
augment "evdev(pc105curl)"
};
// pc105_Wide(Slash) partial ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc105wide-rightpart" {
<AE12> = 16; // = < 7
<AE07> = 17; // 7 < 8
@ -463,7 +520,6 @@ xkb_keycodes "pc105awide-sl" {
<AB07> = 59; // M < ,
<AB08> = 60; // , < .
<AB09> = 61; // . < /
augment "evdev(pc105angle-lg)"
};
// <-- DreymaR: Additions to xkb/keycodes/evdev

View File

@ -410,7 +410,7 @@ xkb_keycodes "thinkpadz60" {
};
// --> OEystein Bech "DreymaR" Gadmar, 2013: Additions to xkb/keycodes/xfree86
// --> OEystein Bech "DreymaR" Gadmar, 2017: Additions to xkb/keycodes/xfree86
// pc104_Angle(Z) ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc104angle-z" {
@ -423,38 +423,99 @@ xkb_keycodes "pc104angle-z" {
augment "xfree86(xfree86)"
};
// pc104_Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-qu" {
// pc104_CurlAngle(Z) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc104curl-z" {
include "xfree86(pc104wide-rightpart)"
<AE12> = 16; // = < 7
<AD11> = 29; // [ < Y
<AC11> = 35; // ' < ]
<AD12> = 43; // ] < H
<AB10> = 57; // / < N
<AB02> = 52; // X < Z
<AB03> = 53; // C < X
<AB05> = 54; // B < C
<AB04> = 55; // V < V
<AB01> = 56; // Z < B
augment "xfree86(xfree86)"
};
// pc104_Angle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104awide-zqu" {
// pc104_Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-qu" {
include "xfree86(pc104wide-rightpart)"
include "xfree86(pc104wide-midpart)"
augment "xfree86(xfree86)"
};
// pc104_Angle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104aw-zqu" {
include "xfree86(pc104wide-rightpart)"
include "xfree86(pc104wide-midpart)"
augment "xfree86(pc104angle-z)"
};
// pc104_AngleWing(Quote) ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104awing" {
include "xfree86(pc104wide-rightpart)"
include "xfree86(pc104awing-leftpart)"
augment "xfree86(xfree86)"
};
// pc104_CurlAngle(Z)Wide(Quote) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc104caw-zqu" {
include "xfree86(pc104wide-rightpart)"
include "xfree86(pc104wide-midpart)"
augment "xfree86(pc104curl-z)"
};
// pc104_CurlAngleWing(Quote) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc104cawing" {
<AB05> = 55; // B < V
<AB04> = 56; // V < B
augment "xfree86(pc104awing)"
};
// pc104_Wide partial ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-midpart" {
<AE12> = 16; // = < 7
<AD11> = 29; // [ < Y
<AC11> = 35; // ' < ]
<AD12> = 43; // ] < H
<AB10> = 57; // / < N
augment "xfree86(pc104angle-z)"
};
// pc104_AngleFrame(Quote) ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104aframe" {
// pc104_Wide partial ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-rightpart" {
include "xfree86(pc104wide-rightpart)"
<AE07> = 17; // 7 < 8
<AE08> = 18; // 8 < 9
<AE09> = 19; // 9 < 0
<AE10> = 20; // 0 < -
<AE11> = 21; // - < =
<AD06> = 30; // Y < U
<AD07> = 31; // U < I
<AD08> = 32; // I < O
<AD09> = 33; // O < P
<AD10> = 34; // P < [
<AC06> = 44; // H < J
<AC07> = 45; // J < K
<AC08> = 46; // K < L
<AC09> = 47; // L < ;
<AC10> = 48; // ; < '
<AC12> = 51; // \ < \
<AB06> = 58; // N < M
<AB07> = 59; // M < ,
<AB08> = 60; // , < .
<AB09> = 61; // . < /
};
// pc104_AngleWing partial ergonomic mod (by DreymaR, 2015)
xkb_keycodes "pc104awing-leftpart" {
<AE12> = 10; // = < 1
<AD11> = 24; // [ < Q
@ -480,46 +541,10 @@ xkb_keycodes "pc104aframe" {
<AC03> = 41; // D < F
<AC04> = 42; // F < G
<AC05> = 43; // G < H
augment "xfree86(xfree86)"
};
// pc104_Wide partial ergonomic mod (by DreymaR, 2013)
xkb_keycodes "pc104wide-rightpart" {
<AE12> = 16; // = < 7
<AE07> = 17; // 7 < 8
<AE08> = 18; // 8 < 9
<AE09> = 19; // 9 < 0
<AE10> = 20; // 0 < -
<AE11> = 21; // - < =
<AD11> = 29; // [ < Y
<AD06> = 30; // Y < U
<AD07> = 31; // U < I
<AD08> = 32; // I < O
<AD09> = 33; // O < P
<AD10> = 34; // P < [
<AC11> = 35; // ' < ]
<AD12> = 43; // ] < H
<AC06> = 44; // H < J
<AC07> = 45; // J < K
<AC08> = 46; // K < L
<AC09> = 47; // L < ;
<AC10> = 48; // ; < '
// <AC12> = 51; // \ < \
<AB10> = 57; // / < N
<AB06> = 58; // N < M
<AB07> = 59; // M < ,
<AB08> = 60; // , < .
<AB09> = 61; // . < /
};
// pc105_Angle(LSGT) ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc105angle-lg" {
xkb_keycodes "pc105angle" {
<AB01> = 94; // Z < LG
<AB02> = 52; // X < Z
@ -531,8 +556,35 @@ xkb_keycodes "pc105angle-lg" {
augment "xfree86(xfree86)"
};
// pc105_CurlAngle(LSGT) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc105curl" {
<AB01> = 94; // Z < LG
<AB02> = 52; // X < Z
<AB03> = 53; // C < X
<AB05> = 54; // B < C
<AB04> = 55; // V < V
<LSGT> = 56; // LG < B
augment "xfree86(xfree86)"
};
// pc105_AngleWide(Slash) ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc105awide-sl" {
xkb_keycodes "pc105aw-sl" {
include "xfree86(pc105wide-rightpart)"
augment "xfree86(pc105angle)"
};
// pc105_CurlAngleWide(Slash) ergonomic mod (by DreymaR, 2017)
xkb_keycodes "pc105caw-sl" {
include "xfree86(pc105wide-rightpart)"
augment "xfree86(pc105curl)"
};
// pc105_Wide(Slash) partial ergonomic mod (by DreymaR, 2011)
xkb_keycodes "pc105wide-rightpart" {
<AE12> = 16; // = < 7
<AE07> = 17; // 7 < 8
@ -564,7 +616,6 @@ xkb_keycodes "pc105awide-sl" {
<AB07> = 59; // M < ,
<AB08> = 60; // , < .
<AB09> = 61; // . < /
augment "xfree86(pc105angle-lg)"
};
// <-- DreymaR: Additions to xkb/keycodes/xfree86

View File

@ -13,7 +13,9 @@
// ori pk ru scc sy syr tel th tj tam ua uz
// PC models
! $pcmodels = pc101 pc102 pc104 pc105 pc104angle-z pc104wide-qu pc104awide-zqu pc104aframe pc105angle-lg pc105awide-sl
! $pcmodels = pc101 pc102 pc104 pc105 \
pc104angle-z pc104wide-qu pc104aw-zqu pc104awing pc105angle pc105aw-sl \
pc104curl-z pc104caw-zqu pc104cawing pc105curl pc105caw-sl
// Jolla devices and keyboards
! $jollamodels = jollasbj
@ -100,10 +102,15 @@
olpcm = evdev+olpc(olpcm)
pc104angle-z = evdev(pc104angle-z)
pc104wide-qu = evdev(pc104wide-qu)
pc104awide-zqu = evdev(pc104awide-zqu)
pc104aframe = evdev(pc104aframe)
pc105angle-lg = evdev(pc105angle-lg)
pc105awide-sl = evdev(pc105awide-sl)
pc104aw-zqu = evdev(pc104aw-zqu)
pc104awing = evdev(pc104awing)
pc104curl-z = evdev(pc104curl-z)
pc104caw-zqu = evdev(pc104caw-zqu)
pc104cawing = evdev(pc104cawing)
pc105angle = evdev(pc105angle)
pc105aw-sl = evdev(pc105aw-sl)
pc105curl = evdev(pc105curl)
pc105caw-sl = evdev(pc105caw-sl)
* = evdev
! layout[1] = keycodes
@ -938,36 +945,31 @@
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle)
* misc:typo = +typo(base)
* misc:extend = +extend(basic)
* misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed)
* misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed)
* misc:cmk_curl_dh = +colemak(cmk_ed_dh)
! layout[1] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1
* misc:typo = +typo(base):1
* misc:extend = +extend(basic):1
* misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):1
* misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):1
* misc:cmk_curl_dh = +colemak(cmk_ed_dh):1
! layout[2] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2
* misc:typo = +typo(base):2
* misc:extend = +extend(basic):2
// * misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):2
// * misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):2
// * misc:cmk_curl_dh = +colemak(cmk_ed_dh):2
! layout[3] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3
* misc:typo = +typo(base):3
* misc:extend = +extend(basic):3
// * misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):3
// * misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):3
// * misc:cmk_curl_dh = +colemak(cmk_ed_dh):3
! layout[4] option = symbols
$threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4
* misc:typo = +typo(base):4
* misc:extend = +extend(basic):4
// * misc:cmk_curl_dbghk = +colemak(cmk_dbg-hk_ed):4
// * misc:cmk_curl_dvbghm = +colemak(cmk_dvbg-hm_ed):4
// * misc:cmk_curl_dh = +colemak(cmk_ed_dh):4
! option = symbols
grp:shift_toggle = +group(shifts_toggle)

View File

@ -5,10 +5,15 @@
pc105 Generic 105-key (Intl) PC
pc104angle-z Generic 104-key PC Angle(Z)Ergo
pc104wide-qu Generic 104-key PC Wide(Quote)Ergo
pc104awide-zqu Generic 104-key PC Angle(Z)Wide(Quote)Ergo
pc104aframe Generic 104-key PC AngleWing(Quote)Ergo
pc105angle-lg Generic 105-key (Intl) PC Angle(LSGT)Ergo
pc105awide-sl Generic 105-key (Intl) PC AngleWide(/)Ergo
pc104aw-zqu Generic 104-key PC Angle(Z)Wide(Quote)Ergo
pc104awing Generic 104-key PC AngleWing(Quote)Ergo
pc104curl-z Generic 104-key PC CurlAngle(Z)Ergo
pc104caw-zqu Generic 104-key PC CurlAngle(Z)Wide(Quote)Ergo
pc104cawing Generic 104-key PC CurlAngleWing(Quote)Ergo
pc105angle Generic 105-key (Intl) PC Angle_Ergo
pc105aw-sl Generic 105-key (Intl) PC AngleWide(/)Ergo
pc105curl Generic 105-key (Intl) PC CurlAngle_Ergo
pc105caw-sl Generic 105-key (Intl) PC CurlAngleWide(/)Ergo
dell101 Dell 101-key PC
latitude Dell Latitude series laptop
dellm65 Dell Precision M65
@ -296,15 +301,13 @@
alt-intl us: English (US, alternative international)
colemak us: English (Colemak)
cmk_ed_us us: English (Colemak[eD] - edition DreymaR)
tarmak1_e us: English (Tarmak1 - Colemak[eD] transitional)
tarmak1k_e us: English (Tarmak1k - Colemak[eD] transit. w/ Curl-Hk mod)
tarmak2_et us: English (Tarmak2 - Colemak[eD] transitional)
tarmak2bk_et us: English (Tarmak2bk - Colemak[eD] transit. w/ Curl-DbgHk mod)
tarmak2vm_et us: English (Tarmak2vm - Colemak[eD] transit. w/ Curl-DvbgHm mod)
tarmak3_etr us: English (Tarmak3 - Colemak[eD] transitional)
tarmak4_etro us: English (Tarmak4 - Colemak[eD] transitional)
cmk_ed_dvbghm us: English (Colemak[eD], Curl-DvbgHm ergo)
cmk_ed_dbghk us: English (Colemak[eD], Curl-DbgHk ergo)
tarmak1__e us: English (Tarmak1 - Colemak[eD] transitional)
tarmak1c_e us: English (Tarmak1C - Colemak[eD] Curl-DH transitional)
tarmak2__et us: English (Tarmak2 - Colemak[eD] transitional)
tarmak2c_et us: English (Tarmak2C - Colemak[eD] Curl-DH transitional)
tarmak3__etr us: English (Tarmak3 - Colemak[eD] transitional)
tarmak4__etro us: English (Tarmak4 - Colemak[eD] transitional)
cmk_ed_dh us: English (Colemak[eD], Curl-DH ergo mod)
cmk_ed_mirror us: English (Colemak[eD], mirrored)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, international with dead keys)
@ -935,8 +938,7 @@
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:extend Enable level5 Extend mappings (home position arrows etc)
misc:cmk_curl_dbghk Colemak Curl ergo mod (DbgHk variant)
misc:cmk_curl_dvbghm Colemak Curl ergo mod (DvbgHm variant)
misc:cmk_curl_dh Colemak Curl(DH) ergo mod
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

View File

@ -46,32 +46,67 @@
</model>
<model>
<configItem>
<name>pc104awide-zqu</name>
<name>pc104aw-zqu</name>
<description>Generic 104-key PC (Angle(Z)Wide(Quote)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc104aframe</name>
<name>pc104awing</name>
<description>Generic 104-key PC (AngleWing(Quote)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc105angle-lg</name>
<description>Generic 105-key (Intl) PC (Angle(LSGT)Ergo mod)</description>
<name>pc104curl-z</name>
<description>Generic 104-key PC (CurlAngle(Z)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc105awide-sl</name>
<name>pc104caw-zqu</name>
<description>Generic 104-key PC (CurlAngle(Z)Wide(Quote)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc104cawing</name>
<description>Generic 104-key PC (CurlAngleWing(Quote)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc105angle</name>
<description>Generic 105-key (Intl) PC (Angle_Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc105aw-sl</name>
<description>Generic 105-key (Intl) PC (AngleWide(/)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc105curl</name>
<description>Generic 105-key (Intl) PC (CurlAngle_Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>pc105caw-sl</name>
<description>Generic 105-key (Intl) PC (CurlAngleWide(/)Ergo mod)</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>dell101</name>
@ -1407,56 +1442,44 @@
</variant>
<variant>
<configItem>
<name>tarmak1_e</name>
<name>tarmak1__e</name>
<description>English (Tarmak1 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak1k_e</name>
<description>English (Tarmak1k - Colemak[eD] transit. w/ Curl-Hk mod)</description>
<name>tarmak1c_e</name>
<description>English (Tarmak1C - Colemak[eD] Curl-DH transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak2_et</name>
<name>tarmak2__et</name>
<description>English (Tarmak2 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak2bk_et</name>
<description>English (Tarmak2bk - Colemak[eD] transit. w/ Curl-DbgHk mod)</description>
<name>tarmak2c_et</name>
<description>English (Tarmak2C - Colemak[eD] Curl-DH transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak2vm_et</name>
<description>English (Tarmak2vm - Colemak[eD] transit. w/ Curl-DvbgHm mod)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak3_etr</name>
<name>tarmak3__etr</name>
<description>English (Tarmak3 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>tarmak4_etro</name>
<name>tarmak4__etro</name>
<description>English (Tarmak4 - Colemak[eD] transitional)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_dvbghm</name>
<description>English (Colemak[eD], Curl-DvbgHm ergo)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_dbghk</name>
<description>English (Colemak[eD], Curl-DbgHk ergo)</description>
<name>cmk_ed_dh</name>
<description>English (Colemak[eD], Curl-DH ergo mod)</description>
</configItem>
</variant>
<variant>
@ -7253,14 +7276,8 @@
</option>
<option>
<configItem>
<name>misc:cmk_curl_dbghk</name>
<description>Colemak Curl ergo mod (DbgHk variant)</description>
</configItem>
</option>
<option>
<configItem>
<name>misc:cmk_curl_dvbghm</name>
<description>Colemak Curl ergo mod (DvbgHm variant)</description>
<name>misc:cmk_curl_dh</name>
<description>Colemak Curl(DH) ergo mod</description>
</configItem>
</option>
<option>

View File

@ -79,7 +79,7 @@ xkb_symbols "cmk_standard" {
// *****************************************************************************************
// ****** ******
// ***** START of DreymaR's Colemak additions (Cmk[eD], Tarmak1-4, National var.) *****
// ***** START of DreymaR's Colemak addons (Cmk[eD], Curl-DH, Tarmak1-4, Mirrored) *****
// ****** ******
// *****************************************************************************************
@ -151,10 +151,10 @@ xkb_symbols "cmk_ed_letters" {
key <AB07> { [ m, M, multiply, downarrow ] }; // QWE/Cmk M
// U0292/01B7 ezh/EZH
//// NOTE: Activating the line below will "hard" enable the Curl-Dvbg/Hm mod by Stevep99; see below.
// include "colemak(cmk_dvbg-hm_ed)"
//// NOTE: This is my lighter Curl-Dbg/Hk Colemak ergo mod, keeping V and M in place.
// include "colemak(cmk_dbg-hk_ed)"
//// Activating the line below will "hard" enable the old Curl(DHm) mod; see below.
// include "colemak(cmk_ed_dhm)"
//// This is the old Curl(DvH) Colemak ergo mod, keeping V and M in place.
// include "colemak(cmk_ed_dvh)"
};
hidden partial alphanumeric_keys
@ -216,61 +216,74 @@ xkb_symbols "cmk_ed_symbols" {
// Make sure dead_hook has rhotic hooks for schwa and turned epsilon!
// Similarly with smallcap letters and their turned counterparts?
// TODO: Add IPA (broad English?) somewhere. Too few free slots, so it'll have to be by dead_keys.
// TODO: Phonetic 'colemak_curl' layouts with Curl-DH (it's best to rewire the whole layout in this case).
// DONE: Add Greek, Kyrillic and Hebrew phonetic Colemak layouts (nice for group 'switch' layout).
// DONE: Update the Tarmak and Mirrored layouts when Colemak[eD] is changed, using search-replace.
// ******************************************************
// ***** DreymaR/Stevep99: Curl-DH ergonomic mods *****
// ***** Stevep99/DreymaR: Curl(DH) ergonomic mods *****
// ******************************************************
// Here are the Colemak "Curl-D/H" ergo mods by colemak forum users stevep99 and myself.
// This is the Colemak Curl(DH) ergo mod, bringing D and H down to comfortable lower row positions.
// See http://colemakmods.github.io/mod-dh/ and http://forum.colemak.com/viewtopic.php?id=1942 for more info.
// • Stevep99's Dvbg left-hand mod gives the D a good bottom-row place (<AB04>) at the cost of V and B.
// • DreymaR's Dbg left-hand variant is lighter and avoids separating V by replacing B with D directly.
// Both left-hand mods put the G back in its QWERTY place at the lesser cost of the less frequent B.
// For the D(v)bg mod to work as intended, an Angle mod (such as the pc105awide-sl model) is necessary!
// • Stevep99's Hm right-hand mod gives H a good bottom-row position at the cost of M.
// • DreymaR's Hk right-hand variant avoids moving M, swapping H and K instead.
// The Dbg/Hk mods are intended for normal-staggered keyboards; Dvbg/Hm works on matrix boards too.
// The Hk/Hm switches cause lv3-4 trouble with Cmk[eD] locales that remap H (and in rare cases, D(v)bg w/ D/G).
// In the Hk/Hm mods, any H in symbols/locale 'cmk_ed_us' sections must change from <AC06> to <AB06>/<AB07>.
// NOTE: The Curl-DH mod are implemented both as US English layouts and as options (e.g., misc:cmk_curl_dbghk).
// • Curl(DH) is implemented both as an US English variant (cmk_ed_dh) and an option (misc:cmk_curl_dh).
// • There is now one unified Curl(DH) mod; it moves zxc Dbg Hmk (ZXC are moved in the CurlAngle mod).
// For this mod to work as intended, a CurlAngle mod (such as the pc105cawide-sl model) is necessary.
// • Stevep99's old Curl-DHm(DvbgHm) mod gave D a good bottom-row place (<AB04>) at the cost of V and B, and
// gave H a good bottom-row position at the cost of M.
// • DreymaR's old Curl-DvH(DbgHk) mod avoided splitting ZXCV by replacing B with D in the full Angle mod, and
// avoided moving M, swapping H and K instead.
// • Some may prefer the old Curl-DHm mod to keep M on the home row; rename cmk_ed_[dh/dhm] below for that.
// • The mod causes lv3-4 trouble with Cmk[eD] locales that remap H (and in some cases, D/G/K).
// To use Curl-DH, any H in symbols/locale 'cmk_ed_us' sections should change from <AC06> to <AB06>/<AB07>.
hidden partial alphanumeric_keys
xkb_symbols "cmk_dvbg-hm_ed" {
// This is the Curl-DvbgHm ergo mod for Colemak, by stevep99.
include "colemak(cmk_dvbg_ed)"
include "colemak(cmk_hm_ed)"
xkb_symbols "cmk_ed_dh" {
// This is the Curl(DH) ergo mod for Colemak
// D is moved inside V by one of the CurlAngle mods (to affect Extend)
include "colemak(cmk_ed_dbg)"
include "colemak(cmk_ed_hmk)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dbg-hk_ed" {
// This is the Curl-DbgHk ergo mod for Colemak, by DreymaR, keeping V and M in place.
include "colemak(cmk_dbg_ed)"
include "colemak(cmk_hk_ed)"
xkb_symbols "cmk_ed_dhm" {
// This is the old Curl(DHm/DvbgHm) ergo mod for Colemak, with M on the home row
// In the new implementation, D is moved inside V by one of the CurlAngle mods
include "colemak(cmk_ed_dbg)"
include "colemak(cmk_ed_hm)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dvbg_ed" {
// This is the 'Dvbg' loop for the Colemak Curl-D/H ergo mod by stevep99.
key <AD05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE T Cmk G
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
key <AB04> { [ d, D, eth, ETH ] }; // QWE/Cmk V
key <AB05> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk B
xkb_symbols "cmk_ed_dvh" {
// This is the old Curl(DvH/DbgHk) ergo mod for Colemak, keeping V and M in place
// By default, it doesn't use a CurlAngle(Wide) model but just an Angle(Wide) one
include "colemak(cmk_ed_dbg)"
include "colemak(cmk_ed_hk)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dbg_ed" {
// This is the 'Dbg' loop for the Colemak Curl-D/H ergo mod, leaving the V in place.
xkb_symbols "cmk_ed_dbg" {
// This is the 'Dbg' loop for the Colemak Curl-DH ergo mod.
// In the new implementation, D is moved inside V by one of the CurlAngle mods (to affect Extend)
key <AD05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE T Cmk G
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
key <AB05> { [ d, D, eth, ETH ] }; // QWE/Cmk B
// key <AB04> { [ d, D, eth, ETH ] }; // QWE/Cmk V
// key <AB05> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk B
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_hm_ed" {
// This is the 'Hm' switch for the Colemak Curl-D/H ergo mod by stevep99.
xkb_symbols "cmk_ed_hmk" {
// This is the 'Hmk' switch for the Colemak Curl-DH ergo mod
key <AC06> { [ k, K, ccedilla, Ccedilla ] }; // QWE/Cmk H
key <AB06> { [ m, M, multiply, leftarrow ] }; // QWE N Cmk K
key <AB07> { [ h, H, hstroke, Hstroke ] }; // QWE/Cmk M
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_ed_hm" {
// This is the 'Hm' switch for the old Colemak Curl-DHm ergo mod, with M on the home row.
// N isn't changed in this mod, but the Cmk[eD] arrow symbols are rearranged into a Vim-like line!
key <AC06> { [ m, M, multiply, leftarrow ] }; // QWE/Cmk H
key <AC07> { [ n, N, endash, downarrow ] }; // QWE J Cmk N
@ -278,8 +291,8 @@ xkb_symbols "cmk_hm_ed" {
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_hk_ed" {
// This is the 'Hk' switch for the Colemak Curl-D/H ergo mod, leaving the M in place.
xkb_symbols "cmk_ed_hk" {
// This is the 'Hk' switch for the old Colemak Curl-DvH ergo mod, leaving M in place.
key <AC06> { [ k, K, ccedilla, Ccedilla ] }; // QWE/Cmk H
key <AB06> { [ h, H, hstroke, Hstroke ] }; // QWE N Cmk K
};
@ -296,9 +309,9 @@ xkb_symbols "cmk_hk_ed" {
// This section defines the differences between a full Colemak[eD] and the first Tarmak layout step.
// The Tarmak1(E) step moves the E>K>N keys to their Colemak positions, leaving the J at QWERTY 'E'.
partial alphanumeric_keys
xkb_symbols "tarmak1_e" {
xkb_symbols "tarmak1__e" {
include "colemak(cmk_ed)"
// To exclude the partial (F)EKNJ loop in this step, include its mask and comment out the F-J line below
// To exclude the initial (F)EKNJ loop in this step, include its mask and comment out the F-J line below
// (This would only be useful if you want to learn the LUI loop as a warmup; if so, comment out that too)
//include "colemak(tarmak_mask_fekn_to_eknj)"
include "colemak(tarmak_mask_dgt_to_gtf)"
@ -309,28 +322,28 @@ xkb_symbols "tarmak1_e" {
name[Group1]= "English/Intl (Tarmak1_E - Colemak transitional)";
};
// This is the first Tarmak step for those who want to learn the Curl-DbgHk mod; it includes the Curl-Hk mod.
// There is no step for the Curl-Hm mod, as it doesn't affect the first Tarmak step. It can be learnt independently.
// This is the first Tarmak step for those who want to learn the Curl(DH) mod, including the HMK switch.
// The old Curl(Hm) mod doesn't affect the first Tarmak step, so it can use the unmodded Tarmak1__e.
partial alphanumeric_keys
xkb_symbols "tarmak1k_e" {
xkb_symbols "tarmak1c_e" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_dgt_to_gtf)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
include "colemak(cmk_hk_ed)"
include "colemak(cmk_ed_hk)"
key <AD03> { [ j, J, U0283, U01A9 ] }; // Cmk F - stray J
// NOTE: Re-enforcing of the V and B keys as below is only necessary when running a DBG/DVBG mod (see above)
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE/Cmk B
name[Group1]= "English/Intl (Tarmak1k_E - Colemak transitional w/ Curl-Hk)";
name[Group1]= "English/Intl (Tarmak1c_E - Colemak Curl-DH transitional)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak2(ET) step moves the G>T>F keys to their Colemak positions, leaving the J at QWERTY 'G'.
partial alphanumeric_keys
xkb_symbols "tarmak2_et" {
xkb_symbols "tarmak2__et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
@ -339,42 +352,31 @@ xkb_symbols "tarmak2_et" {
name[Group1]= "English/Intl (Tarmak2_ET - Colemak transitional)";
};
// The Tarmak2bk(ET) step moves the B>T>F keys to their Colemak-Curl(DbgHk) positions, leaving the J at QWERTY 'B'.
// The Tarmak2c(ET) step moves the B>T>F keys to their Colemak-Curl(DH) positions, leaving the J at QWERTY 'B'.
// NOTE: The standard Curl(DH) mod requires activating a CurlAngle model to work. (My old variant only used Angle.)
partial alphanumeric_keys
xkb_symbols "tarmak2bk_et" {
xkb_symbols "tarmak2c_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
// TODO: Make this go away, implementing proper CurlAngle models in its stead.
//// For the old Curl(DvbgHm) mod, activating the right-hand HM switch is still optional.
// include "colemak(cmk_ed_dbg)"
// include "colemak(cmk_ed_dbghm)"
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
//// For the Curl-DbgHk mod, both sides are activated at this point forward. (Activate it normally for step 34.)
include "colemak(cmk_dbg-hk_ed)"
//// For the Curl-DH mod, both sides are activated at this point forward. (Activate it normally for step 34.)
include "colemak(cmk_ed_dbghk)"
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk B - stray J
name[Group1]= "English/Intl (Tarmak2bk_ET - Colemak transitional w/ Curl-DbgHk)";
};
// The Tarmak2vm(ET) step moves the B>T>F keys to their Colemak-Curl(DvbgHm) positions, leaving the J at QWERTY 'B'.
partial alphanumeric_keys
xkb_symbols "tarmak2vm_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
//// For the Curl-DvbgHm mod, activating the right-hand HM switch is still optional.
include "colemak(cmk_dvbg_ed)"
// include "colemak(cmk_dvbg-hm_ed)"
key <AB04> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk V - stray J
key <AB05> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk B
name[Group1]= "English/Intl (Tarmak2vm_ET - Colemak transitional w/ Curl-DvbgHm)";
name[Group1]= "English/Intl (Tarmak2c_ET - Colemak Curl-DH transitional)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak3(ETR) step moves the R>S>D keys to their Colemak positions, leaving the J at QWERTY 'R'.
partial alphanumeric_keys
xkb_symbols "tarmak3_etr" {
xkb_symbols "tarmak3__etr" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
// To include the standalone LUI loop in this or any step, comment out its mask (below)
@ -388,16 +390,16 @@ xkb_symbols "tarmak3_etr" {
// The Tarmak4(ETRO) step moves the L>U>I keys to their Colemak positions, finalizing the big loop.
// This is the 4th step of the Tarmak(ETROI) and (ETORI) variants, leaving only the LUI loop.
partial alphanumeric_keys
xkb_symbols "tarmak4_etro" {
xkb_symbols "tarmak4__etro" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_lui_to_uil)"
name[Group1]= "English/Intl (Tarmak4_ETRO - Colemak transitional)";
};
// NOTE: The Tarmak(ETO) and (ETOI) steps below are the old defaults. They won't show up in the menus anymore.
// NOTE: The Tarmak(ETO) and (ETOI) steps below are the old versions. They won't show up in the menus anymore.
// A quick way of getting them back would be to edit the xkb_symbols names of steps 3 and 4 here.
// A more proper way would be to edit the rules/evdev.xml and evdev.lst files,
// replacing 'tarmak3_etr' with 'tarmak3_eto' and likewise for '4_etro'/'4_etoi',
// replacing 'tarmak3__etr' with 'tarmak3__eto' and likewise for '4__etro'/'4__etoi',
// and finally editing the corresponding entries in the 'us' symbols file.
// Tarmak symbols for xkb on X.Org Server 7.x
@ -405,7 +407,7 @@ xkb_symbols "tarmak4_etro" {
// The Tarmak3(ETO) step moves the J>Y>O keys to their Colemak positions, leaving the ; at QWERTY 'G'.
// This is the 3rd step of the Tarmak(ETOIR) and (ETORI) variants, performing the JYO loop earlier.
partial alphanumeric_keys
xkb_symbols "tarmak3_eto" {
xkb_symbols "tarmak3__eto" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
// To include the standalone LUI loop in this step, comment out its mask below
@ -420,7 +422,7 @@ xkb_symbols "tarmak3_eto" {
// The Tarmak4(ETOI) step moves the L>U>I keys to their Colemak positions, stranding the ; at QWERTY 'G'.
// This is the 4th step of the Tarmak(ETOIR) variant, performing the LUI loop earlier.
partial alphanumeric_keys
xkb_symbols "tarmak4_etoi" {
xkb_symbols "tarmak4__etoi" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
// The standalone LUI loop is included in this step; if unwanted here, include its mask instead
@ -618,6 +620,6 @@ xkb_symbols "cmk_ed_mirror_special" {
// *****************************************************************************************
// ****** ******
// ***** END of DreymaR's Colemak additions (Cmk[eD], Tarmak1-4, National var.) *****
// ***** END of DreymaR's Colemak addons (Cmk[eD], Curl-DH, Tarmak1-4, Mirrored) *****
// ****** ******
// *****************************************************************************************

View File

@ -55,7 +55,7 @@ xkb_symbols "cmk_ed_us" {
// key <AD12> { [ bracketright, braceright, §, § ] };
key <AD11> { [ §, §, bracketleft, braceleft ] }; // from <AD11>
key <AD12> { [ §, §, bracketright, braceright ] }; // from <AC11>
// NOTE: The "Curl-DH" ergo mod moves H (and possibly K) which may interfere with these mappings.
// NOTE: The Curl(DH) ergo mod moves H and K, which may interfere with these mappings.
// key <AB06> { [ k, K, §, § ] }; // from <A>
// key <AC06> { [ h, H, §, § ] }; // from <A>
// key <AD06> { [ j, J, §, § ] }; // from <A>

View File

@ -476,7 +476,7 @@ xkb_symbols "cmk_ed_us" {
// key <AD11> { [ eacute, Eacute, bracketleft, braceleft ] }; // from <AC10>
// key <AD12> { [ odiaeresis, Odiaeresis, bracketright, braceright ] }; // from <AE10>
// key <LSGT> { [ aacute, Aacute, oe, OE ] }; // from <AC11>
// NOTE: The "Curl-DH" ergo mod moves H (and possibly K) which may interfere with these mappings.
// NOTE: The Curl(DH) ergo mod moves H and K, which may interfere with these mappings.
// key <AB06> { [ k, K, odoubleacute, Odoubleacute ] }; // from <AD11>
// key <AC06> { [ h, H, oacute, Oacute ] }; // from <AE12>
// key <AD06> { [ j, J, udiaeresis, Udiaeresis ] }; // from <AE11>

View File

@ -323,19 +323,55 @@ xkb_symbols "biblicalSIL" {
};
// --> OEystein Bech "DreymaR" Gadmar, 2014-08: Additions to xkb/symbols/il
// The default layout for Israel is il(basic); this is a phonetic Colemak version.
// 2006-01-01 Shai Coleman, http://colemak.com/
// See the Colemak forum topic on Cmk[eD] locales: http://forum.colemak.com/viewtopic.php?id=1458
// I moved the key on <AC10> to <AD10>, just like the standard Colemak does.
partial alphanumeric_keys
xkb_symbols "colemak" {
include "il(basic)"
include "il(phonetic)"
// The phonetic layout for Hebrew is il(phonetic)???; this is a Colemak translation.
// TODO: Proper implementation with more glyphs, like the SIL Biblical!?!
// NOTE: The basic layout didn't define some keys (no Space?); I've no idea why.
// To compensate, I include the below which defines SPCE.
include "nbsp(level4)"
name[Group1]= "Hebrew (Colemak, phonetic)";
key <LatE> { [ hebrew_pe, hebrew_finalpe ] };
key <LatR> { [ hebrew_pe, hebrew_finalpe ] };
key <LatT> { [ hebrew_gimel, hebrew_gimel ] };
key <LatY> { [ hebrew_yod, hebrew_yod ] };
key <LatU> { [ hebrew_lamed, hebrew_lamed ] };
key <LatI> { [ hebrew_waw, hebrew_waw ] }; // vav
key <LatO> { [ hebrew_ayin, hebrew_ayin ] };
key <LatP> { [ hebrew_finalpe, colon, doublelowquotemark ] };
key <LatS> { [ hebrew_resh, hebrew_resh ] };
key <LatD> { [ hebrew_shin, hebrew_shin ] };
key <LatF> { [ hebrew_taw, hebrew_tet ] };
key <LatG> { [ hebrew_dalet, hebrew_dalet ] };
key <LatJ> { [ hebrew_nun, hebrew_finalnun ] };
key <LatK> { [ hebrew_aleph, hebrew_aleph ] };
key <LatL> { [ hebrew_yod, hebrew_yod ] };
key <AC10> { [ hebrew_samech, hebrew_samech ] };
key <LatN> { [ hebrew_kaph, hebrew_finalkaph ] };
// key <LatH> { [ hebrew_he, hebrew_he ] };
// key <LatB> { [ hebrew_bet, hebrew_bet ] };
// key <LatM> { [ hebrew_mem, hebrew_finalmem ] };
};
partial alphanumeric_keys
xkb_symbols "colemak_il" {
include "il(basic)"
// The default layout for Israel is il(basic); this is a Colemak translation.
// Based on the latin letters on the keys, it's not phonetic but maybe easier for some.
// I moved the key on <AC10> to <AD10>, just like the standard Colemak does.
// NOTE: The basic layout didn't define some keys (no Space?); I've no idea why.
// To compensate, I include the below which defines SPCE.
include "nbsp(level4)"
name[Group1]= "Hebrew (Colemak, Israel)";
key <AD03> { [ hebrew_kaph, F ] };
key <AD04> { [ hebrew_pe, P, U05B7 ] }; // Patah
key <AD05> { [ hebrew_ayin, G, U05F1 ] }; // Yiddish Vav Yod

View File

@ -289,7 +289,7 @@ xkb_symbols "cmk_ed_us" {
key <AC03> { [ s, S, 0x1000219, 0x1000218 ] }; // comma-s from 's'
key <AC04> { [ t, T, 0x100021b, 0x100021a ] }; // comma-t from 't'
key <AC05> { [ d, D, dstroke, Dstroke ] }; // from 'd'
// NOTE: The "Curl-DH" ergo mod moves H (and possibly K) which may interfere with these mappings.
// NOTE: The Curl(DH) ergo mod moves H and K, which may interfere with these mappings.
key <AC06> { [ h, H, ssharp, section ] }; // from Cmk[eD] 's'
key <AB06> { [ k, K, ibreve, Ibreve ] }; // Crimean Tatar
key <AD07> { [ l, L, lstroke, Lstroke ] }; // from 'l'

View File

@ -371,7 +371,7 @@ xkb_symbols "cmk_ed_us" {
// key <AD12> { [ bracketright, braceright, dstroke, Dstroke ] }; // on <AD12>
key <AD11> { [ dead_caron, Greek_alpha, bracketleft, braceleft ] }; // from <AD11>++
key <AD12> { [ dstroke, Dstroke, bracketright, braceright ] }; // on <AD12>
// NOTE: The "Curl-DH" ergo mod moves H (and possibly K) which may interfere with these mappings.
// NOTE: The Curl(DH) ergo mod moves H and K, which may interfere with these mappings.
// key <AB06> { [ k, K, ccaron, Ccaron ] }; // from <AC10>
// key <AC06> { [ h, H, zcaron, Zcaron ] }; // from <BKSL>
// key <AD07> { [ l, L, scaron, Scaron ] }; // from <AD11>

View File

@ -410,7 +410,7 @@ xkb_symbols "cmk_ed_us" {
key <LSGT> { [ scedilla, Scedilla, odiaeresis, Odiaeresis ] }; // from tr <AC10>/<AB08>
// key <LSGT> { [ dead_circumflex, dead_tilde, odiaeresis, Odiaeresis ] }; // needed '^'; tr <AB08>
// key <AC03> { [ s, S, scedilla, Scedilla ] }; // from tr <AC10>
// NOTE: The "Curl-DH" ergo mod moves H (and possibly K) which may interfere with these mappings.
// NOTE: The Curl(DH) ergo mod moves H and K, which may interfere with these mappings.
// key <AC06> { [ h, H, ssharp, section ] }; // from Cmk[eD] 's'
key <AD05> { [ g, G, gbreve, Gbreve ] }; // from tr <AD11>
key <AB06> { [ k, K, ibreve, Ibreve ] }; // Crimean Turkish

View File

@ -818,76 +818,62 @@ xkb_symbols "cmk_ed_us" {
// 2012-01-01 OEystein Bech "DreymaR" Gadmar: Paving the way; 'Tarmak (transitional Colemak)'.
// 2006-01-01 Shai Coleman, http://colemak.com/
partial alphanumeric_keys
xkb_symbols "tarmak1_e" {
include "colemak(tarmak1_e)"
name[Group1]= "English/Intl (Tarmak1_E - Colemak transitional)";
xkb_symbols "tarmak1__e" {
include "colemak(tarmak1__e)"
name[Group1]= "English/Intl (Tarmak1__E - Colemak transitional)";
};
partial alphanumeric_keys
xkb_symbols "tarmak1k_e" {
include "colemak(tarmak1k_e)"
name[Group1]= "English/Intl (Tarmak1k_E - Colemak transit. w/ Curl-Hk mod)";
xkb_symbols "tarmak1c_e" {
include "colemak(tarmak1c_e)"
name[Group1]= "English/Intl (Tarmak1C_E - Colemak transit. w/ Curl-DH mod)";
};
partial alphanumeric_keys
xkb_symbols "tarmak2_et" {
include "colemak(tarmak2_et)"
name[Group1]= "English/Intl (Tarmak2_ET - Colemak transitional)";
xkb_symbols "tarmak2__et" {
include "colemak(tarmak2__et)"
name[Group1]= "English/Intl (Tarmak2__ET - Colemak transitional)";
};
partial alphanumeric_keys
xkb_symbols "tarmak2bk_et" {
include "colemak(tarmak2bk_et)"
name[Group1]= "English/Intl (Tarmak2bk_ET - Colemak transit. w/ Curl-DbgHk mod)";
xkb_symbols "tarmak2c_et" {
include "colemak(tarmak2c_et)"
name[Group1]= "English/Intl (Tarmak2C_ET - Colemak transit. w/ Curl-DH mod)";
};
partial alphanumeric_keys
xkb_symbols "tarmak2vm_et" {
include "colemak(tarmak2vm_et)"
name[Group1]= "English/Intl (Tarmak2vm_ET - Colemak transit. w/ Curl-DvbgHm mod)";
xkb_symbols "tarmak3__etr" {
include "colemak(tarmak3__etr)"
name[Group1]= "English/Intl (Tarmak3__ETR - Colemak transitional)";
};
partial alphanumeric_keys
xkb_symbols "tarmak3_etr" {
include "colemak(tarmak3_etr)"
name[Group1]= "English/Intl (Tarmak3_ETR - Colemak transitional)";
};
partial alphanumeric_keys
xkb_symbols "tarmak4_etro" {
include "colemak(tarmak4_etro)"
name[Group1]= "English/Intl (Tarmak4_ETRO - Colemak transitional)";
xkb_symbols "tarmak4__etro" {
include "colemak(tarmak4__etro)"
name[Group1]= "English/Intl (Tarmak4__ETRO - Colemak transitional)";
};
//partial alphanumeric_keys
//xkb_symbols "tarmak3_eto" {
// include "colemak(tarmak3_eto)"
// name[Group1]= "English/Intl (Tarmak3_ETO - Colemak transitional)";
//xkb_symbols "tarmak3__eto" {
// include "colemak(tarmak3__eto)"
// name[Group1]= "English/Intl (Tarmak3__ETO - Colemak transitional)";
//};
//partial alphanumeric_keys
//xkb_symbols "tarmak4_etoi" {
// include "colemak(tarmak4_etoi)"
// name[Group1]= "English/Intl (Tarmak4_ETOI - Colemak transitional)";
//xkb_symbols "tarmak4__etoi" {
// include "colemak(tarmak4__etoi)"
// name[Group1]= "English/Intl (Tarmak4__ETOI - Colemak transitional)";
//};
// Colemak-Curl(D/H) symbols for xkb on X.Org Server 7.x
// Colemak-Curl(DH) symbols for xkb on X.Org Server 7.x
// 2015-01-18 OEystein Bech "DreymaR" Gadmar
// 2006-01-01 Shai Coleman, http://colemak.com/
// This is the Curl-Dvbg/Hm Colemak ergo mod by Stevep99.
// This is the Curl-DH Colemak ergo mod by Stevep99 and DreymaR.
partial alphanumeric_keys
xkb_symbols "cmk_ed_dvbghm" {
xkb_symbols "cmk_ed_dh" {
include "colemak(cmk_ed)"
include "colemak(cmk_dvbg-hm_ed)"
name[Group1]= "English/Intl (Colemak[eD], Curl-DvbgHm ergo)";
};
// This is the Curl-Dbg/Hk Colemak ergo mod, keeping V and M in place.
partial alphanumeric_keys
xkb_symbols "cmk_ed_dbghk" {
include "colemak(cmk_ed)"
include "colemak(cmk_dbg-hk_ed)"
name[Group1]= "English/Intl (Colemak[eD], Curl-DbgHk ergo)";
include "colemak(cmk_ed_dh)"
name[Group1]= "English/Intl (Colemak[eD], Curl-DH ergo)";
};
// 2012-04-01 OEystein Bech "DreymaR" Gadmar: Mirrored Colemak[eD] for one-handed typing