-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
win platform: TODO: add CR for 3+ levels on Windows
win platform: minor repo cleanup
- Loading branch information
Showing
150 changed files
with
16,777 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,327 @@ | ||
// 2010-2017 Jan Pacner <[email protected]> | ||
// etaoin shrdlu! | ||
|
||
// The concept of this keyboard layout | ||
// motto: be as much compatible with ISO dvorak as possible | ||
// 4. level is the same as 3. level | ||
// 2. level of ISO dvorak goes without modifications to the 3. level | ||
// the whole national alphabet is accessible directly from 1. and 2. level | ||
// without any exception | ||
// 3. level has some additional non-alphabet characters (e.g. numbers) | ||
// 3. level is accessible only by pressing both Shifts at once (and | ||
// holding either of them) | ||
// there are 2 variants which differ in placement and/or availability of | ||
// characters ' " < > „ “ en_dash | ||
// in `ltgt`, characters „ “ are not available and ' " < > are at their | ||
// original dvorak places and ! is duplicated for better reachability | ||
// in `writer`, all characters are available, but " < > are in | ||
// the 3. level, thus less reachable | ||
|
||
// ----------- standard ISO dvorak, 1. and 2. level | ||
// ~ ! @ # $ % ^ & * ( ) { } | ||
// ` 1 2 3 4 5 6 7 8 9 0 [ ] | ||
// | ||
// " < > P Y F G C R L ? + | | ||
// ' , . p y f g c r l / = \ | ||
// | ||
// A O E U I D H T N S _ | ||
// a o e u i d h t n s - | ||
// | ||
// : Q J K X B M W V Z | ||
// ; q j k x b m w v z | ||
// | ||
// space | ||
// space | ||
|
||
// ----------- german dvorak ltgt, 1. and 2. levelll | ||
// ä Ö Ü ß | ||
// ä ö ü ß | ||
// | ||
// " < > P Y F G C R L ? + | | ||
// ' , . p y f g c r l / = \ | ||
// | ||
// A O E U I D H T N S _ | ||
// a o e u i d h t n s - | ||
// | ||
// : Q J K X B M W V Z | ||
// ; q j k x b m w v z | ||
// | ||
// NBSP | ||
// space | ||
|
||
// ----------- german dvorak ltgt, 3. level | ||
// ~ ! @ # $ % ^ & * ( ) { } | ||
// | ||
// nda ! § , 7 8 9 [ ] + | | ||
// en dash | ||
// | ||
// @ ° € ` : 4 5 6 = \ | ||
// | ||
// 0 1 2 3 . | ||
// | ||
// NBSP | ||
|
||
// ----------- german dvorak writer, 1. and 2. level | ||
// ä Ö Ü ß | ||
// ä ö ü ß | ||
// | ||
// “ nda ' P Y F G C R L ? + | | ||
// en dash | ||
// „ , . p y f g c r l / = \ | ||
// | ||
// A O E U I D H T N S _ | ||
// a o e u i d h t n s - | ||
// | ||
// : Q J K X B M W V Z | ||
// ; q j k x b m w v z | ||
// | ||
// NBSP | ||
// space | ||
|
||
// ----------- german dvorak writer, 3. level | ||
// ~ ! @ # $ % ^ & * ( ) { } | ||
// | ||
// " < > § , 7 8 9 [ ] + | | ||
// | ||
// @ ° € ` : 4 5 6 = \ | ||
// | ||
// 0 1 2 3 . | ||
// | ||
// NBSP | ||
|
||
// ----------- german dvorak (ltgt|writer), 4. level | ||
// the same as 3. level | ||
|
||
// KBD identifier_max_8_bytes_long "Some description to show in keyboard settings and while switching layouts" | ||
KBD gerdLTGT "German Dvorak ltgt (useful for text with lots of <>)" | ||
//KBD gerdLTGT "German Dvorak writer (useful for text with lower/upper UTF-8 double quotes)" | ||
|
||
COPYRIGHT "MIT license" | ||
|
||
COMPANY "github.com/dumblob/ULKL/" | ||
|
||
LOCALENAME "de-DE" | ||
|
||
LOCALEID "00000407" | ||
// LOCALEID "00000000" | ||
|
||
//FIXME 1.1 after unused keys produce the <none> character | ||
VERSION 1.0 | ||
|
||
//ATTRIBUTES | ||
|
||
//MODIFIERS | ||
|
||
SHIFTSTATE | ||
|
||
// shift_state_idx // column_below modifiers | ||
0 // 4 <none> | ||
1 // 5 LSHIFT or RSHIFT pressed | ||
2 // 6 both LSHIFT and RSHIFT pressed simultaneously | ||
|
||
LAYOUT | ||
// an extra @ at the end is a dead key | ||
// -1 denotes the <none> character | ||
// SC denotes a Virtual Scan Code | ||
// Cap ~ CapsInfo (probably whether CapsLock is applicable) | ||
|
||
// topmost row | ||
|
||
//SC VK_ Cap 0 1 2 | ||
29 OEM_3 0 -1 -1 007e // <none>, <none>, TILDE | ||
02 1 0 -1 -1 0021 // <none>, <none>, EXCLAMATION MARK | ||
03 2 0 00e4 00c4 0040 // adiaeresis, Adiaeresis, COMMERCIAL AT | ||
04 3 0 00f6 00d6 0023 // odiaeresis, Odiaeresis, NUMBER SIGN | ||
05 4 0 -1 -1 0024 // <none>, <none>, DOLLAR SIGN | ||
06 5 0 00fc 00dc 0025 // udiaeresis, Udiaeresis, PERCENT SIGN | ||
07 6 0 -1 -1 005e // <none>, <none>, CIRCUMFLEX ACCENT | ||
08 7 0 -1 -1 0026 // <none>, <none>, AMPERSAND | ||
09 8 0 -1 -1 002a // <none>, <none>, ASTERISK | ||
0a 9 0 -1 -1 0028 // <none>, <none>, LEFT PARENTHESIS | ||
0b 0 0 -1 -1 0029 // <none>, <none>, RIGHT PARENTHESIS | ||
0c OEM_4 0 00df 1e9e 007b // ssharp, U1E9E, LEFT CURLY BRACKET (BRACELEFT) | ||
0d OEM_6 0 -1 -1 007d // <none>, <none>, RIGHT CURLY BRACKET (BRACERIGHT) | ||
// FIXME wtf is this key? is it really <AE13>? | ||
56 OEM_102 0 -1 -1 -1 // <none>, <none>, <none> | ||
//0e ???? 0 ???? ???? ???? // backspace, backspace, backspace | ||
|
||
// top row | ||
|
||
//0f ???? 0 ???? ???? ???? // tab, tab, tab | ||
// ltgt variant | ||
10 OEM_7 0 0027 0022 -1 // APOSTROPHE, QUOTATION MARK (QUOTEDBL), <none> | ||
11 OEM_COMMA 0 002c 003c 2013 // COMMA, LESS-THAN SIGN, U2013 (EN DASH, pomlcka) | ||
12 OEM_PERIOD 0 002e 003e 0021 // FULL STOP (PERIOD), GREATER-THAN SIGN, EXCLAMATION MARK | ||
// writer variant | ||
//10 OEM_7 0 201e 201c 0022 // U201E LOWER QUOTATION MARK (QUOTEDBL), U201C UPPER QUOTATION MARK (QUOTEDBL), QUOTATION MARK (QUOTEDBL) | ||
//11 OEM_COMMA 0 002c 2013 003c // COMMA, U2013 (EN DASH, pomlcka), LESS-THAN SIGN | ||
//12 OEM_PERIOD 0 002e 0027 003e // FULL STOP (PERIOD), APOSTROPHE, GREATER-THAN SIGN | ||
|
||
13 P 0 p P 00a7 // LATIN SMALL LETTER P, LATIN CAPITAL LETTER P, SECTION SIGN (PARAGRAPH) | ||
14 Y 0 y Y -1 // LATIN SMALL LETTER Y, LATIN CAPITAL LETTER Y, <none> | ||
15 F 0 f F 002c // LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, COMMA | ||
16 G 0 g G 7 // LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, DIGIT SEVEN | ||
17 C 0 c C 8 // LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, DIGIT EIGHT | ||
18 R 0 r R 9 // LATIN SMALL LETTER R, LATIN CAPITAL LETTER R, DIGIT NINE | ||
19 L 0 l L 005b // LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LEFT SQUARE BRACKET | ||
1a OEM_2 0 002f 003f 005d // SOLIDUS (SLASH), QUESTION MARK, RIGHT SQUARE BRACKET | ||
1b OEM_PLUS 0 003d 002b 002b // EQUALS SIGN, PLUS SIGN, PLUS SIGN | ||
2b OEM_5 0 005c 007c 007c // REVERSE SOLIDUS (BACKSLASH), VERTICAL LINE (BAR), VERTICAL LINE (BAR) | ||
|
||
// home/middle row | ||
|
||
//CapsLk | ||
//3a ???? 0 001b 001b 001b // ESCAPE, ESCAPE, ESCAPE | ||
//3a SGCap 0 001b 001b 001b // ESCAPE, ESCAPE, ESCAPE | ||
1e A 0 a A 0040 // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, COMMERCIAL AT | ||
1f O 0 o O 00b0 // LATIN SMALL LETTER O, LATIN CAPITAL LETTER O, DEGREE | ||
20 E 0 e E 20ac // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, EURO SIGN | ||
21 U 0 u U 0060 // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, GRAVE ACCENT (GRAVE) | ||
22 I 0 i I -1 // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I, <none> | ||
23 D 0 d D 003a // LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, COLON | ||
24 H 0 h H 4 // LATIN SMALL LETTER H, LATIN CAPITAL LETTER H, DIGIT FOUR | ||
25 T 0 t T 5 // LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, DIGIT FIVE | ||
26 N 0 n N 6 // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, DIGIT SIX | ||
27 S 0 s S 003d // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, EQUALS SIGN | ||
// pomlcka (= minus = dash) | ||
28 OEM_MINUS 0 002d 005f 005c // HYPHEN-MINUS (FIXME is it the plain minus?), LOW LINE (UNDERSCORE), REVERSE SOLIDUS (BACKSLASH) | ||
//1c ???? 0 ???? ???? ???? // enter/return, enter/return, enter/return | ||
|
||
// bottom row | ||
|
||
//2a ???? 0 ???? ???? ???? // left shift, left shift, left shift | ||
// left bottom key, right from <LFSH>, which doesn't follow the kbd standard | ||
// FIXME wtf is this key? is it really <LSGT>? | ||
56 OEM_102 0 -1 -1 -1 // <none>, <none>, <none> | ||
2c OEM_1 0 003b 003a -1 // SEMICOLON, COLON, <none> | ||
2d Q 0 q Q -1 // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, <none> | ||
2e J 0 j J -1 // LATIN SMALL LETTER J, LATIN CAPITAL LETTER J, <none> | ||
2f K 0 k K -1 // LATIN SMALL LETTER K, LATIN CAPITAL LETTER K, <none> | ||
30 X 0 x X -1 // LATIN SMALL LETTER X, LATIN CAPITAL LETTER X, <none> | ||
31 B 0 b B 0 // LATIN SMALL LETTER B, LATIN CAPITAL LETTER B, DIGIT ZERO | ||
32 M 0 m M 1 // LATIN SMALL LETTER M, LATIN CAPITAL LETTER M, DIGIT ONE | ||
33 W 0 w W 2 // LATIN SMALL LETTER W, LATIN CAPITAL LETTER W, DIGIT TWO | ||
34 V 0 v V 3 // LATIN SMALL LETTER V, LATIN CAPITAL LETTER V, DIGIT THREE | ||
35 Z 0 z Z 002e // LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, FULL STOP (PERIOD) | ||
// numpad dot | ||
53 DECIMAL 0 002e 002e 002e // FULL STOP (PERIOD), FULL STOP (PERIOD), FULL STOP (PERIOD) | ||
//36 ???? 0 ???? ???? ???? // right shift, right shift, right shift | ||
|
||
// bottom-most row | ||
|
||
//?? ???? 0 ???? ???? ???? // left ctrl, left ctrl, left ctrl | ||
//5b ???? 0 ???? ???? ???? // left super (win), left super (win), left super (win) | ||
//?? ???? 0 ???? ???? ???? // left alt (meta), left alt (meta), left alt (meta) | ||
39 SPACE 0 0020 00a0 00a0 // SPACE, NO-BREAK SPACE, NO-BREAK SPACE | ||
//38 ???? 0 ???? ???? ???? // right alt (meta), right alt (meta), right alt (meta) | ||
//5c ???? 0 ???? ???? ???? // right super (win), right super (win), right super (win) | ||
//?? ???? 0 ???? ???? ???? // menu, menu, menu | ||
//5d ???? 0 ???? ???? ???? // menu, menu, menu | ||
//56 ???? 0 ???? ???? ???? // menu, menu, menu | ||
//1d ???? 0 ???? ???? ???? // right ctrl, right ctrl, right ctrl | ||
//46 ???? 0 ???? ???? ???? // scroll lock, scroll lock, scroll lock | ||
|
||
//LIGATURE | ||
// | ||
//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple<b:string, c:string > ) | ||
//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple<b:string, c:string, d:string > ) | ||
//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple<b:string, c:string, d:string, e:string> ) | ||
//// a mod b c | ||
|
||
//KEYNAME | ||
// | ||
//01 Esc | ||
//0e Backspace | ||
//0f Tab | ||
//1c Enter | ||
//1d Ctrl | ||
////2a Shift | ||
//2a "Left Shift" | ||
//36 "Right Shift" | ||
//37 "Num *" | ||
//38 Alt | ||
//39 Space | ||
//3a "Caps Lock" | ||
//3b F1 | ||
//3c F2 | ||
//3d F3 | ||
//3e F4 | ||
//3f F5 | ||
//40 F6 | ||
//41 F7 | ||
//42 F8 | ||
//43 F9 | ||
//44 F10 | ||
//45 Pause | ||
//46 "Scroll Lock" | ||
//47 "Num 7" | ||
//48 "Num 8" | ||
//49 "Num 9" | ||
//4a "Num -" | ||
//4b "Num 4" | ||
//4c "Num 5" | ||
//4d "Num 6" | ||
//4e "Num +" | ||
//4f "Num 1" | ||
//50 "Num 2" | ||
//51 "Num 3" | ||
//52 "Num 0" | ||
//53 "Num Del" | ||
//54 "Sys Req" | ||
//57 F11 | ||
//58 F12 | ||
//7c F13 | ||
//7d F14 | ||
//7e F15 | ||
//7f F16 | ||
//80 F17 | ||
//81 F18 | ||
//82 F19 | ||
//83 F20 | ||
//84 F21 | ||
//85 F22 | ||
//86 F23 | ||
//87 F24 | ||
// | ||
//KEYNAME_EXT | ||
// | ||
//1c "Num Enter" | ||
//1d "Right Ctrl" | ||
//35 "Num /" | ||
//37 "Prnt Scrn" | ||
//38 "Right Alt" | ||
//45 "Num Lock" | ||
//46 Break | ||
//47 Home | ||
//48 Up | ||
//49 "Page Up" | ||
//4b Left | ||
//4d Right | ||
//4f End | ||
//50 Down | ||
//51 "Page Down" | ||
//52 Insert | ||
//53 Delete | ||
//54 <00> | ||
//54 "Sys Req" | ||
//56 Help | ||
//5b "Left Windows" | ||
//5c "Right Windows" | ||
//5d Application | ||
|
||
DESCRIPTIONS | ||
|
||
// Don't ask me why the parser doesn't strip double quotes here ( | ||
// even though they're stripped for the KBD command/section above). | ||
0409 German Dvorak ltgt (useful for text with lots of <>) | ||
//0409 German Dvorak writer (useful for text with lower/upper UTF-8 double quotes) | ||
|
||
LANGUAGENAMES | ||
|
||
// Don't ask me why the parser doesn't strip double quotes here ( | ||
// even though they're stripped for the KBD command/section above). | ||
0409 German or related (all locations world-wide) | ||
|
||
ENDKBD | ||
|
||
// vim: set ft=javascript: |
Oops, something went wrong.