Robotgo无法收听多个事件

问题描述 投票:0回答:1

我正在使用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,结果相同...

go mingw robot robotgo
1个回答
0
投票

您可以从示例中尝试类似的操作:

  ok := robotgo.AddEvents("l", "k")
  if ok {
    fmt.Println("add events...")
  }
© www.soinside.com 2019 - 2024. All rights reserved.