keyboard - 操作系统和实现独立访问键盘?

标签 keyboard cross-platform scancodes

我用 MSVC++ 制作了一个 FPS 游戏,它在 Windows 上运行得非常好。但是现在我正在尝试使它可移植(至少我想创建一个 linux 和一个 Windows 版本),所以我决定将 IDE 更改为 Code::Blocks 并将框架更改为 wxWidgets。但是在不同的系统上,虚拟键码和扫描码似乎不同。

之前我经历过虚拟键码即使在相同的操作系统但不同的计算机上也可能不同(我收到关于他们无法控制角色的错误报告(取决于数字锁定状态,哈哈,不是开玩笑),这是固定的当更改代码以使用扫描码而不是 virtkey 代码时) (编辑:使用 wxWidgets,小键盘上的 virtkey 和扫描码都有不同的值,具体取决于 numlock 状态,砰!)

现在有了 wxWidgets,看起来 wxKeyEvent::GetRawKeyCode 和之前从 WM_KEYDOWN 的 lParam 获得的代码是不同的。而且我还从 GetRawKeyCode 在 linux (ubuntu) 上获得了完全不同的扫描代码。

好吧,我可以通过按所有键并查看它给出的代码来制作自己的扫描码表,但是ubuntu在我的笔记本电脑上运行的唯一问题,并且笔记本电脑没有完整的键盘...... 但我需要所有这些才能使控制设置正常工作。

所以问题是:是否有一种标准和跨平台的方式来为同一个键(更准确地说是同一位置的键)获取相同的代码? (至少在 windows 和 linux 上)

最佳答案

如果您还没有考虑过,您也许可以使用 SDL .

关于keyboard - 操作系统和实现独立访问键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/621716/

相关文章:

c# - 禁用第二个 USB 键盘

java - ACTION_MOVE 未报告正确的 Y 值

c# - Windows 上可靠的短时间跨度测量

linux - 如何在 Haskell 中获取按下和释放键的扫描码?

iphone - UITextField 键盘不出现

c++ - 如何检查是否在 C++ 上按下了某个键

python - 在 Mac OS 上设置 tkinter 图标

c++ - C++ 中是否有等待函数?

c - GetKeyNameText 的反向操作