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:
####ALL
####ALL:
Golang
####For Mac OS X:

View File

@ -163,7 +163,7 @@ int CheckKeyFlags(char* f, MMKeyFlags* flags)
// return GetFlagsFromString(value, flags);
// }
int akeyTap(char *k){
char* akeyTap(char *k,char *aval){
MMKeyFlags flags = (MMKeyFlags) MOD_NONE;
// MMKeyFlags flags = 0;
MMKeyCode key;
@ -171,19 +171,30 @@ int akeyTap(char *k){
// char *k;
// 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)){
case -1:
return 1;
return "Null pointer in key code.";
break;
case -2:
return 1;
return "Invalid key code specified.";
break;
default:
tapKeyCode(key, flags);
microsleep(keyboardDelay);
}
return 0;
return "0";
}
char* akeyToggle(char *k,char *d){

View File

@ -80,18 +80,46 @@ func ScrollMouse(x C.int, y string) {
|_|\_\___|\__, |_.__/ \___/ \__,_|_| \__,_|
|___/
*/
func KeyTap(x string) {
z := C.CString(x)
// Println("----")
C.akeyTap(z)
func Try(fun func(), handler func(interface{})) {
defer func() {
if err := recover(); err != nil {
handler(err)
}
}()
fun()
}
func KeyToggle(x string, y string) {
cx := C.CString(x)
cy := C.CString(y)
str := C.akeyToggle(cx, cy)
Println(str)
func KeyTap(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() {
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) {