【发布时间】:2012-04-02 14:47:00
【问题描述】:
我想不出更好的标题,所以请允许我详细说明:
有诸如JoyToKey 之类的程序允许用户将任何操纵杆上的按钮输入映射到任何键事件和鼠标事件。坦率地说,我不知道这里真正的底层实现,但它就像 JoyToKey “无处不在”将这些映射输入发送到用户关注的任何应用程序,或者它只是调用全局输入事件。
所以事情是这样的,在 Java 应用程序中,如果我们想听任何键盘或鼠标输入,我们可以使用 KeyListener 和 MouseListener 类轻松地做到这一点,但我在这里说的是如果我想创建一个 Java 应用程序,它监听所有用户指定的输入(无论是来自操纵杆、触摸屏还是其他),无论哪个应用程序当时具有焦点,并将这些输入映射到其他输入和宏。例如,如果我想在街头霸王中执行 Hadoken,我告诉程序“嘿,如果我按下‘P’或‘操纵杆 1 按钮 10’,在第一个 (1/ 60) 毫秒,下一个 (1/60) 毫秒为“向下+右箭头”,下一个 (1/60) 毫秒为“右箭头”,下一个 (1/60) 毫秒为“Z”。
所以我在这里寻找的与JoyToKey在以下方面有所不同:
- 我正在寻找如何用 Java 编写类似 JoyToKey 的程序。
- 不仅限于操纵杆。允许用户将所有类型的硬件输入映射到任何其他硬件输入。
由于 Java 的性质和我们直接调用操作系统,我担心跨平台能力。每个操作系统的底层机制可能会有些不同,但无论如何,这在 Java 中是可能的吗?如果是这样,我应该寻找哪个 Java 的 API?是否有一些特定于硬件的问题需要注意?
【问题讨论】:
标签: java input operating-system mapping hardware