From 4c78f40f0f41b51549f1d858a5419cd8f1f6523f Mon Sep 17 00:00:00 2001 From: bel Date: Wed, 1 Mar 2023 22:35:55 -0700 Subject: [PATCH] output.Output, output.Writer --- src/device/output/keyboard.go | 9 ++++-- src/device/output/keys.go | 54 ++++++++++++++++++----------------- src/device/output/output.go | 2 +- src/device/output/writer.go | 2 +- 4 files changed, 37 insertions(+), 30 deletions(-) diff --git a/src/device/output/keyboard.go b/src/device/output/keyboard.go index 52bce77..6609768 100644 --- a/src/device/output/keyboard.go +++ b/src/device/output/keyboard.go @@ -29,7 +29,7 @@ func (kb Keyboard) wait() { } } -func (kb Keyboard) Press(keys ...int) { +func (kb Keyboard) Press(keys ...Key) { kb.wait() kb.release() @@ -37,7 +37,12 @@ func (kb Keyboard) Press(keys ...int) { return } - kb.kb.SetKeys(keys...) + ints := make([]int, len(keys)) + for i := range keys { + ints[i] = int(keys[i]) + } + + kb.kb.SetKeys(ints...) if err := kb.kb.Press(); err != nil { log.Println("failed to press keys:", err) } diff --git a/src/device/output/keys.go b/src/device/output/keys.go index 0ef7881..9f2139e 100644 --- a/src/device/output/keys.go +++ b/src/device/output/keys.go @@ -2,31 +2,33 @@ package output import "github.com/micmonay/keybd_event" +type Key int + const ( - A = keybd_event.VK_A - B = keybd_event.VK_B - C = keybd_event.VK_C - D = keybd_event.VK_D - E = keybd_event.VK_E - F = keybd_event.VK_F - G = keybd_event.VK_G - H = keybd_event.VK_H - I = keybd_event.VK_I - J = keybd_event.VK_J - K = keybd_event.VK_K - L = keybd_event.VK_L - M = keybd_event.VK_M - N = keybd_event.VK_N - O = keybd_event.VK_O - P = keybd_event.VK_P - Q = keybd_event.VK_Q - R = keybd_event.VK_R - S = keybd_event.VK_S - T = keybd_event.VK_T - U = keybd_event.VK_U - V = keybd_event.VK_V - W = keybd_event.VK_W - X = keybd_event.VK_X - Y = keybd_event.VK_Y - Z = keybd_event.VK_Z + A = Key(keybd_event.VK_A) + B = Key(keybd_event.VK_B) + C = Key(keybd_event.VK_C) + D = Key(keybd_event.VK_D) + E = Key(keybd_event.VK_E) + F = Key(keybd_event.VK_F) + G = Key(keybd_event.VK_G) + H = Key(keybd_event.VK_H) + I = Key(keybd_event.VK_I) + J = Key(keybd_event.VK_J) + K = Key(keybd_event.VK_K) + L = Key(keybd_event.VK_L) + M = Key(keybd_event.VK_M) + N = Key(keybd_event.VK_N) + O = Key(keybd_event.VK_O) + P = Key(keybd_event.VK_P) + Q = Key(keybd_event.VK_Q) + R = Key(keybd_event.VK_R) + S = Key(keybd_event.VK_S) + T = Key(keybd_event.VK_T) + U = Key(keybd_event.VK_U) + V = Key(keybd_event.VK_V) + W = Key(keybd_event.VK_W) + X = Key(keybd_event.VK_X) + Y = Key(keybd_event.VK_Y) + Z = Key(keybd_event.VK_Z) ) diff --git a/src/device/output/output.go b/src/device/output/output.go index 2093ad6..c33f66a 100644 --- a/src/device/output/output.go +++ b/src/device/output/output.go @@ -2,5 +2,5 @@ package output type Output interface { Close() - Press(...int) + Press(...Key) } diff --git a/src/device/output/writer.go b/src/device/output/writer.go index 7c9cf1d..9170ef2 100644 --- a/src/device/output/writer.go +++ b/src/device/output/writer.go @@ -19,6 +19,6 @@ func (w Writer) Close() { } } -func (w Writer) Press(keys ...int) { +func (w Writer) Press(keys ...Key) { fmt.Fprintf(w.w, "%+v\n", keys) }