我在 Go 中有一个 REPL 应用程序,它应该对键盘按下事件做出反应(每个按键按下的不同动作),但ReadString希望在阅读之前按下返回键os.Stdin:import ( "bufio" "os")for { reader := bufio.NewReader(os.Stdin) key, _ := reader.ReadString('\n') deferKey(key)}如何对 Go 中的按键事件做出反应?
2 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
游戏引擎通常实现这种功能。它们通常也几乎与平台无关(通常至少是 Windows、Linux、Mac OS X)。尝试例如Azul3D 的键盘库。
逻辑是在我的头顶像
watcher := keyboard.NewWatcher()
// Query for the map containing information about all keys
status := watcher.States()
left := status[keyboard.ArrowLeft]
if left == keyboard.Down {
// The arrow to left is being held down
// Do something!
}
获取当前按下的键的列表是迭代映射并列出 value 为 Down 的键的问题。
- 2 回答
- 0 关注
- 168 浏览
添加回答
举报
0/150
提交
取消