diff --git a/input/Manoonchai.json b/input/Manoonchai.json
index 584be25..32efee6 100644
--- a/input/Manoonchai.json
+++ b/input/Manoonchai.json
@@ -2,7 +2,7 @@
"name": "Manoonchai",
"version": "1.0",
"language": "Thai",
- "layers": ["Base", "Shift", "AltGr", "ShiftAltGr"],
+ "layers": ["Base", "Shift", "Command", "AltGr", "Control", "ShiftAltGr"],
"license": "MIT",
"os": {
"windows": {
@@ -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", "!", "1", "๑", "1", ""],
+ "2": ["2", "@", "2", "๒", "2", ""],
+ "3": ["3", "#", "3", "๓", "3", ""],
+ "4": ["4", "$", "4", "๔", "4", ""],
+ "5": ["5", "%", "5", "๕", "5", ""],
+ "6": ["6", "^", "6", "๖", "6", ""],
+ "7": ["7", "&", "7", "๗", "7", ""],
+ "8": ["8", "*", "8", "๘", "8", ""],
+ "9": ["9", "(", "9", "๙", "9", ""],
+ "0": ["0", ")", "0", "๐", "0", ""],
+ "-": ["-", "_", "-", "÷", "-", ""],
+ "=": ["=", "+", "=", "×", "=", ""],
+ "q": ["ใ", "ฒ", "q", "", "q", ""],
+ "w": ["ต", "ฏ", "w", "", "w", ""],
+ "e": ["ห", "ซ", "e", "", "e", ""],
+ "r": ["ล", "ญ", "r", "", "r", ""],
+ "t": ["ส", "ฟ", "t", "", "t", ""],
+ "y": ["ป", "ฉ", "y", "", "y", ""],
+ "u": ["ั", "ึ", "u", "ฺ", "u", ""],
+ "i": ["ก", "ธ", "i", "", "i", ""],
+ "o": ["ิ", "ฐ", "o", "", "o", ""],
+ "p": ["บ", "ฎ", "p", "", "p", ""],
+ "[": ["็", "ฆ", "[", "[", "[", "{"],
+ "]": ["ฬ", "ฑ", "]", "]", "]", "}"],
+ "\\": ["ฯ", "ฌ", "\\", "\\", "\\", "|"],
+ "a": ["ง", "ษ", "a", "◌", "a", ""],
+ "s": ["เ", "ถ", "s", "๏", "s", ""],
+ "d": ["ร", "แ", "d", "๛", "d", ""],
+ "f": ["น", "ช", "f", "฿", "f", ""],
+ "g": ["ม", "พ", "g", "", "g", ""],
+ "h": ["อ", "ผ", "h", "ํ", "h", ""],
+ "j": ["า", "ำ", "j", "ๅ", "j", ""],
+ "k": ["่", "ข", "k", "ฃ", "k", ""],
+ "l": ["้", "โ", "l", "", "l", ""],
+ ";": ["ว", "ภ", ";", ";", ";", ":"],
+ "'": ["ื", "\"", "'", "'", "'", "\""],
+ "z": ["ุ", "ฤ", "z", "ฦ", "z", ""],
+ "x": ["ไ", "ฝ", "x", "", "x", ""],
+ "c": ["ท", "ๆ", "c", "๚", "c", ""],
+ "v": ["ย", "ณ", "v", "", "v", ""],
+ "b": ["จ", "๊", "b", "", "b", ""],
+ "n": ["ค", "๋", "n", "ฅ", "n", ""],
+ "m": ["ี", "์", "m", "๎", "m", ""],
+ ",": ["ด", "ศ", ",", ",", ",", "<"],
+ ".": ["ะ", "ฮ", ".", ".", ".", ">"],
+ "/": ["ู", "?", "/", "/", "/", "?"]
}
}
diff --git a/output/Manoonchai.keylayout b/output/Manoonchai.keylayout
index 38b685b..cf32647 100644
--- a/output/Manoonchai.keylayout
+++ b/output/Manoonchai.keylayout
@@ -12,9 +12,15 @@
-
+
+
+
+
+
+
+
@@ -238,6 +244,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -346,7 +461,116 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/output/Manoonchai.klc b/output/Manoonchai.klc
index 95e43bc..51166bf 100644
Binary files a/output/Manoonchai.klc and b/output/Manoonchai.klc differ
diff --git a/output/Manoonchai_xkb b/output/Manoonchai_xkb
index c73deee..4d795f8 100644
--- a/output/Manoonchai_xkb
+++ b/output/Manoonchai_xkb
@@ -6,53 +6,53 @@ xkb_symbols "ThaiMnc" {
name[Group1]= "Manoonchai v1.0";
- key { [ 0x1000030, 0x1000029, 0x1000e50, voidsymbol ] };
- key { [ 0x1000031, 0x1000021, 0x1000e51, voidsymbol ] };
- key { [ 0x1000032, 0x1000040, 0x1000e52, voidsymbol ] };
- key { [ 0x1000033, 0x1000023, 0x1000e53, voidsymbol ] };
- key { [ 0x1000034, 0x1000024, 0x1000e54, voidsymbol ] };
- key { [ 0x1000035, 0x1000025, 0x1000e55, voidsymbol ] };
- key { [ 0x1000036, 0x100005e, 0x1000e56, voidsymbol ] };
- key { [ 0x1000037, 0x1000026, 0x1000e57, voidsymbol ] };
- key { [ 0x1000038, 0x100002a, 0x1000e58, voidsymbol ] };
- key { [ 0x1000039, 0x1000028, 0x1000e59, voidsymbol ] };
- key { [ 0x100002d, 0x100005f, 0x10000f7, voidsymbol ] };
- key { [ 0x100003d, 0x100002b, 0x10000d7, voidsymbol ] };
- key { [ 0x1000060, 0x100007e, 0x1000060, voidsymbol ] };
- key { [ 0x1000e43, 0x1000e12, voidsymbol, voidsymbol ] };
- key { [ 0x1000e15, 0x1000e0f, voidsymbol, voidsymbol ] };
- key { [ 0x1000e2b, 0x1000e0b, voidsymbol, voidsymbol ] };
- key { [ 0x1000e25, 0x1000e0d, voidsymbol, voidsymbol ] };
- key { [ 0x1000e2a, 0x1000e1f, voidsymbol, voidsymbol ] };
- key { [ 0x1000e1b, 0x1000e09, voidsymbol, voidsymbol ] };
- key { [ 0x1000e31, 0x1000e36, 0x1000e3a, voidsymbol ] };
- key { [ 0x1000e01, 0x1000e18, voidsymbol, voidsymbol ] };
- key { [ 0x1000e34, 0x1000e10, voidsymbol, voidsymbol ] };
- key { [ 0x1000e1a, 0x1000e0e, voidsymbol, voidsymbol ] };
- key { [ 0x1000e47, 0x1000e06, 0x100005b, 0x100007b ] };
- key { [ 0x1000e2c, 0x1000e11, 0x100005d, 0x100007d ] };
- key { [ 0x1000e07, 0x1000e29, 0x10025cc, voidsymbol ] };
- key { [ 0x1000e40, 0x1000e16, 0x1000e4f, voidsymbol ] };
- key { [ 0x1000e23, 0x1000e41, 0x1000e5b, voidsymbol ] };
- key { [ 0x1000e19, 0x1000e0a, 0x1000e3f, voidsymbol ] };
- key { [ 0x1000e21, 0x1000e1e, voidsymbol, voidsymbol ] };
- key { [ 0x1000e2d, 0x1000e1c, 0x1000e4d, voidsymbol ] };
- key { [ 0x1000e32, 0x1000e33, 0x1000e45, voidsymbol ] };
- key { [ 0x1000e48, 0x1000e02, 0x1000e03, voidsymbol ] };
- key { [ 0x1000e49, 0x1000e42, voidsymbol, voidsymbol ] };
- key { [ 0x1000e27, 0x1000e20, 0x100003b, 0x100003a ] };
- key { [ 0x1000e37, 0x1000022, 0x1000027, 0x1000022 ] };
- key { [ 0x1000e2f, 0x1000e0c, 0x100005c, 0x100007c ] };
- key { [ 0x1000e38, 0x1000e24, 0x1000e26, voidsymbol ] };
- key { [ 0x1000e44, 0x1000e1d, voidsymbol, voidsymbol ] };
- key { [ 0x1000e17, 0x1000e46, 0x1000e5a, voidsymbol ] };
- key { [ 0x1000e22, 0x1000e13, voidsymbol, voidsymbol ] };
- key { [ 0x1000e08, 0x1000e4a, voidsymbol, voidsymbol ] };
- key { [ 0x1000e04, 0x1000e4b, 0x1000e05, voidsymbol ] };
- key { [ 0x1000e35, 0x1000e4c, 0x1000e4e, voidsymbol ] };
- key { [ 0x1000e14, 0x1000e28, 0x100002c, 0x100003c ] };
- key { [ 0x1000e30, 0x1000e2e, 0x100002e, 0x100003e ] };
- key { [ 0x1000e39, 0x100003f, 0x100002f, 0x100003f ] };
+ key { [ 0x1000030, 0x1000029, 0x1000030, 0x1000e50 0x1000030 voidsymbol ] };
+ key { [ 0x1000031, 0x1000021, 0x1000031, 0x1000e51 0x1000031 voidsymbol ] };
+ key { [ 0x1000032, 0x1000040, 0x1000032, 0x1000e52 0x1000032 voidsymbol ] };
+ key { [ 0x1000033, 0x1000023, 0x1000033, 0x1000e53 0x1000033 voidsymbol ] };
+ key { [ 0x1000034, 0x1000024, 0x1000034, 0x1000e54 0x1000034 voidsymbol ] };
+ key { [ 0x1000035, 0x1000025, 0x1000035, 0x1000e55 0x1000035 voidsymbol ] };
+ key { [ 0x1000036, 0x100005e, 0x1000036, 0x1000e56 0x1000036 voidsymbol ] };
+ key { [ 0x1000037, 0x1000026, 0x1000037, 0x1000e57 0x1000037 voidsymbol ] };
+ key { [ 0x1000038, 0x100002a, 0x1000038, 0x1000e58 0x1000038 voidsymbol ] };
+ key { [ 0x1000039, 0x1000028, 0x1000039, 0x1000e59 0x1000039 voidsymbol ] };
+ key { [ 0x100002d, 0x100005f, 0x100002d, 0x10000f7 0x100002d voidsymbol ] };
+ key { [ 0x100003d, 0x100002b, 0x100003d, 0x10000d7 0x100003d voidsymbol ] };
+ key { [ 0x1000060, 0x100007e, 0x1000060, 0x1000060 0x1000060 voidsymbol ] };
+ key { [ 0x1000e43, 0x1000e12, 0x1000071, voidsymbol 0x1000071 voidsymbol ] };
+ key { [ 0x1000e15, 0x1000e0f, 0x1000077, voidsymbol 0x1000077 voidsymbol ] };
+ key { [ 0x1000e2b, 0x1000e0b, 0x1000065, voidsymbol 0x1000065 voidsymbol ] };
+ key { [ 0x1000e25, 0x1000e0d, 0x1000072, voidsymbol 0x1000072 voidsymbol ] };
+ key { [ 0x1000e2a, 0x1000e1f, 0x1000074, voidsymbol 0x1000074 voidsymbol ] };
+ key { [ 0x1000e1b, 0x1000e09, 0x1000079, voidsymbol 0x1000079 voidsymbol ] };
+ key { [ 0x1000e31, 0x1000e36, 0x1000075, 0x1000e3a 0x1000075 voidsymbol ] };
+ key { [ 0x1000e01, 0x1000e18, 0x1000069, voidsymbol 0x1000069 voidsymbol ] };
+ key { [ 0x1000e34, 0x1000e10, 0x100006f, voidsymbol 0x100006f voidsymbol ] };
+ key { [ 0x1000e1a, 0x1000e0e, 0x1000070, voidsymbol 0x1000070 voidsymbol ] };
+ key { [ 0x1000e47, 0x1000e06, 0x100005b, 0x100005b 0x100005b 0x100007b ] };
+ key { [ 0x1000e2c, 0x1000e11, 0x100005d, 0x100005d 0x100005d 0x100007d ] };
+ key { [ 0x1000e07, 0x1000e29, 0x1000061, 0x10025cc 0x1000061 voidsymbol ] };
+ key { [ 0x1000e40, 0x1000e16, 0x1000073, 0x1000e4f 0x1000073 voidsymbol ] };
+ key { [ 0x1000e23, 0x1000e41, 0x1000064, 0x1000e5b 0x1000064 voidsymbol ] };
+ key { [ 0x1000e19, 0x1000e0a, 0x1000066, 0x1000e3f 0x1000066 voidsymbol ] };
+ key { [ 0x1000e21, 0x1000e1e, 0x1000067, voidsymbol 0x1000067 voidsymbol ] };
+ key { [ 0x1000e2d, 0x1000e1c, 0x1000068, 0x1000e4d 0x1000068 voidsymbol ] };
+ key { [ 0x1000e32, 0x1000e33, 0x100006a, 0x1000e45 0x100006a voidsymbol ] };
+ key { [ 0x1000e48, 0x1000e02, 0x100006b, 0x1000e03 0x100006b voidsymbol ] };
+ key { [ 0x1000e49, 0x1000e42, 0x100006c, voidsymbol 0x100006c voidsymbol ] };
+ key { [ 0x1000e27, 0x1000e20, 0x100003b, 0x100003b 0x100003b 0x100003a ] };
+ key { [ 0x1000e37, 0x1000022, 0x1000027, 0x1000027 0x1000027 0x1000022 ] };
+ key { [ 0x1000e2f, 0x1000e0c, 0x100005c, 0x100005c 0x100005c 0x100007c ] };
+ key { [ 0x1000e38, 0x1000e24, 0x100007a, 0x1000e26 0x100007a voidsymbol ] };
+ key { [ 0x1000e44, 0x1000e1d, 0x1000078, voidsymbol 0x1000078 voidsymbol ] };
+ key { [ 0x1000e17, 0x1000e46, 0x1000063, 0x1000e5a 0x1000063 voidsymbol ] };
+ key { [ 0x1000e22, 0x1000e13, 0x1000076, voidsymbol 0x1000076 voidsymbol ] };
+ key { [ 0x1000e08, 0x1000e4a, 0x1000062, voidsymbol 0x1000062 voidsymbol ] };
+ key { [ 0x1000e04, 0x1000e4b, 0x100006e, 0x1000e05 0x100006e voidsymbol ] };
+ key { [ 0x1000e35, 0x1000e4c, 0x100006d, 0x1000e4e 0x100006d voidsymbol ] };
+ key { [ 0x1000e14, 0x1000e28, 0x100002c, 0x100002c 0x100002c 0x100003c ] };
+ key { [ 0x1000e30, 0x1000e2e, 0x100002e, 0x100002e 0x100002e 0x100003e ] };
+ key { [ 0x1000e39, 0x100003f, 0x100002f, 0x100002f 0x100002f 0x100003f ] };
include "level3(ralt_switch)"
};
\ No newline at end of file
diff --git a/output/test.klc b/output/test.klc
index 95e43bc..51166bf 100644
Binary files a/output/test.klc and b/output/test.klc differ
diff --git a/test/main.test.ts b/test/main.test.ts
index eda6ae7..8ca198c 100644
--- a/test/main.test.ts
+++ b/test/main.test.ts
@@ -466,14 +466,14 @@ describe("generateKlc", () => {
expect(lines[6]).toEqual(`SHIFTSTATE`)
expect(lines[7]).toEqual(`0\t// Column 4 : Base`)
expect(lines[8]).toEqual(`1\t// Column 5 : Shift`)
- expect(lines[9]).toEqual(`6\t// Column 6 : AltGr`)
+ expect(lines[9]).toEqual(`6\t// Column 7 : AltGr`)
// Assert Layout
const layoutLineIdx = lines.indexOf(`LAYOUT`)
expect(lines[layoutLineIdx]).toEqual(`LAYOUT`)
- expect(lines[layoutLineIdx + 1]).toEqual(`0b\t0\t0\t0\t)\t๐\t-1`)
- expect(lines[layoutLineIdx + 2]).toEqual(`02\t1\t0\t1\t!\t๑\t-1`)
+ expect(lines[layoutLineIdx + 1]).toEqual(`0b\t0\t0\t0\t)\t๐\t0\t-1\t-1`)
+ expect(lines[layoutLineIdx + 2]).toEqual(`02\t1\t0\t1\t!\t๑\t1\t-1\t-1`)
// Assert ENDKBD
expect(lines.slice(-1)).toEqual(["ENDKBD"])