我想不出更好的标题,所以请允许我详细说明:
有程序如JoyToKey ,这允许用户将任何操纵杆上的按钮输入映射到任何键事件和鼠标事件。坦率地说,我不知道这里真正的底层实现,但它就像 JoyToKey“无处不在”将这些映射输入发送到用户关注的任何应用程序,或者它只是调用全局输入事件。
事情是这样的,在 Java 应用程序中,如果我们想监听任何键盘或鼠标输入,我们可以使用 KeyListener
和 MouseListener
轻松实现类,但我在这里说的是,如果我想创建一个 Java 应用程序来监听所有用户指定的输入(来自操纵杆、触摸屏或其他),而不管哪个应用程序当时具有焦点和 map 这些输入到其他输入和宏。例如,如果我想在 Street Fighter 中执行 Hadoken,我会告诉程序“嘿,如果我按下‘P’或‘Joystick 1 Button 10’,在第一个 (1/60) 毫秒,下一个 (1/60) 毫秒为“向下+右箭头”,下一个 (1/60) 毫秒为“右箭头”,最后是下一个 (1/60) 毫秒为“Z”。
所以我在这里寻找的与JoyToKey在以下方面不同:
- 我正在寻找如何用 Java 编写类似 JoyToKey 的程序。
- 不仅限于操纵杆。允许用户将所有类型的硬件输入也映射到任何其他硬件输入。
由于Java的特性,我们直接调用操作系统,我比较关心跨平台能力。每个操作系统的底层机制可能有点不同,但无论如何,这在 Java 中可能吗?如果是这样,我应该寻找哪个 Java 的 API?是否需要注意一些特定于硬件的问题?
最佳答案
如果您使用的是 Linux,请查看 java-gnome绑定(bind)。 org.gnome.gdk
包提供对系统范围设备事件的访问。
关于java - 使用 Java 将任何操作系统的全局输入事件映射到另一个输入事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747767/