2010-08-29 72 views
1

一旦发现SDL和X11使用相同的键盘键ID(我认为它们被称为键盘键),我想使用这些代码。然而,我不知道他们,我不想仅仅使用他们的定义,因为我不想包括东西,因为我正在编写一个库,不想依赖X11或SDL,因为我可能会只是使用X11或只是使用SDL。有没有一个像0x200或类似的键盘代码列表?键盘代码ID

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

回答

1

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

#define MYLIB_SOME_KEY0 SDL_SOME_KEY0 
#define MYLIB_SOME_KEY1 SDL_SOME_KEY1 

然后只是有条件地包含相应的头文件。

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

+0

让我试着更好地解释一下,我使用SDL和X11作为库进行输入,但是我希望我的应用程序具有自己的键定义来抽象SDL,X11和Win32键。 – Jookia 2010-08-29 13:27:24

+0

@Jookia - 这不是SDL吗?一个关于X11和Win32键的抽象... – 2010-08-29 13:40:08

+0

啊,我意识到我的错误,一个更好的主意是键入键的枚举并将它们映射到X11键或SDL键。 – Jookia 2010-08-29 14:39:15

0

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

我可以猜你在想什么吗?使键盘的处理程序,使其也可以与
一个小号dW¯¯的AZERTY键盘上走?

如果是这样,那么可以用'w'手动更改'q'和'z'。