mirror of
https://github.com/RoganDawes/P4wnP1_aloa.git
synced 2025-04-12 14:09:02 +02:00
Added EN-US layout (included in common layout, too), renamed HID controller methods
This commit is contained in:
parent
8db6b0d179
commit
c683dd95b9
@ -161,7 +161,7 @@ func (ctl *HIDController) RunScript(script string) (val otto.Value, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (ctl *HIDController) RunScriptAsync(script string) (avmId int, avm *AsyncOttoVM, err error) {
|
||||
func (ctl *HIDController) StartScriptAsBackgroundJob(script string) (avmId int, avm *AsyncOttoVM, err error) {
|
||||
//fetch next free vm from pool
|
||||
avmId,avm,err = ctl.NextUnusedVM()
|
||||
if err != nil { return 0, nil, err }
|
||||
@ -172,21 +172,21 @@ func (ctl *HIDController) RunScriptAsync(script string) (avmId int, avm *AsyncOt
|
||||
return
|
||||
}
|
||||
|
||||
func (ctl *HIDController) CancelAsyncScript(avmId int) (err error) {
|
||||
if avmId < 0 || avmId >= MAX_VM {
|
||||
func (ctl *HIDController) CancelBackgroundJob(jobId int) (err error) {
|
||||
if jobId < 0 || jobId >= MAX_VM {
|
||||
return errors.New("Invalid Id for AsyncOttoVM")
|
||||
}
|
||||
return ctl.vmPool[avmId].Cancel()
|
||||
return ctl.vmPool[jobId].Cancel()
|
||||
}
|
||||
|
||||
func (ctl *HIDController) WaitAsyncScriptResult(avmId int) (otto.Value, error) {
|
||||
func (ctl *HIDController) WaitBackgroundJobResult(avmId int) (otto.Value, error) {
|
||||
if avmId < 0 || avmId >= MAX_VM {
|
||||
return otto.Value{}, errors.New("Invalid Id for AsyncOttoVM")
|
||||
}
|
||||
return ctl.vmPool[avmId].WaitResult()
|
||||
}
|
||||
|
||||
func (ctl *HIDController) CurrentlyWorkingVmIDs() (res []int) {
|
||||
func (ctl *HIDController) GetRunningBackgroundJobs() (res []int) {
|
||||
res = make([]int,0)
|
||||
for i := 0; i< MAX_VM; i++ {
|
||||
if ctl.vmPool[i].IsWorking() {
|
||||
@ -197,7 +197,7 @@ func (ctl *HIDController) CurrentlyWorkingVmIDs() (res []int) {
|
||||
}
|
||||
|
||||
|
||||
func (ctl *HIDController) CurrentlyWorkingVMs() (res []*AsyncOttoVM) {
|
||||
func (ctl *HIDController) currentlyWorkingVMs() (res []*AsyncOttoVM) {
|
||||
res = make([]*AsyncOttoVM,0)
|
||||
for i := 0; i< MAX_VM; i++ {
|
||||
if ctl.vmPool[i].IsWorking() {
|
||||
@ -207,7 +207,7 @@ func (ctl *HIDController) CurrentlyWorkingVMs() (res []*AsyncOttoVM) {
|
||||
return
|
||||
}
|
||||
|
||||
func (ctl *HIDController) CancelAllVMs() error {
|
||||
func (ctl *HIDController) CancelAllBackgroundJobs() error {
|
||||
for i := 0; i< MAX_VM; i++ {
|
||||
if ctl.vmPool[i].IsWorking() {
|
||||
ctl.vmPool[i].Cancel()
|
||||
|
114
keymaps/US.json
Executable file
114
keymaps/US.json
Executable file
@ -0,0 +1,114 @@
|
||||
{
|
||||
"Name": "US",
|
||||
"Description": "EN-US USB Keyboard report mapping",
|
||||
"Mapping": {
|
||||
"\t": [{"Modifiers": [], "Keys": ["KEY_TAB"]}],
|
||||
"\n": [{"Modifiers": [], "Keys": ["KEY_ENTER"]}],
|
||||
|
||||
" ": [{"Modifiers": [], "Keys": ["KEY_SPACE"]}],
|
||||
"!": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_1"]}],
|
||||
"@": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_2"]}],
|
||||
"\\": [{"Modifiers": [], "Keys": ["KEY_BACKSLASH"]}],
|
||||
"$": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_4"]}],
|
||||
"%": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_5"]}],
|
||||
"^": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_6"]}],
|
||||
"|": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_BACKSLASH"]}],
|
||||
"*": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_8"]}],
|
||||
"(": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_9"]}],
|
||||
"}": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_RIGHTBRACE"]}],
|
||||
"]": [{"Modifiers": [], "Keys": ["KEY_RIGHTBRACE"]}],
|
||||
",": [{"Modifiers": [], "Keys": ["KEY_COMMA"]}],
|
||||
"/": [{"Modifiers": [], "Keys": ["KEY_SLASH"]}],
|
||||
".": [{"Modifiers": [], "Keys": ["KEY_DOT"]}],
|
||||
"&": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_7"]}],
|
||||
|
||||
"0": [{"Modifiers": [], "Keys": ["KEY_0"]}],
|
||||
"1": [{"Modifiers": [], "Keys": ["KEY_1"]}],
|
||||
"2": [{"Modifiers": [], "Keys": ["KEY_2"]}],
|
||||
"3": [{"Modifiers": [], "Keys": ["KEY_3"]}],
|
||||
"4": [{"Modifiers": [], "Keys": ["KEY_4"]}],
|
||||
"5": [{"Modifiers": [], "Keys": ["KEY_5"]}],
|
||||
"6": [{"Modifiers": [], "Keys": ["KEY_6"]}],
|
||||
"7": [{"Modifiers": [], "Keys": ["KEY_7"]}],
|
||||
"8": [{"Modifiers": [], "Keys": ["KEY_8"]}],
|
||||
"9": [{"Modifiers": [], "Keys": ["KEY_9"]}],
|
||||
|
||||
">": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_DOT"]}],
|
||||
"<": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_COMMA"]}],
|
||||
")": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_0"]}],
|
||||
"_": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_MINUS"]}],
|
||||
"-": [{"Modifiers": [], "Keys": ["KEY_MINUS"]}],
|
||||
|
||||
"A": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_A"]}],
|
||||
"B": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_B"]}],
|
||||
"C": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_C"]}],
|
||||
"D": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_D"]}],
|
||||
"E": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_E"]}],
|
||||
"F": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_F"]}],
|
||||
"G": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_G"]}],
|
||||
"H": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_H"]}],
|
||||
"I": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_I"]}],
|
||||
"J": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_J"]}],
|
||||
"K": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_K"]}],
|
||||
"L": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_L"]}],
|
||||
"M": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_M"]}],
|
||||
"N": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_N"]}],
|
||||
"O": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_O"]}],
|
||||
"P": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_P"]}],
|
||||
"Q": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_Q"]}],
|
||||
"R": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_R"]}],
|
||||
"S": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_S"]}],
|
||||
"T": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_T"]}],
|
||||
"U": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_U"]}],
|
||||
"V": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_V"]}],
|
||||
"W": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_W"]}],
|
||||
"X": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_X"]}],
|
||||
"Z": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_Z"]}],
|
||||
"Y": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_Y"]}],
|
||||
|
||||
|
||||
"`": [{"Modifiers": [], "Keys": ["KEY_GRAVE"]}],
|
||||
"~": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_GRAVE"]}],
|
||||
"?": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_SLASH"]}],
|
||||
"+": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_EQUAL"]}],
|
||||
"=": [{"Modifiers": [], "Keys": ["KEY_EQUAL"]}],
|
||||
|
||||
"a": [{"Modifiers": [], "Keys": ["KEY_A"]}],
|
||||
"b": [{"Modifiers": [], "Keys": ["KEY_B"]}],
|
||||
"c": [{"Modifiers": [], "Keys": ["KEY_C"]}],
|
||||
"d": [{"Modifiers": [], "Keys": ["KEY_D"]}],
|
||||
"e": [{"Modifiers": [], "Keys": ["KEY_E"]}],
|
||||
"f": [{"Modifiers": [], "Keys": ["KEY_F"]}],
|
||||
"g": [{"Modifiers": [], "Keys": ["KEY_G"]}],
|
||||
"h": [{"Modifiers": [], "Keys": ["KEY_H"]}],
|
||||
"i": [{"Modifiers": [], "Keys": ["KEY_I"]}],
|
||||
"j": [{"Modifiers": [], "Keys": ["KEY_J"]}],
|
||||
"k": [{"Modifiers": [], "Keys": ["KEY_K"]}],
|
||||
"l": [{"Modifiers": [], "Keys": ["KEY_L"]}],
|
||||
"m": [{"Modifiers": [], "Keys": ["KEY_M"]}],
|
||||
"n": [{"Modifiers": [], "Keys": ["KEY_N"]}],
|
||||
"o": [{"Modifiers": [], "Keys": ["KEY_O"]}],
|
||||
"p": [{"Modifiers": [], "Keys": ["KEY_P"]}],
|
||||
"q": [{"Modifiers": [], "Keys": ["KEY_Q"]}],
|
||||
"r": [{"Modifiers": [], "Keys": ["KEY_R"]}],
|
||||
"s": [{"Modifiers": [], "Keys": ["KEY_S"]}],
|
||||
"t": [{"Modifiers": [], "Keys": ["KEY_T"]}],
|
||||
"u": [{"Modifiers": [], "Keys": ["KEY_U"]}],
|
||||
"v": [{"Modifiers": [], "Keys": ["KEY_V"]}],
|
||||
"w": [{"Modifiers": [], "Keys": ["KEY_W"]}],
|
||||
"x": [{"Modifiers": [], "Keys": ["KEY_X"]}],
|
||||
"z": [{"Modifiers": [], "Keys": ["KEY_Z"]}],
|
||||
"y": [{"Modifiers": [], "Keys": ["KEY_Y"]}],
|
||||
|
||||
|
||||
"#": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_3"]}],
|
||||
"[": [{"Modifiers": [], "Keys": ["KEY_LEFTBRACE"]}],
|
||||
"{": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_LEFTBRACE"]}],
|
||||
";": [{"Modifiers": [], "Keys": ["KEY_SEMICOLON"]}],
|
||||
":": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_SEMICOLON"]}],
|
||||
"'": [{"Modifiers": [], "Keys": ["KEY_APOSTROPHE"]}],
|
||||
"\"": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_APOSTROPHE"]}]
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -85,7 +85,117 @@
|
||||
"F21": [{"Modifiers": [], "Keys": ["KEY_F21"]}],
|
||||
"F22": [{"Modifiers": [], "Keys": ["KEY_F22"]}],
|
||||
"F23": [{"Modifiers": [], "Keys": ["KEY_F23"]}],
|
||||
"F24": [{"Modifiers": [], "Keys": ["KEY_F24"]}]
|
||||
"F24": [{"Modifiers": [], "Keys": ["KEY_F24"]}],
|
||||
|
||||
"\t": [{"Modifiers": [], "Keys": ["KEY_TAB"]}],
|
||||
"\n": [{"Modifiers": [], "Keys": ["KEY_ENTER"]}],
|
||||
|
||||
" ": [{"Modifiers": [], "Keys": ["KEY_SPACE"]}],
|
||||
"!": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_1"]}],
|
||||
"@": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_2"]}],
|
||||
"\\": [{"Modifiers": [], "Keys": ["KEY_BACKSLASH"]}],
|
||||
"$": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_4"]}],
|
||||
"%": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_5"]}],
|
||||
"^": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_6"]}],
|
||||
"|": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_BACKSLASH"]}],
|
||||
"*": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_8"]}],
|
||||
"(": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_9"]}],
|
||||
"}": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_RIGHTBRACE"]}],
|
||||
"]": [{"Modifiers": [], "Keys": ["KEY_RIGHTBRACE"]}],
|
||||
",": [{"Modifiers": [], "Keys": ["KEY_COMMA"]}],
|
||||
"/": [{"Modifiers": [], "Keys": ["KEY_SLASH"]}],
|
||||
".": [{"Modifiers": [], "Keys": ["KEY_DOT"]}],
|
||||
"&": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_7"]}],
|
||||
|
||||
"0": [{"Modifiers": [], "Keys": ["KEY_0"]}],
|
||||
"1": [{"Modifiers": [], "Keys": ["KEY_1"]}],
|
||||
"2": [{"Modifiers": [], "Keys": ["KEY_2"]}],
|
||||
"3": [{"Modifiers": [], "Keys": ["KEY_3"]}],
|
||||
"4": [{"Modifiers": [], "Keys": ["KEY_4"]}],
|
||||
"5": [{"Modifiers": [], "Keys": ["KEY_5"]}],
|
||||
"6": [{"Modifiers": [], "Keys": ["KEY_6"]}],
|
||||
"7": [{"Modifiers": [], "Keys": ["KEY_7"]}],
|
||||
"8": [{"Modifiers": [], "Keys": ["KEY_8"]}],
|
||||
"9": [{"Modifiers": [], "Keys": ["KEY_9"]}],
|
||||
|
||||
">": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_DOT"]}],
|
||||
"<": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_COMMA"]}],
|
||||
")": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_0"]}],
|
||||
"_": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_MINUS"]}],
|
||||
"-": [{"Modifiers": [], "Keys": ["KEY_MINUS"]}],
|
||||
|
||||
"A": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_A"]}],
|
||||
"B": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_B"]}],
|
||||
"C": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_C"]}],
|
||||
"D": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_D"]}],
|
||||
"E": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_E"]}],
|
||||
"F": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_F"]}],
|
||||
"G": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_G"]}],
|
||||
"H": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_H"]}],
|
||||
"I": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_I"]}],
|
||||
"J": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_J"]}],
|
||||
"K": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_K"]}],
|
||||
"L": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_L"]}],
|
||||
"M": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_M"]}],
|
||||
"N": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_N"]}],
|
||||
"O": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_O"]}],
|
||||
"P": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_P"]}],
|
||||
"Q": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_Q"]}],
|
||||
"R": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_R"]}],
|
||||
"S": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_S"]}],
|
||||
"T": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_T"]}],
|
||||
"U": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_U"]}],
|
||||
"V": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_V"]}],
|
||||
"W": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_W"]}],
|
||||
"X": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_X"]}],
|
||||
"Z": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_Z"]}],
|
||||
"Y": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_Y"]}],
|
||||
|
||||
|
||||
"`": [{"Modifiers": [], "Keys": ["KEY_GRAVE"]}],
|
||||
"~": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_GRAVE"]}],
|
||||
"?": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_SLASH"]}],
|
||||
"+": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_EQUAL"]}],
|
||||
"=": [{"Modifiers": [], "Keys": ["KEY_EQUAL"]}],
|
||||
|
||||
"a": [{"Modifiers": [], "Keys": ["KEY_A"]}],
|
||||
"b": [{"Modifiers": [], "Keys": ["KEY_B"]}],
|
||||
"c": [{"Modifiers": [], "Keys": ["KEY_C"]}],
|
||||
"d": [{"Modifiers": [], "Keys": ["KEY_D"]}],
|
||||
"e": [{"Modifiers": [], "Keys": ["KEY_E"]}],
|
||||
"f": [{"Modifiers": [], "Keys": ["KEY_F"]}],
|
||||
"g": [{"Modifiers": [], "Keys": ["KEY_G"]}],
|
||||
"h": [{"Modifiers": [], "Keys": ["KEY_H"]}],
|
||||
"i": [{"Modifiers": [], "Keys": ["KEY_I"]}],
|
||||
"j": [{"Modifiers": [], "Keys": ["KEY_J"]}],
|
||||
"k": [{"Modifiers": [], "Keys": ["KEY_K"]}],
|
||||
"l": [{"Modifiers": [], "Keys": ["KEY_L"]}],
|
||||
"m": [{"Modifiers": [], "Keys": ["KEY_M"]}],
|
||||
"n": [{"Modifiers": [], "Keys": ["KEY_N"]}],
|
||||
"o": [{"Modifiers": [], "Keys": ["KEY_O"]}],
|
||||
"p": [{"Modifiers": [], "Keys": ["KEY_P"]}],
|
||||
"q": [{"Modifiers": [], "Keys": ["KEY_Q"]}],
|
||||
"r": [{"Modifiers": [], "Keys": ["KEY_R"]}],
|
||||
"s": [{"Modifiers": [], "Keys": ["KEY_S"]}],
|
||||
"t": [{"Modifiers": [], "Keys": ["KEY_T"]}],
|
||||
"u": [{"Modifiers": [], "Keys": ["KEY_U"]}],
|
||||
"v": [{"Modifiers": [], "Keys": ["KEY_V"]}],
|
||||
"w": [{"Modifiers": [], "Keys": ["KEY_W"]}],
|
||||
"x": [{"Modifiers": [], "Keys": ["KEY_X"]}],
|
||||
"z": [{"Modifiers": [], "Keys": ["KEY_Z"]}],
|
||||
"y": [{"Modifiers": [], "Keys": ["KEY_Y"]}],
|
||||
|
||||
|
||||
|
||||
|
||||
"#": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_3"]}],
|
||||
"[": [{"Modifiers": [], "Keys": ["KEY_LEFTBRACE"]}],
|
||||
"{": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_LEFTBRACE"]}],
|
||||
";": [{"Modifiers": [], "Keys": ["KEY_SEMICOLON"]}],
|
||||
":": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_SEMICOLON"]}],
|
||||
"'": [{"Modifiers": [], "Keys": ["KEY_APOSTROPHE"]}],
|
||||
"\"": [{"Modifiers": ["MOD_LEFT_SHIFT"], "Keys": ["KEY_APOSTROPHE"]}]
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
89
testhid.go
89
testhid.go
@ -8,32 +8,13 @@ import(
|
||||
"time"
|
||||
)
|
||||
|
||||
func Test() {
|
||||
filepath := "/dev/hidg0"
|
||||
var (
|
||||
StringAscii = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
||||
StringSpecial1 = "§°üÜöÖäĵ€ß¹²³⁴⁵⁶⁷⁸⁹⁰¼½¬„“¢«»æſðđŋħĸł’¶ŧ←↓→øþ"
|
||||
|
||||
kbdRepEmpty := hid.NewKeyboardOutReport(0)
|
||||
kbdRep_a := hid.NewKeyboardOutReport(0, hid.HID_KEY_A)
|
||||
kbdRep_A := hid.NewKeyboardOutReport(hid.HID_MOD_KEY_LEFT_SHIFT, hid.HID_KEY_A)
|
||||
)
|
||||
|
||||
err := kbdRepEmpty.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
err = kbdRep_a.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
err = kbdRepEmpty.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
err = kbdRep_A.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
err = kbdRepEmpty.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
err = kbdRep_A.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
err = kbdRepEmpty.WriteTo(filepath)
|
||||
if err != nil {log.Fatal(err)}
|
||||
}
|
||||
|
||||
|
||||
func main() {
|
||||
/*
|
||||
func TestMapCreation() {
|
||||
//Define test keyboard map
|
||||
mapDeASCII := hid.HIDKeyboardLanguageMap{
|
||||
Name: "DE",
|
||||
@ -51,14 +32,14 @@ func main() {
|
||||
err := mapDeASCII.StoreToFile("/tmp/DE_ASCII.json")
|
||||
if err != nil { log.Fatal(err)}
|
||||
|
||||
/*
|
||||
testmap, err := hid.loadKeyboardLanguageMapFromFile("keymaps/DE_ASCII.json")
|
||||
if err != nil { log.Fatal(err)}
|
||||
fmt.Println(testmap)
|
||||
*/
|
||||
}
|
||||
|
||||
hidCtl, err := hid.NewHIDController("/dev/hidg0", "keymaps", "")
|
||||
if err != nil {panic(err)}
|
||||
|
||||
func TestComboPress(hidCtl *hid.HIDController) {
|
||||
testcombos := []string {"SHIFT 1", "ENTER", "ALT TAB", "ALT TABULATOR", " WIN ", "GUI "}
|
||||
for _,comboStr := range testcombos {
|
||||
fmt.Printf("Pressing combo '%s'\n", comboStr)
|
||||
@ -70,14 +51,10 @@ func main() {
|
||||
fmt.Printf("Error pressing combo '%s': %v\n", comboStr, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Printf("Chosen keyboard language mapping '%s'\n", hidCtl.Keyboard.ActiveLanguageLayout.Name)
|
||||
|
||||
|
||||
|
||||
func TestLEDTriggers(hidCtl *hid.HIDController) {
|
||||
fmt.Println("Initial sleep to test if we capture LED state changes from the past, as soon as we start waiting (needed at boot)")
|
||||
|
||||
|
||||
time.Sleep(3 * time.Second)
|
||||
|
||||
//ToDo: Test multiple waits in separate goroutines
|
||||
@ -120,19 +97,37 @@ func main() {
|
||||
} else {
|
||||
fmt.Printf("Triggered by %+v\n", trigger)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStringTyping(hidCtl *hid.HIDController) {
|
||||
fmt.Println("Typing:")
|
||||
fmt.Println(StringAscii)
|
||||
//err := hidCtl.Keyboard.StringToPressKeySequence("Test:" + StringAscii + "\t" + StringSpecial1)
|
||||
err := hidCtl.Keyboard.StringToPressKeySequence(StringAscii)
|
||||
if err != nil { fmt.Println(err)}
|
||||
}
|
||||
|
||||
func main() {
|
||||
/*
|
||||
*/
|
||||
|
||||
hidCtl, err := hid.NewHIDController("/dev/hidg0", "keymaps", "")
|
||||
if err != nil {panic(err)}
|
||||
hidCtl.Keyboard.KeyDelay = 100
|
||||
// hidCtl.Keyboard.KeyDelayJitter = 200
|
||||
// hidCtl.Keyboard.KeyDelayJitter = 200
|
||||
|
||||
fmt.Printf("Available language maps:\n%v\n",hidCtl.Keyboard.ListLanguageMapNames())
|
||||
|
||||
err = hidCtl.Keyboard.SetActiveLanguageMap("DE")
|
||||
err = hidCtl.Keyboard.SetActiveLanguageMap("US") //first loaded language map is set by default
|
||||
if err != nil { fmt.Println(err)}
|
||||
fmt.Printf("Chosen keyboard language mapping '%s'\n", hidCtl.Keyboard.ActiveLanguageLayout.Name)
|
||||
|
||||
// ascii := " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
||||
// special := "§°üÜöÖäĵ€ß¹²³⁴⁵⁶⁷⁸⁹⁰¼½¬„“¢«»æſðđŋħĸł’¶ŧ←↓→øþ"
|
||||
// err = keyboard.StringToPressKeySequence("Test:" + ascii + "\t" + special)
|
||||
if err != nil { fmt.Println(err)}
|
||||
/* tests */
|
||||
|
||||
//TestComboPress(hidCtl)
|
||||
//TestLEDTriggers(hidCtl)
|
||||
TestStringTyping(hidCtl)
|
||||
|
||||
/*
|
||||
|
||||
script := `
|
||||
for (i=0; i<10; i++) {
|
||||
@ -151,7 +146,7 @@ func main() {
|
||||
console.log("Log message from JS");
|
||||
`
|
||||
|
||||
hidCtl.RunScriptAsync(script)
|
||||
hidCtl.StartScriptAsBackgroundJob(script)
|
||||
|
||||
fmt.Println("Running script ...")
|
||||
val,err := hidCtl.RunScript(script)
|
||||
@ -174,12 +169,12 @@ func main() {
|
||||
}
|
||||
`
|
||||
|
||||
id, avm,_ := hidCtl.RunScriptAsync(script2)
|
||||
id, avm,_ := hidCtl.StartScriptAsBackgroundJob(script2)
|
||||
fmt.Printf("Satrted ASYNC VM %d ...\n", id)
|
||||
|
||||
|
||||
time.Sleep(1500 * time.Millisecond)
|
||||
id2 ,avm2, _ := hidCtl.RunScriptAsync(script3)
|
||||
id2 ,avm2, _ := hidCtl.StartScriptAsBackgroundJob(script3)
|
||||
fmt.Printf("Slept 1500 ms, started VM %d ...\n", id2)
|
||||
fmt.Printf("AsyncVM state isWorking of id %d: %v\n", id, avm.IsWorking())
|
||||
fmt.Printf("AsyncVM state isWorking of id %d: %v\n", id2, avm2.IsWorking())
|
||||
@ -188,9 +183,9 @@ func main() {
|
||||
fmt.Printf("Slept 1500 ms, cancelling VM %d and start waiting for VM %d...\n", id2, id)
|
||||
fmt.Printf("AsyncVM state isWorking of id %d: %v\n", id, avm.IsWorking())
|
||||
fmt.Printf("AsyncVM state isWorking of id %d: %v\n", id2, avm2.IsWorking())
|
||||
fmt.Printf("List of currently working VMs: %v\n", hidCtl.CurrentlyWorkingVmIDs())
|
||||
fmt.Printf("List of currently working VMs: %v\n", hidCtl.GetRunningBackgroundJobs())
|
||||
//avm2.Cancel()
|
||||
hidCtl.CancelAsyncScript(id2)
|
||||
hidCtl.CancelBackgroundJob(id2)
|
||||
|
||||
//Waiting for canceled script
|
||||
_,err = avm2.WaitResult()
|
||||
@ -205,7 +200,7 @@ func main() {
|
||||
avm2.RunAsync(script3)
|
||||
|
||||
//Cancel all
|
||||
hidCtl.CancelAllVMs()
|
||||
hidCtl.CancelAllBackgroundJobs()
|
||||
|
||||
val,err = avm.WaitResult()
|
||||
|
||||
@ -214,5 +209,5 @@ func main() {
|
||||
fmt.Printf("AsyncVM state isWorking of id %d: %v\n", id, avm.IsWorking())
|
||||
fmt.Printf("AsyncVM state isWorking of id %d: %v\n", id2, avm2.IsWorking())
|
||||
|
||||
|
||||
*/
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user