好吧所以我有一个我写的程序,基本上我将接受键盘键的输入,如左箭头,右箭头,上下等等,我的问题是,扫描的最佳选择是什么在这些键中,这样我就可以在linux和windows中运行我的程序
我正在扫描的是什么?我应该扫描ascii值并将它们存储在int中吗?字符?或者是另一种方法吗?我搜索了互联网,我发现键盘扫描码的kex值是e0 4b e0 4d e0 48 e0 50
但是当我实际使用getchar()扫描值并将它们存储到整数中时,每按下一个键就得到4个值,例如27 91 67 10,27 91 68 10
据我所知,每个按键都有新闻稿和附加的其他值,所以我应该扫描67 68等等吗?
还是有其他方法可以做到这一点
我正在使用c语言编写程序
答案 0 :(得分:1)
在Linux中,您似乎看到了ANSI escape sequences。它们由文本终端使用,并以Escape字符开头,即'\x1b'
(十进制27)。
这可能不是你想要的,如果你想用直接的,类似游戏的方式制作键盘控制的东西,你需要使用" raw"输入。这里有很多参考资料,例如ncurses。
答案 1 :(得分:0)
打开终端并使用命令xev
。然后,您可以按任意键并查看其相应的代码。您也可以移动并单击鼠标以查看其中发生的情况。