【问题标题】:Mapping any OS's global input events to another input events with Java使用 Java 将任何操作系统的全局输入事件映射到另一个输入事件
【发布时间】:2012-04-02 14:47:00
【问题描述】:

我想不出更好的标题,所以请允许我详细说明:

有诸如JoyToKey 之类的程序允许用户将任何操纵杆上的按钮输入映射到任何键事件和鼠标事件。坦率地说,我不知道这里真正的底层实现,但它就像 JoyToKey “无处不在”将这些映射输入发送到用户关注的任何应用程序,或者它只是调用全局输入事件。

所以事情是这样的,在 Java 应用程序中,如果我们想听任何键盘或鼠标输入,我们可以使用 KeyListenerMouseListener 类轻松地做到这一点,但我在这里说的是如果我想创建一个 Java 应用程序,它监听所有用户指定的输入(无论是来自操纵杆、触摸屏还是其他),无论哪个应用程序当时具有焦点,并将这些输入映射到其他输入和宏。例如,如果我想在街头霸王中执行 Hadoken,我告诉程序“嘿,如果我按下‘P’或‘操纵杆 1 按钮 10’,在第一个 (1/ 60) 毫秒,下一个 (1/60) 毫秒为“向下+右箭头”,下一个 (1/60) 毫秒为“右箭头”,下一个 (1/60) 毫秒为“Z”。

所以我在这里寻找的与JoyToKey在以下方面有所不同:

  1. 我正在寻找如何用 Java 编写类似 JoyToKey 的程序。
  2. 不仅限于操纵杆。允许用户将所有类型的硬件输入映射到任何其他硬件输入。

由于 Java 的性质和我们直接调用操作系统,我担心跨平台能力。每个操作系统的底层机制可能会有些不同,但无论如何,这在 Java 中是可能的吗?如果是这样,我应该寻找哪个 Java 的 API?是否有一些特定于硬件的问题需要注意?

【问题讨论】:

    标签: java input operating-system mapping hardware


    【解决方案1】:

    如果您使用的是 Linux,请查看 java-gnome 绑定。 org.gnome.gdk 包提供对系统范围设备事件的访问。

    【讨论】:

      猜你喜欢
      • 2022-11-25
      • 1970-01-01
      • 2022-01-21
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 2018-05-17
      • 2011-09-30
      相关资源
      最近更新 更多