From 20488d2be8ffa833448c199cecf028f848df9a4f Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Fri, 24 Mar 2023 13:37:53 -0600 Subject: [PATCH] no wait shift means sideaffecting --- src/device/output/key.go | 73 +++++++++++++++++++++++++++++++++++ src/device/output/keyboard.go | 4 +- 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 src/device/output/key.go diff --git a/src/device/output/key.go b/src/device/output/key.go new file mode 100644 index 0000000..6d54230 --- /dev/null +++ b/src/device/output/key.go @@ -0,0 +1,73 @@ +package output + +import ( + "mayhem-party/src/device/output/key" + + "github.com/micmonay/keybd_event" +) + +var keyKeyToKeyBD = map[key.Key][]int{ + key.A: []int{keybd_event.VK_A}, + key.B: []int{keybd_event.VK_B}, + key.C: []int{keybd_event.VK_C}, + key.D: []int{keybd_event.VK_D}, + key.E: []int{keybd_event.VK_E}, + key.F: []int{keybd_event.VK_F}, + key.G: []int{keybd_event.VK_G}, + key.H: []int{keybd_event.VK_H}, + key.I: []int{keybd_event.VK_I}, + key.J: []int{keybd_event.VK_J}, + key.K: []int{keybd_event.VK_K}, + key.L: []int{keybd_event.VK_L}, + key.M: []int{keybd_event.VK_M}, + key.N: []int{keybd_event.VK_N}, + key.O: []int{keybd_event.VK_O}, + key.P: []int{keybd_event.VK_P}, + key.Q: []int{keybd_event.VK_Q}, + key.R: []int{keybd_event.VK_R}, + key.S: []int{keybd_event.VK_S}, + key.T: []int{keybd_event.VK_T}, + key.U: []int{keybd_event.VK_U}, + key.V: []int{keybd_event.VK_V}, + key.W: []int{keybd_event.VK_W}, + key.X: []int{keybd_event.VK_X}, + key.Y: []int{keybd_event.VK_Y}, + key.Z: []int{keybd_event.VK_Z}, + key.AUpper: []int{keybd_event.VK_A}, + key.BUpper: []int{keybd_event.VK_B}, + key.CUpper: []int{keybd_event.VK_C}, + key.DUpper: []int{keybd_event.VK_D}, + key.EUpper: []int{keybd_event.VK_E}, + key.FUpper: []int{keybd_event.VK_F}, + key.GUpper: []int{keybd_event.VK_G}, + key.HUpper: []int{keybd_event.VK_H}, + key.IUpper: []int{keybd_event.VK_I}, + key.JUpper: []int{keybd_event.VK_J}, + key.KUpper: []int{keybd_event.VK_K}, + key.LUpper: []int{keybd_event.VK_L}, + key.MUpper: []int{keybd_event.VK_M}, + key.NUpper: []int{keybd_event.VK_N}, + key.OUpper: []int{keybd_event.VK_O}, + key.PUpper: []int{keybd_event.VK_P}, + key.QUpper: []int{keybd_event.VK_Q}, + key.RUpper: []int{keybd_event.VK_R}, + key.SUpper: []int{keybd_event.VK_S}, + key.TUpper: []int{keybd_event.VK_T}, + key.UUpper: []int{keybd_event.VK_U}, + key.VUpper: []int{keybd_event.VK_V}, + key.WUpper: []int{keybd_event.VK_W}, + key.XUpper: []int{keybd_event.VK_X}, + key.YUpper: []int{keybd_event.VK_Y}, + key.ZUpper: []int{keybd_event.VK_Z}, + key.N1: []int{keybd_event.VK_1}, + key.N1: []int{keybd_event.VK_1}, + key.N2: []int{keybd_event.VK_2}, + key.N3: []int{keybd_event.VK_3}, + key.N4: []int{keybd_event.VK_4}, + key.N5: []int{keybd_event.VK_5}, + key.N6: []int{keybd_event.VK_6}, + key.N7: []int{keybd_event.VK_7}, + key.N8: []int{keybd_event.VK_8}, + key.N9: []int{keybd_event.VK_9}, + key.N0: []int{keybd_event.VK_0}, +} diff --git a/src/device/output/keyboard.go b/src/device/output/keyboard.go index 19c866d..f94007b 100644 --- a/src/device/output/keyboard.go +++ b/src/device/output/keyboard.go @@ -38,9 +38,9 @@ func (kb Keyboard) Press(keys ...key.Key) { return } - ints := make([]int, len(keys)) + ints := make([]int, 0, len(keys)) for i := range keys { - ints[i] = int(keys[i]) + ints = append(ints, keyKeyToKeyBD[keys[i]]...) } kb.kb.SetKeys(ints...)