我正在使用robotgo来监听键盘事件。我想为每个按键添加自己的功能,但是我无法让它触发超过1个按键。
所以主要功能如下:
func main() {
go addKeyListen("l")
go addKeyListen("k")
}
包装函数:
func addKeyListen(key string) {
for {
if ok := robotgo.AddEvent(key); ok {
fmt.Println("Pressed "+key)
}
}
}
按L
后,我得到的只是Pressed l
次,但我可以用一个标志来解决。按K
不打印任何内容。
尝试以下内容:
for {
if okA := robotgo.AddEvent("k"); okA {
fmt.Println("Pressed k")
}
if okB := robotgo.AddEvent("l"); okB {
fmt.Println("Pressed l")
}
}
[先按K再按L,然后一遍又一遍地重复此操作似乎会触发事件,但是如果我更改按键顺序则不会触发。因此,如果我先从L开始,然后从K开始,则什么也不会发生。
PD:使用MinGW64版本x86_64-8.1.0-posix-seh-rt_v6-rev0从Windows 10进行测试
[还从4开始尝试了不同版本的MinGW,结果相同...
您可以从示例中尝试类似的操作:
ok := robotgo.AddEvents("l", "k")
if ok {
fmt.Println("add events...")
}