From b08c2fa792fcfe8f58d8b78762b93c9d22520f44 Mon Sep 17 00:00:00 2001 From: lordwelch Date: Tue, 23 Jan 2018 23:12:41 -0800 Subject: [PATCH] Organized qwerty by row Added tengwar layouts Made the changeKeymap function actually work Added keymapto0 so that the app consistently types correctly --- blank_keymap | 377 ------------------------------- dvorak.json => hid/dvorak.json | 0 qwerty.json => hid/qwerty.json | 398 ++++++++++++++++----------------- hid/tengwar-f.json | 310 +++++++++++++++++++++++++ hid/tengwar-u.json | 378 +++++++++++++++++++++++++++++++ main.go | 28 ++- 6 files changed, 906 insertions(+), 585 deletions(-) delete mode 100644 blank_keymap rename dvorak.json => hid/dvorak.json (100%) rename qwerty.json => hid/qwerty.json (100%) create mode 100644 hid/tengwar-f.json create mode 100644 hid/tengwar-u.json diff --git a/blank_keymap b/blank_keymap deleted file mode 100644 index 1d32835..0000000 --- a/blank_keymap +++ /dev/null @@ -1,377 +0,0 @@ - -: { - "modifier": "00000000", - "decimal": 39 - }, -: { - "modifier": "00000000", - "decimal": 30 - }, -: { - "modifier": "00000000", - "decimal": 31 - }, -: { - "modifier": "00000000", - "decimal": 32 - }, -: { - "modifier": "00000000", - "decimal": 33 - }, -: { - "modifier": "00000000", - "decimal": 34 - }, -: { - "modifier": "00000000", - "decimal": 35 - }, -: { - "modifier": "00000000", - "decimal": 36 - }, -: { - "modifier": "00000000", - "decimal": 37 - }, -: { - "modifier": "00000000", - "decimal": 38 - }, -: { - "modifier": "00000000", - "decimal": 53 - }, -: { - "modifier": "00000000", - "decimal": 47 - }, -: { - "modifier": "00000000", - "decimal": 48 - }, -: { - "modifier": "00000000", - "decimal": 52 - }, -: { - "modifier": "00000000", - "decimal": 54 - }, -: { - "modifier": "00000000", - "decimal": 55 - }, -: { - "modifier": "00000000", - "decimal": 19 - }, -: { - "modifier": "00000000", - "decimal": 28 - }, -: { - "modifier": "00000000", - "decimal": 9 - }, -: { - "modifier": "00000000", - "decimal": 10 - }, -: { - "modifier": "00000000", - "decimal": 6 - }, -: { - "modifier": "00000000", - "decimal": 21 - }, -: { - "modifier": "00000000", - "decimal": 15 - }, -: { - "modifier": "00000000", - "decimal": 56 - }, -: { - "modifier": "00000000", - "decimal": 46 - }, -: { - "modifier": "00000000", - "decimal": 49 - }, -: { - "modifier": "00000000", - "decimal": 4 - }, -: { - "modifier": "00000000", - "decimal": 18 - }, -: { - "modifier": "00000000", - "decimal": 8 - }, -: { - "modifier": "00000000", - "decimal": 24 - }, -: { - "modifier": "00000000", - "decimal": 12 - }, -: { - "modifier": "00000000", - "decimal": 7 - }, -: { - "modifier": "00000000", - "decimal": 11 - }, -: { - "modifier": "00000000", - "decimal": 23 - }, -: { - "modifier": "00000000", - "decimal": 17 - }, -: { - "modifier": "00000000", - "decimal": 22 - }, -: { - "modifier": "00000000", - "decimal": 45 - }, -: { - "modifier": "00000000", - "decimal": 51 - }, -: { - "modifier": "00000000", - "decimal": 20 - }, -: { - "modifier": "00000000", - "decimal": 13 - }, -: { - "modifier": "00000000", - "decimal": 14 - }, -: { - "modifier": "00000000", - "decimal": 27 - }, -: { - "modifier": "00000000", - "decimal": 5 - }, -: { - "modifier": "00000000", - "decimal": 16 - }, -: { - "modifier": "00000000", - "decimal": 26 - }, -: { - "modifier": "00000000", - "decimal": 25 - }, -: { - "modifier": "00000000", - "decimal": 29 - }, -: { - "modifier": "00000010", - "decimal": 53 - }, -: { - "modifier": "00000010", - "decimal": 30 - }, -: { - "modifier": "00000010", - "decimal": 31 - }, -: { - "modifier": "00000010", - "decimal": 32 - }, -: { - "modifier": "00000010", - "decimal": 33 - }, -: { - "modifier": "00000010", - "decimal": 34 - }, -: { - "modifier": "00000010", - "decimal": 35 - }, -: { - "modifier": "00000010", - "decimal": 36 - }, -: { - "modifier": "00000010", - "decimal": 37 - }, -: { - "modifier": "00000010", - "decimal": 38 - }, -: { - "modifier": "00000010", - "decimal": 39 - }, -: { - "modifier": "00000010", - "decimal": 47 - }, -: { - "modifier": "00000010", - "decimal": 48 - }, -: { - "modifier": "00000010", - "decimal": 52 - }, -: { - "modifier": "00000010", - "decimal": 54 - }, -: { - "modifier": "00000010", - "decimal": 55 - }, -: { - "modifier": "00000010", - "decimal": 19 - }, -: { - "modifier": "00000010", - "decimal": 28 - }, -: { - "modifier": "00000010", - "decimal": 9 - }, -: { - "modifier": "00000010", - "decimal": 10 - }, -: { - "modifier": "00000010", - "decimal": 6 - }, -: { - "modifier": "00000010", - "decimal": 21 - }, -: { - "modifier": "00000010", - "decimal": 15 - }, -: { - "modifier": "00000010", - "decimal": 56 - }, -: { - "modifier": "00000010", - "decimal": 46 - }, -: { - "modifier": "00000010", - "decimal": 49 - }, -: { - "modifier": "00000010", - "decimal": 4 - }, -: { - "modifier": "00000010", - "decimal": 18 - }, -: { - "modifier": "00000010", - "decimal": 8 - }, -: { - "modifier": "00000010", - "decimal": 24 - }, -: { - "modifier": "00000010", - "decimal": 12 - }, -: { - "modifier": "00000010", - "decimal": 7 - }, -: { - "modifier": "00000010", - "decimal": 11 - }, -: { - "modifier": "00000010", - "decimal": 23 - }, -: { - "modifier": "00000010", - "decimal": 17 - }, -: { - "modifier": "00000010", - "decimal": 22 - }, -: { - "modifier": "00000010", - "decimal": 45 - }, -: { - "modifier": "00000010", - "decimal": 51 - }, -: { - "modifier": "00000010", - "decimal": 20 - }, -: { - "modifier": "00000010", - "decimal": 13 - }, -: { - "modifier": "00000010", - "decimal": 14 - }, -: { - "modifier": "00000010", - "decimal": 27 - }, -: { - "modifier": "00000010", - "decimal": 5 - }, -: { - "modifier": "00000010", - "decimal": 16 - }, -: { - "modifier": "00000010", - "decimal": 26 - }, -: { - "modifier": "00000010", - "decimal": 25 - }, -: { - "modifier": "00000010", - "decimal": 29 - } diff --git a/dvorak.json b/hid/dvorak.json similarity index 100% rename from dvorak.json rename to hid/dvorak.json diff --git a/qwerty.json b/hid/qwerty.json similarity index 100% rename from qwerty.json rename to hid/qwerty.json index 552e51c..e1f8043 100644 --- a/qwerty.json +++ b/hid/qwerty.json @@ -1,8 +1,4 @@ { - "0": { - "modifier": "NONE", - "decimal": 39 - }, "1": { "modifier": "NONE", "decimal": 30 @@ -39,10 +35,26 @@ "modifier": "NONE", "decimal": 38 }, + "0": { + "modifier": "NONE", + "decimal": 39 + }, + "-": { + "modifier": "NONE", + "decimal": 45 + }, + "=": { + "modifier": "NONE", + "decimal": 46 + }, "!": { "modifier": "LSHIFT", "decimal": 30 }, + "@": { + "modifier": "LSHIFT", + "decimal": 31 + }, "#": { "modifier": "LSHIFT", "decimal": 32 @@ -55,13 +67,17 @@ "modifier": "LSHIFT", "decimal": 34 }, + "^": { + "modifier": "LSHIFT", + "decimal": 35 + }, "&": { "modifier": "LSHIFT", "decimal": 36 }, - "'": { - "modifier": "NONE", - "decimal": 52 + "*": { + "modifier": "LSHIFT", + "decimal": 37 }, "(": { "modifier": "LSHIFT", @@ -71,114 +87,94 @@ "modifier": "LSHIFT", "decimal": 39 }, - "*": { - "modifier": "LSHIFT", - "decimal": 37 - }, "+": { "modifier": "LSHIFT", "decimal": 46 }, - ",": { - "modifier": "NONE", - "decimal": 54 - }, - "-": { - "modifier": "NONE", + "_": { + "modifier": "LSHIFT", "decimal": 45 }, - ".": { + "q": { "modifier": "NONE", - "decimal": 55 + "decimal": 20 }, - "/": { + "w": { "modifier": "NONE", - "decimal": 56 + "decimal": 26 }, - ":": { - "modifier": "LSHIFT", - "decimal": 51 - }, - ";": { + "e": { "modifier": "NONE", - "decimal": 51 + "decimal": 8 }, - "<": { - "modifier": "LSHIFT", - "decimal": 54 - }, - "=": { + "r": { "modifier": "NONE", - "decimal": 46 + "decimal": 21 }, - ">": { - "modifier": "LSHIFT", - "decimal": 55 + "t": { + "modifier": "NONE", + "decimal": 23 }, - "?": { - "modifier": "LSHIFT", - "decimal": 56 + "y": { + "modifier": "NONE", + "decimal": 28 }, - "@": { - "modifier": "LSHIFT", - "decimal": 31 + "u": { + "modifier": "NONE", + "decimal": 24 }, - "A": { - "modifier": "LSHIFT", - "decimal": 4 + "i": { + "modifier": "NONE", + "decimal": 12 }, - "B": { - "modifier": "LSHIFT", - "decimal": 5 + "o": { + "modifier": "NONE", + "decimal": 18 }, - "C": { - "modifier": "LSHIFT", - "decimal": 6 + "p": { + "modifier": "NONE", + "decimal": 19 }, - "D": { + "[": { + "modifier": "NONE", + "decimal": 47 + }, + "]": { + "modifier": "NONE", + "decimal": 48 + }, + "Q": { "modifier": "LSHIFT", - "decimal": 7 + "decimal": 20 + }, + "W": { + "modifier": "LSHIFT", + "decimal": 26 }, "E": { "modifier": "LSHIFT", "decimal": 8 }, - "F": { + "R": { "modifier": "LSHIFT", - "decimal": 9 + "decimal": 21 }, - "G": { + "T": { "modifier": "LSHIFT", - "decimal": 10 + "decimal": 23 }, - "H": { + "Y": { "modifier": "LSHIFT", - "decimal": 11 + "decimal": 28 + }, + "U": { + "modifier": "LSHIFT", + "decimal": 24 }, "I": { "modifier": "LSHIFT", "decimal": 12 }, - "J": { - "modifier": "LSHIFT", - "decimal": 13 - }, - "K": { - "modifier": "LSHIFT", - "decimal": 14 - }, - "L": { - "modifier": "LSHIFT", - "decimal": 15 - }, - "M": { - "modifier": "LSHIFT", - "decimal": 16 - }, - "N": { - "modifier": "LSHIFT", - "decimal": 17 - }, "O": { "modifier": "LSHIFT", "decimal": 18 @@ -187,94 +183,26 @@ "modifier": "LSHIFT", "decimal": 19 }, - "Q": { + "{": { "modifier": "LSHIFT", - "decimal": 20 - }, - "R": { - "modifier": "LSHIFT", - "decimal": 21 - }, - "S": { - "modifier": "LSHIFT", - "decimal": 22 - }, - "T": { - "modifier": "LSHIFT", - "decimal": 23 - }, - "U": { - "modifier": "LSHIFT", - "decimal": 24 - }, - "V": { - "modifier": "LSHIFT", - "decimal": 25 - }, - "W": { - "modifier": "LSHIFT", - "decimal": 26 - }, - "X": { - "modifier": "LSHIFT", - "decimal": 27 - }, - "Y": { - "modifier": "LSHIFT", - "decimal": 28 - }, - "Z": { - "modifier": "LSHIFT", - "decimal": 29 - }, - "[": { - "modifier": "NONE", "decimal": 47 }, - "\"": { + "}": { "modifier": "LSHIFT", - "decimal": 52 - }, - "\\": { - "modifier": "NONE", - "decimal": 49 - }, - "]": { - "modifier": "NONE", "decimal": 48 }, - "^": { - "modifier": "LSHIFT", - "decimal": 35 - }, - "_": { - "modifier": "LSHIFT", - "decimal": 45 - }, - "`": { - "modifier": "NONE", - "decimal": 53 - }, "a": { "modifier": "NONE", "decimal": 4 }, - "b": { + "s": { "modifier": "NONE", - "decimal": 5 - }, - "c": { - "modifier": "NONE", - "decimal": 6 + "decimal": 22 }, "d": { "modifier": "NONE", "decimal": 7 }, - "e": { - "modifier": "NONE", - "decimal": 8 - }, "f": { "modifier": "NONE", "decimal": 9 @@ -287,10 +215,6 @@ "modifier": "NONE", "decimal": 11 }, - "i": { - "modifier": "NONE", - "decimal": 12 - }, "j": { "modifier": "NONE", "decimal": 13 @@ -303,73 +227,149 @@ "modifier": "NONE", "decimal": 15 }, - "m": { + ";": { "modifier": "NONE", - "decimal": 16 + "decimal": 51 }, - "n": { + "'": { "modifier": "NONE", - "decimal": 17 + "decimal": 52 }, - "o": { - "modifier": "NONE", - "decimal": 18 + "A": { + "modifier": "LSHIFT", + "decimal": 4 }, - "p": { - "modifier": "NONE", - "decimal": 19 - }, - "q": { - "modifier": "NONE", - "decimal": 20 - }, - "r": { - "modifier": "NONE", - "decimal": 21 - }, - "s": { - "modifier": "NONE", + "S": { + "modifier": "LSHIFT", "decimal": 22 }, - "t": { - "modifier": "NONE", - "decimal": 23 + "D": { + "modifier": "LSHIFT", + "decimal": 7 }, - "u": { - "modifier": "NONE", - "decimal": 24 + "F": { + "modifier": "LSHIFT", + "decimal": 9 }, - "v": { - "modifier": "NONE", - "decimal": 25 + "G": { + "modifier": "LSHIFT", + "decimal": 10 }, - "w": { - "modifier": "NONE", - "decimal": 26 + "H": { + "modifier": "LSHIFT", + "decimal": 11 }, - "x": { - "modifier": "NONE", - "decimal": 27 + "J": { + "modifier": "LSHIFT", + "decimal": 13 }, - "y": { - "modifier": "NONE", - "decimal": 28 + "K": { + "modifier": "LSHIFT", + "decimal": 14 + }, + "L": { + "modifier": "LSHIFT", + "decimal": 15 + }, + ":": { + "modifier": "LSHIFT", + "decimal": 51 + }, + "\"": { + "modifier": "LSHIFT", + "decimal": 52 }, "z": { "modifier": "NONE", "decimal": 29 }, - "{": { + "x": { + "modifier": "NONE", + "decimal": 27 + }, + "c": { + "modifier": "NONE", + "decimal": 6 + }, + "v": { + "modifier": "NONE", + "decimal": 25 + }, + "b": { + "modifier": "NONE", + "decimal": 5 + }, + "n": { + "modifier": "NONE", + "decimal": 17 + }, + "m": { + "modifier": "NONE", + "decimal": 16 + }, + ",": { + "modifier": "NONE", + "decimal": 54 + }, + ".": { + "modifier": "NONE", + "decimal": 55 + }, + "/": { + "modifier": "NONE", + "decimal": 56 + }, + "Z": { "modifier": "LSHIFT", - "decimal": 47 + "decimal": 29 + }, + "X": { + "modifier": "LSHIFT", + "decimal": 27 + }, + "C": { + "modifier": "LSHIFT", + "decimal": 6 + }, + "V": { + "modifier": "LSHIFT", + "decimal": 25 + }, + "B": { + "modifier": "LSHIFT", + "decimal": 5 + }, + "N": { + "modifier": "LSHIFT", + "decimal": 17 + }, + "M": { + "modifier": "LSHIFT", + "decimal": 16 + }, + "<": { + "modifier": "LSHIFT", + "decimal": 54 + }, + ">": { + "modifier": "LSHIFT", + "decimal": 55 + }, + "?": { + "modifier": "LSHIFT", + "decimal": 56 + }, + "\\": { + "modifier": "NONE", + "decimal": 49 }, "|": { "modifier": "LSHIFT", "decimal": 49 }, - "}": { - "modifier": "LSHIFT", - "decimal": 48 + "`": { + "modifier": "NONE", + "decimal": 53 }, "~": { "modifier": "LSHIFT", diff --git a/hid/tengwar-f.json b/hid/tengwar-f.json new file mode 100644 index 0000000..f5ab816 --- /dev/null +++ b/hid/tengwar-f.json @@ -0,0 +1,310 @@ +{ + "": { + "modifier": "NONE", + "decimal": 30 + }, + "": { + "modifier": "NONE", + "decimal": 31 + }, + "": { + "modifier": "NONE", + "decimal": 32 + }, + "": { + "modifier": "NONE", + "decimal": 33 + }, + "": { + "modifier": "NONE", + "decimal": 34 + }, + "": { + "modifier": "NONE", + "decimal": 35 + }, + "": { + "modifier": "NONE", + "decimal": 36 + }, + "": { + "modifier": "NONE", + "decimal": 37 + }, + "": { + "modifier": "NONE", + "decimal": 38 + }, + "": { + "modifier": "NONE", + "decimal": 39 + }, + "": { + "modifier": "NONE", + "decimal": 45 + }, + "": { + "modifier": "NONE", + "decimal": 46 + }, + "": { + "modifier": "LSHIFT", + "decimal": 30 + }, + "": { + "modifier": "LSHIFT", + "decimal": 31 + }, + "": { + "modifier": "LSHIFT", + "decimal": 32 + }, + "": { + "modifier": "LSHIFT", + "decimal": 33 + }, + "": { + "modifier": "LSHIFT", + "decimal": 34 + }, + "": { + "modifier": "LSHIFT", + "decimal": 35 + }, + "": { + "modifier": "LSHIFT", + "decimal": 36 + }, + "*": { + "modifier": "LSHIFT", + "decimal": 37 + }, + "(": { + "modifier": "LSHIFT", + "decimal": 38 + }, + ")": { + "modifier": "LSHIFT", + "decimal": 39 + }, + "": { + "modifier": "LSHIFT", + "decimal": 45 + }, + "": { + "modifier": "LSHIFT", + "decimal": 46 + }, + "": { + "modifier": "NONE", + "decimal": 20 + }, + "": { + "modifier": "NONE", + "decimal": 26 + }, + "": { + "modifier": "NONE", + "decimal": 8 + }, + "": { + "modifier": "NONE", + "decimal": 21 + }, + "": { + "modifier": "NONE", + "decimal": 23 + }, + "": { + "modifier": "NONE", + "decimal": 28 + }, + "": { + "modifier": "NONE", + "decimal": 24 + }, + "": { + "modifier": "NONE", + "decimal": 12 + }, + "": { + "modifier": "NONE", + "decimal": 18 + }, + "": { + "modifier": "NONE", + "decimal": 19 + }, + "": { + "modifier": "NONE", + "decimal": 47 + }, + "": { + "modifier": "NONE", + "decimal": 48 + }, + "": { + "modifier": "LSHIFT", + "decimal": 20 + }, + "": { + "modifier": "LSHIFT", + "decimal": 26 + }, + "": { + "modifier": "LSHIFT", + "decimal": 8 + }, + "": { + "modifier": "LSHIFT", + "decimal": 21 + }, + "": { + "modifier": "LSHIFT", + "decimal": 23 + }, + "": { + "modifier": "LSHIFT", + "decimal": 28 + }, + "": { + "modifier": "LSHIFT", + "decimal": 24 + }, + "I": { + "modifier": "LSHIFT", + "decimal": 12 + }, + "": { + "modifier": "LSHIFT", + "decimal": 18 + }, + "": { + "modifier": "NONE", + "decimal": 4 + }, + "": { + "modifier": "NONE", + "decimal": 22 + }, + "": { + "modifier": "NONE", + "decimal": 7 + }, + "": { + "modifier": "NONE", + "decimal": 9 + }, + "": { + "modifier": "NONE", + "decimal": 10 + }, + "": { + "modifier": "NONE", + "decimal": 11 + }, + "": { + "modifier": "NONE", + "decimal": 13 + }, + "": { + "modifier": "NONE", + "decimal": 14 + }, + "": { + "modifier": "NONE", + "decimal": 15 + }, + "": { + "modifier": "NONE", + "decimal": 51 + }, + "": { + "modifier": "NONE", + "decimal": 52 + }, + "": { + "modifier": "LSHIFT", + "decimal": 4 + }, + "": { + "modifier": "LSHIFT", + "decimal": 22 + }, + "": { + "modifier": "LSHIFT", + "decimal": 15 + }, + "": { + "modifier": "NONE", + "decimal": 29 + }, + "": { + "modifier": "NONE", + "decimal": 27 + }, + "": { + "modifier": "NONE", + "decimal": 6 + }, + "": { + "modifier": "NONE", + "decimal": 25 + }, + "": { + "modifier": "NONE", + "decimal": 5 + }, + "": { + "modifier": "NONE", + "decimal": 17 + }, + "": { + "modifier": "NONE", + "decimal": 16 + }, + "": { + "modifier": "NONE", + "decimal": 54 + }, + "": { + "modifier": "NONE", + "decimal": 55 + }, + "": { + "modifier": "LSHIFT", + "decimal": 29 + }, + "": { + "modifier": "LSHIFT", + "decimal": 27 + }, + "": { + "modifier": "LSHIFT", + "decimal": 55 + }, + "": { + "modifier": "NONE", + "decimal": 49 + }, + "": { + "modifier": "NONE", + "decimal": 53 + }, + "": { + "modifier": "LSHIFT", + "decimal": 53 + }, + "\t": { + "modifier": "NONE", + "decimal": 43 + }, + "\n": { + "modifier": "NONE", + "decimal": 40 + }, + " ": { + "modifier": "NONE", + "decimal": 44 + } +} diff --git a/hid/tengwar-u.json b/hid/tengwar-u.json new file mode 100644 index 0000000..c5e82e9 --- /dev/null +++ b/hid/tengwar-u.json @@ -0,0 +1,378 @@ +{ + "": { + "modifier": "NONE", + "decimal": 30 + }, + "": { + "modifier": "NONE", + "decimal": 31 + }, + "": { + "modifier": "NONE", + "decimal": 32 + }, + "": { + "modifier": "NONE", + "decimal": 33 + }, + "": { + "modifier": "NONE", + "decimal": 34 + }, + "": { + "modifier": "NONE", + "decimal": 35 + }, + "": { + "modifier": "NONE", + "decimal": 36 + }, + "": { + "modifier": "NONE", + "decimal": 37 + }, + "": { + "modifier": "NONE", + "decimal": 38 + }, + "": { + "modifier": "NONE", + "decimal": 39 + }, + "": { + "modifier": "NONE", + "decimal": 45 + }, + "": { + "modifier": "NONE", + "decimal": 46 + }, + "": { + "modifier": "LSHIFT", + "decimal": 30 + }, + "": { + "modifier": "RALT", + "decimal": 31 + }, + "": { + "modifier": "LSHIFT", + "decimal": 32 + }, + "": { + "modifier": "LSHIFT", + "decimal": 35 + }, + "⁊": { + "modifier": "LSHIFT", + "decimal": 36 + }, + "⸭": { + "modifier": "LSHIFT", + "decimal": 37 + }, + "": { + "modifier": "LSHIFT", + "decimal": 38 + }, + "": { + "modifier": "LSHIFT", + "decimal": 39 + }, + "": { + "modifier": "LSHIFT", + "decimal": 46 + }, + "‍": { + "modifier": "LSHIFT", + "decimal": 45 + }, + "": { + "modifier": "NONE", + "decimal": 20 + }, + "": { + "modifier": "NONE", + "decimal": 26 + }, + "": { + "modifier": "NONE", + "decimal": 8 + }, + "": { + "modifier": "NONE", + "decimal": 21 + }, + "": { + "modifier": "NONE", + "decimal": 23 + }, + "": { + "modifier": "NONE", + "decimal": 28 + }, + "": { + "modifier": "NONE", + "decimal": 24 + }, + "": { + "modifier": "NONE", + "decimal": 12 + }, + "": { + "modifier": "NONE", + "decimal": 18 + }, + "": { + "modifier": "NONE", + "decimal": 19 + }, + "": { + "modifier": "NONE", + "decimal": 47 + }, + "": { + "modifier": "NONE", + "decimal": 48 + }, + "": { + "modifier": "LSHIFT", + "decimal": 20 + }, + "": { + "modifier": "LSHIFT", + "decimal": 26 + }, + "": { + "modifier": "LSHIFT", + "decimal": 8 + }, + "": { + "modifier": "LSHIFT", + "decimal": 21 + }, + "": { + "modifier": "LSHIFT", + "decimal": 23 + }, + "": { + "modifier": "LSHIFT", + "decimal": 28 + }, + "": { + "modifier": "LSHIFT", + "decimal": 24 + }, + "": { + "modifier": "LSHIFT", + "decimal": 12 + }, + "": { + "modifier": "LSHIFT", + "decimal": 18 + }, + "": { + "modifier": "LSHIFT", + "decimal": 19 + }, + "“": { + "modifier": "RALT", + "decimal": 47 + }, + "‘": { + "modifier": "RALT", + "decimal": 48 + }, + "": { + "modifier": "NONE", + "decimal": 4 + }, + "": { + "modifier": "NONE", + "decimal": 22 + }, + "": { + "modifier": "NONE", + "decimal": 7 + }, + "": { + "modifier": "NONE", + "decimal": 9 + }, + "": { + "modifier": "NONE", + "decimal": 10 + }, + "": { + "modifier": "NONE", + "decimal": 11 + }, + "": { + "modifier": "NONE", + "decimal": 13 + }, + "": { + "modifier": "NONE", + "decimal": 14 + }, + "": { + "modifier": "NONE", + "decimal": 15 + }, + "჻": { + "modifier": "NONE", + "decimal": 51 + }, + "": { + "modifier": "NONE", + "decimal": 52 + }, + "": { + "modifier": "LSHIFT", + "decimal": 4 + }, + "": { + "modifier": "LSHIFT", + "decimal": 22 + }, + "": { + "modifier": "LSHIFT", + "decimal": 7 + }, + "": { + "modifier": "LSHIFT", + "decimal": 9 + }, + "": { + "modifier": "LSHIFT", + "decimal": 10 + }, + "": { + "modifier": "LSHIFT", + "decimal": 11 + }, + "": { + "modifier": "LSHIFT", + "decimal": 13 + }, + "": { + "modifier": "LSHIFT", + "decimal": 14 + }, + "": { + "modifier": "LSHIFT", + "decimal": 15 + }, + "⁝": { + "modifier": "LSHIFT", + "decimal": 51 + }, + "’": { + "modifier": "RALT", + "decimal": 52 + }, + "": { + "modifier": "NONE", + "decimal": 29 + }, + "": { + "modifier": "NONE", + "decimal": 27 + }, + "": { + "modifier": "NONE", + "decimal": 6 + }, + "": { + "modifier": "NONE", + "decimal": 25 + }, + "": { + "modifier": "NONE", + "decimal": 5 + }, + "": { + "modifier": "NONE", + "decimal": 17 + }, + "": { + "modifier": "NONE", + "decimal": 16 + }, + "⸱": { + "modifier": "NONE", + "decimal": 54 + }, + "⁘": { + "modifier": "NONE", + "decimal": 55 + }, + "": { + "modifier": "NONE", + "decimal": 56 + }, + "": { + "modifier": "LSHIFT", + "decimal": 29 + }, + "": { + "modifier": "LSHIFT", + "decimal": 27 + }, + "": { + "modifier": "LSHIFT", + "decimal": 6 + }, + "": { + "modifier": "LSHIFT", + "decimal": 25 + }, + "": { + "modifier": "LSHIFT", + "decimal": 5 + }, + "": { + "modifier": "LSHIFT", + "decimal": 17 + }, + "": { + "modifier": "LSHIFT", + "decimal": 16 + }, + ":": { + "modifier": "LSHIFT", + "decimal": 54 + }, + "⸬": { + "modifier": "LSHIFT", + "decimal": 55 + }, + "": { + "modifier": "LSHIFT", + "decimal": 56 + }, + "": { + "modifier": "NONE", + "decimal": 49 + }, + "": { + "modifier": "LSHIFT", + "decimal": 49 + }, + "": { + "modifier": "NONE", + "decimal": 53 + }, + "\t": { + "modifier": "NONE", + "decimal": 43 + }, + "\n": { + "modifier": "NONE", + "decimal": 40 + }, + " ": { + "modifier": "NONE", + "decimal": 44 + } +} diff --git a/main.go b/main.go index bfa10f8..7080d1e 100644 --- a/main.go +++ b/main.go @@ -46,16 +46,25 @@ func Hold(press [8]byte, file io.Writer) { binary.Write(file, binary.BigEndian, press[:]) } -func changeKeymap(r rune, keys map[string]Keys, args Args, hidg0 *os.File, currentKeyMap *int) { - //fmt.Println(*currentKeyMap) - //fmt.Println(args) - kmap := args.ORDER[(*currentKeyMap)] +func keymapto0(args Args, hidg0 *os.File, currentKeyMap *int) { - for keys[kmap][string(r)].Decimal == 0 { - Press([8]byte{LCTRL, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00}, hidg0) - *currentKeyMap++ - if *currentKeyMap == len(keys) { - fmt.Println("key not in keymap: " + string(r)) + for i := 0; i <= len(args.ORDER)-(*currentKeyMap+1); i++ { + Press([8]byte{LALT, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00}, hidg0) + } +} + +func changeKeymap(r rune, keys map[string]Keys, args Args, hidg0 *os.File, currentKeyMap *int) { + for i := 0; i < len(args.ORDER); i++ { + if keys[args.ORDER[(*currentKeyMap)]][string(r)].Decimal == 0 { + Press([8]byte{LALT, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00}, hidg0) + if *currentKeyMap == len(args.ORDER)-1 { + *currentKeyMap = 0 + } else { + *currentKeyMap++ + } + if i == len(args.ORDER)-1 { + fmt.Println("key not in keymap: " + string(r)) + } } } } @@ -161,6 +170,7 @@ func main() { Press([8]byte{flag, 0, report[0], report[1], report[2], report[3], report[4], report[5]}, hidg0) } + keymapto0(args, hidg0, ¤tKeyMap) fmt.Println("Success!") hidg0.Close()