Skip to content

Commit

Permalink
feat: Add Shift+AltGr layer
Browse files Browse the repository at this point in the history
  • Loading branch information
narze committed Jul 26, 2021
1 parent 6c9d082 commit 7eeaf6f
Show file tree
Hide file tree
Showing 9 changed files with 300 additions and 59 deletions.
10 changes: 10 additions & 0 deletions generateKeylayout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ export async function generateKeylayout(
layerName: "AltGr",
layerValue: "anyOption anyShift? anyControl? command?",
},
{
layerName: "ShiftAltGr",
layerValue: "anyOption anyShift anyControl? command?",
},
{
layerName: "Control",
layerValue: "anyControl anyShift? anyOption? command?",
Expand Down Expand Up @@ -253,6 +257,12 @@ export async function generateKeylayout(
overrideKey = escape("&")
}

if (overrideKey == ">") {
overrideKey = ">"
} else if (overrideKey == "<") {
overrideKey = "&lt;"
}

if (unicode) {
overrideKey = encodeURIComponent(output)
}
Expand Down
1 change: 1 addition & 0 deletions generateKlc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export async function generateKlc(
// From macOS config
Command: 4, // Layer number 4 is not supported in KLC
AltGr: 6,
ShiftAltGr: 7,
Option: 7,
Control: 2,
}
Expand Down
96 changes: 48 additions & 48 deletions input/Manoonchai.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Manoonchai",
"version": "1.0",
"language": "Thai",
"layers": ["Base", "Shift", "AltGr"],
"layers": ["Base", "Shift", "AltGr", "ShiftAltGr"],
"license": "MIT",
"os": {
"windows": {
Expand All @@ -12,52 +12,52 @@
}
},
"keys": {
"`": ["`", "~", "`"],
"1": ["1", "!", ""],
"2": ["2", "@", ""],
"3": ["3", "#", ""],
"4": ["4", "$", ""],
"5": ["5", "%", ""],
"6": ["6", "^", ""],
"7": ["7", "&", ""],
"8": ["8", "*", ""],
"9": ["9", "(", ""],
"0": ["0", ")", ""],
"-": ["-", "_", "-"],
"=": ["=", "+", "="],
"q": ["", "", ""],
"w": ["", "", ""],
"e": ["", "", ""],
"r": ["", "", ""],
"t": ["", "", ""],
"y": ["", "", ""],
"u": ["", "", ""],
"i": ["", "", ""],
"o": ["", "", ""],
"p": ["", "", ""],
"[": ["", "", "["],
"]": ["", "", "]"],
"\\": ["", "", "\\"],
"a": ["", "", ""],
"s": ["", "", ""],
"d": ["", "", ""],
"f": ["", "", "฿"],
"g": ["", "", ""],
"h": ["", "", ""],
"j": ["", "", ""],
"k": ["", "", ""],
"l": ["", "", ""],
";": ["", "", ";"],
"'": ["", "\"", "'"],
"z": ["", "", ""],
"x": ["", "", ""],
"c": ["", "", ""],
"v": ["", "", ""],
"b": ["", "", ""],
"n": ["", "", ""],
"m": ["", "", ""],
",": ["", "", ","],
".": ["", "", "."],
"/": ["", "?", "/"]
"`": ["`", "~", "`", ""],
"1": ["1", "!", "", ""],
"2": ["2", "@", "", ""],
"3": ["3", "#", "", ""],
"4": ["4", "$", "", ""],
"5": ["5", "%", "", ""],
"6": ["6", "^", "", ""],
"7": ["7", "&", "", ""],
"8": ["8", "*", "", ""],
"9": ["9", "(", "", ""],
"0": ["0", ")", "", ""],
"-": ["-", "_", "÷", ""],
"=": ["=", "+", "×", ""],
"q": ["", "", "", ""],
"w": ["", "", "", ""],
"e": ["", "", "", ""],
"r": ["", "", "", ""],
"t": ["", "", "", ""],
"y": ["", "", "", ""],
"u": ["", "", "", ""],
"i": ["", "", "", ""],
"o": ["", "", "", ""],
"p": ["", "", "", ""],
"[": ["", "", "[", "{"],
"]": ["", "", "]", "}"],
"\\": ["", "", "\\", "|"],
"a": ["", "", "", ""],
"s": ["", "", "", ""],
"d": ["", "", "", ""],
"f": ["", "", "฿", ""],
"g": ["", "", "", ""],
"h": ["", "", "", ""],
"j": ["", "", "", ""],
"k": ["", "", "", ""],
"l": ["", "", "", ""],
";": ["", "", ";", ":"],
"'": ["", "\"", "'", "\""],
"z": ["", "", "", ""],
"x": ["", "", "", ""],
"c": ["", "", "", ""],
"v": ["", "", "", ""],
"b": ["", "", "", ""],
"n": ["", "", "", ""],
"m": ["", "", "", ""],
",": ["", "", ",", "<"],
".": ["", "", ".", ">"],
"/": ["", "?", "/", "?"]
}
}
13 changes: 9 additions & 4 deletions main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,15 @@ export class Layout {
language: "Thai"

@ArrayNotEmpty()
@IsIn(["Base", "Shift", "AltGr", "Command", "Option", "Control"], {
each: true,
})
layers: Array<"Base" | "Shift" | "AltGr" | "Command" | "Option" | "Control">
@IsIn(
["Base", "Shift", "AltGr", "Command", "Option", "Control", "ShiftAltGr"],
{
each: true,
}
)
layers: Array<
"Base" | "Shift" | "AltGr" | "Command" | "Option" | "Control" | "ShiftAltGr"
>

@IsDefined()
@IsNotEmptyObject()
Expand Down
116 changes: 114 additions & 2 deletions output/Manoonchai.keylayout
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
<keyMapSelect mapIndex="2">
<modifier keys="anyOption anyShift? anyControl? command?"/>
</keyMapSelect>
<keyMapSelect mapIndex="3">
<modifier keys="anyOption anyShift anyControl? command?"/>
</keyMapSelect>
</modifierMap>
<keyMapSet id="defaultKeyMapSet">
<keyMap index="0">
Expand Down Expand Up @@ -259,10 +262,10 @@
<key code="21" output=""/>
<key code="22" output=""/>
<key code="23" output=""/>
<key code="24" output="="/>
<key code="24" output="×"/>
<key code="25" output=""/>
<key code="26" output=""/>
<key code="27" output="-"/>
<key code="27" output="÷"/>
<key code="28" output=""/>
<key code="29" output=""/>
<key code="30" output="]"/>
Expand Down Expand Up @@ -343,5 +346,114 @@
<key code="125" output="&#x001F;"/>
<key code="126" output="&#x001E;"/>
</keyMap>
<keyMap index="3">
<key code="0" output=""/>
<key code="1" output=""/>
<key code="2" output=""/>
<key code="3" output=""/>
<key code="4" output=""/>
<key code="5" output=""/>
<key code="6" output=""/>
<key code="7" output=""/>
<key code="8" output=""/>
<key code="9" output=""/>
<key code="10" output="§"/>
<key code="11" output=""/>
<key code="12" output=""/>
<key code="13" output=""/>
<key code="14" output=""/>
<key code="15" output=""/>
<key code="16" output=""/>
<key code="17" output=""/>
<key code="18" output=""/>
<key code="19" output=""/>
<key code="20" output=""/>
<key code="21" output=""/>
<key code="22" output=""/>
<key code="23" output=""/>
<key code="24" output=""/>
<key code="25" output=""/>
<key code="26" output=""/>
<key code="27" output=""/>
<key code="28" output=""/>
<key code="29" output=""/>
<key code="30" output="}"/>
<key code="31" output=""/>
<key code="32" output=""/>
<key code="33" output="{"/>
<key code="34" output=""/>
<key code="35" output=""/>
<key code="36" output="&#x000D;"/>
<key code="37" output=""/>
<key code="38" output=""/>
<key code="39" output="&quot;"/>
<key code="40" output=""/>
<key code="41" output=":"/>
<key code="42" output="|"/>
<key code="43" output="&lt;"/>
<key code="44" output="?"/>
<key code="45" output=""/>
<key code="46" output=""/>
<key code="47" output="&gt;"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output=""/>
<key code="51" output="&#x0008;"/>
<key code="52" output="&#x0003;"/>
<key code="53" output="&#x001B;"/>
<key code="65" output="."/>
<key code="66" output="&#x001D;"/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output="&#x001C;"/>
<key code="71" output="&#x001B;"/>
<key code="72" output="&#x001F;"/>
<key code="75" output="/"/>
<key code="76" output="&#x0003;"/>
<key code="77" output="&#x001E;"/>
<key code="78" output="-"/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output="&#x0010;"/>
<key code="97" output="&#x0010;"/>
<key code="98" output="&#x0010;"/>
<key code="99" output="&#x0010;"/>
<key code="100" output="&#x0010;"/>
<key code="101" output="&#x0010;"/>
<key code="102" output="&#x0010;"/>
<key code="103" output="&#x0010;"/>
<key code="104" output="&#x0010;"/>
<key code="105" output="&#x0010;"/>
<key code="106" output="&#x0010;"/>
<key code="107" output="&#x0010;"/>
<key code="108" output="&#x0010;"/>
<key code="109" output="&#x0010;"/>
<key code="110" output="&#x0010;"/>
<key code="111" output="&#x0010;"/>
<key code="112" output="&#x0010;"/>
<key code="113" output="&#x0010;"/>
<key code="114" output="&#x0005;"/>
<key code="115" output="&#x0001;"/>
<key code="116" output="&#x000B;"/>
<key code="117" output="&#x007F;"/>
<key code="118" output="&#x0010;"/>
<key code="119" output="&#x0004;"/>
<key code="120" output="&#x0010;"/>
<key code="121" output="&#x000C;"/>
<key code="122" output="&#x0010;"/>
<key code="123" output="&#x001C;"/>
<key code="124" output="&#x001D;"/>
<key code="125" output="&#x001F;"/>
<key code="126" output="&#x001E;"/>
</keyMap>
</keyMapSet>
</keyboard>
Binary file modified output/Manoonchai.klc
Binary file not shown.
Binary file modified output/test.klc
Binary file not shown.
Loading

0 comments on commit 7eeaf6f

Please sign in to comment.