XNA Keyboard.GetState()不读取数字/字符键,但读取其他键

维克多·切拉鲁

出乎意料的是,我的游戏停止了对按键输入的响应。起初,我以为是我引入了一些逻辑错误,但最终我注释掉了所有自定义代码,并留下了一个空的XNA Game类,但我添加了以下代码以查看可能发生的情况:

var state = Keyboard.GetState(); foreach(var key in state.GetPressedKeys()) { Console.WriteLine(key); }

下列键可以很好地注册输入:

  • 逃脱
  • 标签
  • LeftAlt
  • RightAlt
  • 大写锁定
  • 左移
  • 右移
  • 左控制
  • 权限控制
  • 左视窗
  • 进入
  • 后退(退格键)

但是,XNA不会拾取其他任何键。这些包括:

  • 字符键(a,s,d,f)
  • 数字键(位于键盘或小键盘上方的数字键)
  • F键(F1-F12)
  • 操作键(/,*,-,+)

我知道这可能是一个漫长的尝试,但是其他人是否曾经历过,或者有人知道这是什么原因?

我尝试过重新启动Visual Studio,重建项目并重新启动计算机。从XNA 1开始,我一直在开发XNA游戏,这是我第一次体验到这一点。

编辑:我插入了USB键盘,看它是否可以与硬件相关,但这也不能解决问题。

维克多·切拉鲁

看来这是由Synergy软件(http://synergy-project.org/引起的我最近安装了Synergy 1.7.6,这是自安装XNA游戏以来的第一次。我结束了Synergy的后台任务,并且我的游戏又一次开始读取输入。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章