0

我对这类东西没有太多经验,所以我想得到一些关于我应该研究什么的反馈。

情况如下:我有一个操纵杆(Thrustmaster T-Flight Hotas X),它有大约 12 个按钮。我想做的是能够按住 1 个按钮并将其用作 mod 键,这样我就可以将我拥有的按钮数量增加一倍(我实际上有 22 个按钮)。

现在最好的方法是什么?我目前正在运行 Ubuntu 13.10。我相信该设备是由 usbhid 驱动程序拾取的。现在我应该尝试编写一个会产生这种行为的自定义驱动程序,还是有更好/更简单的方法来解决这个问题 - 即拦截事件并即时修改它们 - 或者我什至不知道的其他事情是可能的。

无论如何,希望我很清楚。只是想在这里找出最好的行动方案。

提前致谢。

4

1 回答 1

0

我只是尝试使用现有的 Linux 游戏杆 API

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/Documentation/input/joystick-api.txt?id=refs/tags/v3.9.6

然后是用户空间,您可以获取所有操纵杆事件,并按照您认为合适的方式处理它们。具体来说,您可以获得按钮按下事件并使用如下逻辑:

void handle_button_y_press()
{
    if (button_X_pressed)
    {
        do_y_function_a();
    }
    else
    {
        do_y_function_b();
    }
}
于 2013-06-19T06:20:26.243 回答