From 3c8efddb74324c6d01b6d48701e936645f3f51a3 Mon Sep 17 00:00:00 2001 From: vcaesar Date: Sun, 7 Nov 2021 16:24:54 -0400 Subject: [PATCH] add KeyTap() special key support --- keycode.go | 35 ++++++++++++++++++++++++++++++++--- robotgo.go | 7 +++++++ 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/keycode.go b/keycode.go index 4ec2d3b..acc90be 100644 --- a/keycode.go +++ b/keycode.go @@ -38,6 +38,7 @@ var Keycode = uMap{ "0": 11, "-": 12, "=": 13, + // "_": 12, "+": 13, // @@ -53,10 +54,11 @@ var Keycode = uMap{ "p": 25, "[": 26, "]": 27, - "{": 26, - "}": 27, "\\": 43, - "|": 43, + // + "{": 26, + "}": 27, + "|": 43, // "a": 30, "s": 31, @@ -69,6 +71,7 @@ var Keycode = uMap{ "l": 38, ";": 39, "'": 40, + // ":": 39, `"`: 40, // @@ -82,6 +85,7 @@ var Keycode = uMap{ ",": 51, ".": 52, "/": 53, + // "<": 51, ">": 52, "?": 53, @@ -120,3 +124,28 @@ var Keycode = uMap{ "left": 57419, "right": 57421, } + +// Special is the special key map +var Special = map[string]string{ + "~": "`", + "!": "1", + "@": "2", + "#": "3", + "$": "4", + "%": "5", + "^": "6", + "&": "7", + "*": "8", + "(": "9", + ")": "0", + "_": "-", + "+": "=", + "{": "[", + "}": "]", + "|": "\\", + ":": ";", + `"`: "'", + "<": ",", + ">": ".", + "?": "/", +} diff --git a/robotgo.go b/robotgo.go index 22387cb..6d649b4 100644 --- a/robotgo.go +++ b/robotgo.go @@ -659,6 +659,13 @@ func KeyTap(tapKey string, args ...interface{}) string { keyDelay = 10 ) + if _, ok := Special[tapKey]; ok { + tapKey = Special[tapKey] + if len(args) <= 0 { + args = append(args, "shift") + } + } + // var ckeyArr []*C.char ckeyArr := make([](*C.char), 0) // zkey := C.CString(args[0])