java - 将键盘事件从 java 发送到任何应用程序(屏幕键盘)

标签 java events swing keyboard java-native-interface

我正在使用 java 开发屏幕键盘。该键盘的每个可能的键都有一个 JComponent。当在按钮上检测到鼠标按下时,我想将特定的键盘代码发送到当前处于焦点的应用程序。键盘本身在一个没有装饰的 JFrame 中,并且设置为始终在最前面。

我发现可以使用 Robot 类来模拟 native 队列上的这些键盘事件。但是,在这种情况下,选择 JComponent 将意味着在 JFrame 上接收到按键,而我将无法在其他应用程序中接收到它

如何让我的屏幕键盘“始终处于无焦点状态”?是否可以使用另一种方法来发送按键?

最佳答案

我找到了 jnativehook当我试图用实际的键盘和鼠标命令控制游戏机器人时(更“像人”)。

关于java - 将键盘事件从 java 发送到任何应用程序(屏幕键盘),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156912/

相关文章:

java - Libgdx - Actor 的位置不正确

java - SWT 中的 'show' 和 'paint' 事件有什么区别?

java - 获取位置仅获取UI线程上的位置(GPS位置)

loops - 通过 Mutex 访问事件循环

c# - KeyDown、KeyUp 和 KeyPressed 不会在托管 WPF 控件的 WinForms 应用程序上触发

java - 如何根据另一个类的更改状态更新进度条?

java - 在抽象类中实现的 Action 监听器不会被扩展它的类继承

java - KeyListener 不工作并且映射重叠字符

Java 构造函数链接

java threading - 守护进程线程?