Update keybox

This commit is contained in:
vCaesar 2016-10-08 15:11:16 +08:00
parent 8307d13a06
commit 5da5d4363e
3 changed files with 54 additions and 15 deletions

View File

@ -13,7 +13,7 @@ This is a work in progress.
###Requirements: ###Requirements:
####ALL ####ALL:
Golang Golang
####For Mac OS X: ####For Mac OS X:

View File

@ -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){

View File

@ -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) {