mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-06-01 14:43:55 +00:00
Update keybox
This commit is contained in:
parent
8307d13a06
commit
5da5d4363e
@ -13,7 +13,7 @@ This is a work in progress.
|
|||||||
|
|
||||||
###Requirements:
|
###Requirements:
|
||||||
|
|
||||||
####ALL
|
####ALL:
|
||||||
Golang
|
Golang
|
||||||
|
|
||||||
####For Mac OS X:
|
####For Mac OS X:
|
||||||
|
19
key/goKey.h
19
key/goKey.h
@ -163,7 +163,7 @@ int CheckKeyFlags(char* f, MMKeyFlags* flags)
|
|||||||
// return GetFlagsFromString(value, flags);
|
// return GetFlagsFromString(value, flags);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
int akeyTap(char *k){
|
char* akeyTap(char *k,char *aval){
|
||||||
MMKeyFlags flags = (MMKeyFlags) MOD_NONE;
|
MMKeyFlags flags = (MMKeyFlags) MOD_NONE;
|
||||||
// MMKeyFlags flags = 0;
|
// MMKeyFlags flags = 0;
|
||||||
MMKeyCode key;
|
MMKeyCode key;
|
||||||
@ -171,19 +171,30 @@ int akeyTap(char *k){
|
|||||||
// char *k;
|
// char *k;
|
||||||
// k = *kstr;
|
// k = *kstr;
|
||||||
|
|
||||||
|
if (strcmp(aval, "null") != 0){
|
||||||
|
switch (CheckKeyFlags(aval,&flags)){
|
||||||
|
case -1:
|
||||||
|
return "Null pointer in key flag.";
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
return "Invalid key flag specified.";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch(CheckKeyCodes(k, &key)){
|
switch(CheckKeyCodes(k, &key)){
|
||||||
case -1:
|
case -1:
|
||||||
return 1;
|
return "Null pointer in key code.";
|
||||||
break;
|
break;
|
||||||
case -2:
|
case -2:
|
||||||
return 1;
|
return "Invalid key code specified.";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
tapKeyCode(key, flags);
|
tapKeyCode(key, flags);
|
||||||
microsleep(keyboardDelay);
|
microsleep(keyboardDelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return "0";
|
||||||
}
|
}
|
||||||
|
|
||||||
char* akeyToggle(char *k,char *d){
|
char* akeyToggle(char *k,char *d){
|
||||||
|
48
robotgo.go
48
robotgo.go
@ -80,18 +80,46 @@ func ScrollMouse(x C.int, y string) {
|
|||||||
|_|\_\___|\__, |_.__/ \___/ \__,_|_| \__,_|
|
|_|\_\___|\__, |_.__/ \___/ \__,_|_| \__,_|
|
||||||
|___/
|
|___/
|
||||||
*/
|
*/
|
||||||
|
func Try(fun func(), handler func(interface{})) {
|
||||||
func KeyTap(x string) {
|
defer func() {
|
||||||
z := C.CString(x)
|
if err := recover(); err != nil {
|
||||||
// Println("----")
|
handler(err)
|
||||||
C.akeyTap(z)
|
}
|
||||||
|
}()
|
||||||
|
fun()
|
||||||
}
|
}
|
||||||
|
|
||||||
func KeyToggle(x string, y string) {
|
func KeyTap(args ...string) {
|
||||||
cx := C.CString(x)
|
var apara string
|
||||||
cy := C.CString(y)
|
Try(func() {
|
||||||
str := C.akeyToggle(cx, cy)
|
apara = args[1]
|
||||||
Println(str)
|
}, func(e interface{}) {
|
||||||
|
// Println("err:::", e)
|
||||||
|
apara = "null"
|
||||||
|
})
|
||||||
|
|
||||||
|
zkey := C.CString(args[0])
|
||||||
|
amod := C.CString(apara)
|
||||||
|
defer func() {
|
||||||
|
C.akeyTap(zkey, amod)
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
func KeyToggle(args ...string) {
|
||||||
|
var apara string
|
||||||
|
Try(func() {
|
||||||
|
apara = args[1]
|
||||||
|
}, func(e interface{}) {
|
||||||
|
// Println("err:::", e)
|
||||||
|
apara = "null"
|
||||||
|
})
|
||||||
|
|
||||||
|
zkey := C.CString(args[0])
|
||||||
|
amod := C.CString(apara)
|
||||||
|
defer func() {
|
||||||
|
str := C.akeyToggle(zkey, amod)
|
||||||
|
Println(str)
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TypeString(x string) {
|
func TypeString(x string) {
|
||||||
|
Loading…
Reference in New Issue
Block a user