Optimize key code and add more examples code

This commit is contained in:
vcaesar 2022-02-18 10:21:31 -08:00
parent 60ddc20e02
commit 0dcc87c355
4 changed files with 29 additions and 10 deletions

View File

@ -199,7 +199,7 @@ import (
func main() {
robotgo.TypeStr("Hello World")
robotgo.TypeStr("だんしゃり", 1)
robotgo.TypeStr("だんしゃり", 0, 1)
// robotgo.TypeStr("テストする")
robotgo.TypeStr("Hi galaxy. こんにちは世界.")
@ -448,6 +448,12 @@ func main() {
fmt.Println("pids... ", fpid)
if len(fpid) > 0 {
robotgo.TypeStr("Hi galaxy!", int(fpid[0]))
robotgo.KeyTap("a", fpid[0], "cmd")
robotgo.KeyToggle("a", fpid[0])
robotgo.KeyToggle("a", fpid[0], "up")
robotgo.ActivePID(fpid[0])
robotgo.Kill(fpid[0])

View File

@ -19,7 +19,7 @@ import (
func typeStr() {
// importing "Hello World"
robotgo.TypeStr("Hello World!", 1)
robotgo.TypeStr("Hello World!", 0, 1)
robotgo.KeySleep = 100
robotgo.TypeStr("だんしゃり")

View File

@ -54,6 +54,14 @@ func findIds() {
return
}
if len(fpid) > 0 {
robotgo.KeyTap("a", fpid[0])
robotgo.TypeStr("Hi galaxy!", int(fpid[0]))
robotgo.KeyToggle("a", fpid[0], "cmd")
robotgo.KeyToggle("a", fpid[0], "cmd", "up")
}
fmt.Println("pids...", fpid)
if len(fpid) > 0 {
err = robotgo.ActivePID(fpid[0])

21
key.go
View File

@ -323,7 +323,7 @@ var keyNames = map[string]C.MMKeyCode{
func tapKeyCode(code C.MMKeyCode, flags C.MMKeyFlags, pid C.int32_t) {
C.toggleKeyCode(code, true, flags, pid)
MilliSleep(5)
MilliSleep(3)
C.toggleKeyCode(code, false, flags, pid)
}
@ -407,12 +407,20 @@ func keyTaps(k string, keyArr []string, pid int) error {
}
func keyToggles(k string, keyArr []string, pid int) error {
if len(keyArr) <= 0 {
keyArr = append(keyArr, "down")
}
down := true
if keyArr[0] == "up" {
down = false
}
flags := getFlagsFromValue(keyArr[1:])
if keyArr[0] == "up" || keyArr[0] == "down" {
keyArr = keyArr[1:]
}
flags := getFlagsFromValue(keyArr)
key, err := checkKeyCodes(k)
if err != nil {
return err
@ -516,9 +524,6 @@ func KeyTap(key string, args ...interface{}) error {
// robotgo.KeyToggle("a", "up", "alt", "cmd")
//
func KeyToggle(key string, args ...interface{}) error {
if len(args) <= 0 {
args = append(args, "down")
}
if len(key) > 0 && unicode.IsUpper([]rune(key)[0]) {
args = append(args, "shift")
@ -633,16 +638,16 @@ func inputUTF(str string) {
// robotgo.TypeStr(string: "The string to send", int: pid, "milli_sleep time", "x11 option")
//
// Examples:
// robotgo.TypeStr("abc@123, hi galaxy, こんにちは")
// robotgo.TypeStr("abc@123, Hi galaxy, こんにちは")
//
func TypeStr(str string, args ...int) {
var tm, tm1 = 0, 7
if len(args) > 1 {
tm = args[0]
tm = args[1]
}
if len(args) > 2 {
tm1 = args[1]
tm1 = args[2]
}
pid := 0
if len(args) > 0 {