From 2d52e2c0088e8b56ec97bb04b98c6774cbb4d47f Mon Sep 17 00:00:00 2001 From: vcaesar Date: Wed, 2 Feb 2022 21:20:02 -0800 Subject: [PATCH] Add more keyUp args and SetDelay() support, add more test code --- key.go | 31 +++++++++++++++++++++---------- robotgo_test.go | 11 +++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/key.go b/key.go index 3ae063c..743e17f 100644 --- a/key.go +++ b/key.go @@ -379,9 +379,9 @@ func keyTaps(k string, keyArr []string) error { } func keyToggles(k string, keyArr []string) error { - down := false - if keyArr[0] == "down" { - down = true + down := true + if keyArr[0] == "up" { + down = false } flags := getFlagsFromValue(keyArr) @@ -494,24 +494,24 @@ func KeyToggle(key string, args ...string) error { } // KeyPress press key string -func KeyPress(key string) error { - err := KeyDown(key) +func KeyPress(key string, args ...string) error { + err := KeyDown(key, args...) if err != nil { return err } MilliSleep(1 + rand.Intn(3)) - return KeyUp(key) + return KeyUp(key, args...) } // KeyDown press down a key -func KeyDown(key string) error { - return KeyToggle(key) +func KeyDown(key string, args ...string) error { + return KeyToggle(key, args...) } // KeyUp press up a key -func KeyUp(key string) error { - return KeyToggle(key, "up") +func KeyUp(key string, args ...string) error { + return KeyToggle(key, append(args, "up")...) } // ReadAll read string from clipboard @@ -645,3 +645,14 @@ func TypeStringDelayed(str string, delay int) { tt.Drop("TypeStringDelayed", "TypeStrDelay") TypeStrDelay(str, delay) } + +// SetDelay set the key and mouse delay +func SetDelay(d ...int) { + v := 10 + if len(d) > 0 { + v = d[0] + } + + KeySleep = v + MouseSleep = v +} diff --git a/robotgo_test.go b/robotgo_test.go index d70649f..8e9e1e2 100644 --- a/robotgo_test.go +++ b/robotgo_test.go @@ -117,6 +117,14 @@ func TestKey(t *testing.T) { e = KeyToggle("v", "up") tt.Nil(t, e) + + e = KeyDown("a") + tt.Nil(t, e) + e = KeyUp("a") + tt.Nil(t, e) + + e = KeyPress("b") + tt.Nil(t, e) } func TestClip(t *testing.T) { @@ -149,6 +157,9 @@ func TestKeyCode(t *testing.T) { s := Special["+"] tt.Equal(t, "=", s) + + tt.Equal(t, "0", Key0) + tt.Equal(t, "a", KeyA) } func TestImage(t *testing.T) {