键盘代码ID

时间:2010-08-29 13:15:09

标签: c++

一旦发现SDL和X11使用相同的键盘密钥ID(我认为它们被称为密钥),我想使用这些代码。但是,我不知道他们,我不想只使用他们的定义,因为我不想包含东西,因为我正在编写一个库,并且不想依赖于X11或SDL,因为我可能只是使用X11或只是SDL。是否有键盘代码列表,如0x200或其他什么?

让我尝试更好地解释一下,我使用SDL和X11作为库来进行输入,但我希望我的应用程序有自己的键定义来抽象SDL,X11和Win32键。

2 个答案:

答案 0 :(得分:1)

直接使用代码是不明智的,因为这些代码可能随时更改(与其定义不同)。并且利用SDL使用与X11相同的代码的事实听起来不太好。更好的方法是为X11和SDL创建桥接头,如下所示:

#define MYLIB_SOME_KEY0 SDL_SOME_KEY0
#define MYLIB_SOME_KEY1 SDL_SOME_KEY1

然后只是有条件地包含相应的标题。

如果我没有说服你,你可以在SDL.h标题中找到相应的定义。

答案 1 :(得分:0)

如果我理解得很好,那么我认为这是不可能的。 OS是处理键盘信号并将其转换为相应的键盘布局(例如:azerty或qwerty)。并将其发送到应用程序。

我猜你在想什么?制作一个键盘处理程序,使其也可以与 azerty键盘上的 A S D W

如果是这样,那么可以用'q'改变'a',用'w'改变'z'。