Browse Source

Initial version of Programmers Dvorak

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 masking
master
Jacob Alexander 7 years ago
parent
commit
0e898827ca
2 changed files with 141 additions and 0 deletions
  1. 93
    0
      layouts/programmers_dvorak_default.kll
  2. 48
    0
      layouts/programmers_dvorak_shift.kll

+ 93
- 0
layouts/programmers_dvorak_default.kll View File

@@ -0,0 +1,93 @@
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


+ 48
- 0
layouts/programmers_dvorak_shift.kll View File

@@ -0,0 +1,48 @@
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