diff --git a/robotgo.go b/robotgo.go index 1efc199..99d055e 100644 --- a/robotgo.go +++ b/robotgo.go @@ -540,6 +540,18 @@ func KeyTap(tapKey string, args ...interface{}) string { // var ckeyArr []*C.char ckeyArr := make([](*C.char), 0) + if len(args) > 2 { + num = len(args) + for i := 0; i < num; i++ { + s := args[i].(string) + ckeyArr = append(ckeyArr, (*C.char)(unsafe.Pointer(C.CString(s)))) + } + + str := C.key_Taps(zkey, (**C.char)(unsafe.Pointer(&ckeyArr[0])), + C.int(num), 0) + return C.GoString(str) + } + if len(args) > 0 { if reflect.TypeOf(args[0]) == reflect.TypeOf(keyArr) { @@ -581,18 +593,6 @@ func KeyTap(tapKey string, args ...interface{}) string { return C.GoString(str) } - if len(args) > 2 { - num = len(args) - for i := 0; i < num; i++ { - s := args[i].(string) - ckeyArr = append(ckeyArr, (*C.char)(unsafe.Pointer(C.CString(s)))) - } - - str := C.key_Taps(zkey, (**C.char)(unsafe.Pointer(&ckeyArr[0])), - C.int(num), 0) - return C.GoString(str) - } - amod := C.CString(akey) amodt := C.CString(keyT)