http://www.kaufmann.no/roland/dvorak/ Requires blockKey capability Caveats: 1) Requires US ANSI locale set on host computer 2) AltGr keys aren't working (needs to be based on a different locale) 3) Some shortcuts may not behave correctly due to Shift maskingmaster
Name = programmers dvorak default layer; | |||||
Version = 0.1; | |||||
Author = "HaaTa (Jacob Alexander) 2016"; | |||||
KLL = 0.3d; | |||||
# Modified Date | |||||
Date = 2016-08-06; | |||||
# This the default layer for programmers dvorak | |||||
# http://www.kaufmann.no/roland/dvorak/ | |||||
# | |||||
# CAVEATS; | |||||
# 1) Assumes US ANSI locale set on the host OS | |||||
# 2) No AltGr layer (future enhancement, will require a different locale) | |||||
# 3) Some shortcuts may not behave correctly | |||||
# Shift Keys are masked in some situations | |||||
# | |||||
# USAGE: | |||||
# This layer must be set on the defaultMap | |||||
# programmers_dvorak_shift must be set as Layer1 (first PartialMap) | |||||
# Attempt to force the host OS to use US ANSI | |||||
# (Not guaranteed) | |||||
keyboardLocale = 33; | |||||
### Mapping ### | |||||
# Top Row | |||||
U"BackTick" : '$'; | |||||
U"1" : '&'; | |||||
U"2" : '['; | |||||
U"3" : '{'; | |||||
U"4" : '}'; | |||||
U"5" : '('; | |||||
U"6" : '='; | |||||
U"7" : '*'; | |||||
U"8" : ')'; | |||||
U"9" : '+'; | |||||
U"0" : ']'; | |||||
U"-" : '!'; | |||||
U"=" : '#'; | |||||
# Top-Middle Row | |||||
U"Q" : ';'; | |||||
U"W" : ','; | |||||
U"E" : '.'; | |||||
U"R" : 'p'; | |||||
U"T" : 'y'; | |||||
U"Y" : 'f'; | |||||
U"U" : 'g'; | |||||
U"I" : 'c'; | |||||
U"O" : 'r'; | |||||
U"P" : 'l'; | |||||
U"[" : '/'; | |||||
U"]" : '@'; | |||||
### / is in the same place | |||||
# Middle Row | |||||
### A is in the same place | |||||
U"S" : 'o'; | |||||
U"D" : 'e'; | |||||
U"F" : 'u'; | |||||
U"G" : 'i'; | |||||
U"H" : 'd'; | |||||
U"J" : 'h'; | |||||
U"K" : 't'; | |||||
U"L" : 'n'; | |||||
U"Semicolon" : 's'; | |||||
U"Quote" : '-'; | |||||
# Bottom-Middle Row | |||||
U"LShift" :+ U"Function1"; # Do not replace LShift, just trigger Function1 in addition to LShift | |||||
### XXX Not sure what the square key is (-HaaTa) | |||||
U"Z" : U"Quote"; # ' is hard to do using the single quote syntax | |||||
U"X" : 'q'; | |||||
U"C" : 'j'; | |||||
U"V" : 'k'; | |||||
U"B" : 'x'; | |||||
### M is in the same place | |||||
U"N" : 'b'; | |||||
U"Comma" : 'w'; | |||||
U"Period" : v'; | |||||
U"Slash" : 'z'; | |||||
U"RShift" :+ U"Function1"; # Do not replace RShift, just trigger Function1 in addition to RShift | |||||
# Bottom Row | |||||
# N/A | |||||
Name = programmers dvorak shift layer; | |||||
Version = 0.1; | |||||
Author = "HaaTa (Jacob Alexander) 2016"; | |||||
KLL = 0.3d; | |||||
# | |||||
# NOTE: See programmers_dvorak_default.kll for more details on how to use this layout | |||||
# It relies on the semantics of the US ANSI layout | |||||
# | |||||
# This file relies heavily on the blockKey capability for LShift (0xE1) and RShift (0xE5) | |||||
# However, it is only used in the cases where it's necessary | |||||
# | |||||
# We also rely on "fall-through" to the previous layer | |||||
# This means any normally shifted keys do not need to be redefined here | |||||
# | |||||
# Modified Date | |||||
Date = 2016-08-06; | |||||
### Mapping ### | |||||
# Top Row | |||||
U"BackTick" : '~'; | |||||
U"1" : '%'; | |||||
U"2" : '7' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"3" : '5' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"4" : '3' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"5" : '1' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"6" : '9' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"7" : '0' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"8" : '2' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"9" : '4' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"0" : '6' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"-" : '8' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
U"=" : '`' + blockKey( 0xE1 ) + blockKey( 0xE5 ); | |||||
# Top-Middle Row | |||||
U"]" : '^'; | |||||
# Middle Row | |||||
# N/A | |||||
# Bottom-Middle Row | |||||
# N/A | |||||
# Bottom Row | |||||
# N/A | |||||