Java键盘/鼠标活动(即使在我的应用程序之外)

Java键盘/鼠标活动(即使在我的应用程序之外),java,keyboard,mouse,android-activity,hook,Java,Keyboard,Mouse,Android Activity,Hook,我需要检测鼠标或键盘活动何时出现。我的应用程序在后台(任务栏)运行,即使我的应用程序未处于焦点,我也需要检测此活动 我不需要知道按下了什么键,只需要知道何时按下 我可以用Java来做这件事吗?我读过一些使用JNI和C++/C的解决方案,但它们似乎是特定于操作系统的。有没有一个简单的解决方案可以在Windows、Linux和Mac上使用 谢谢 由于JNI是必需的,依赖于操作系统特定的API,因此唯一的方法是 为每个受支持的操作系统提供一个实现,并在检测到应用程序中的操作系统后动态加载它 窗户 这类

我需要检测鼠标或键盘活动何时出现。我的应用程序在后台(任务栏)运行,即使我的应用程序未处于焦点,我也需要检测此活动

我不需要知道按下了什么键,只需要知道何时按下

我可以用Java来做这件事吗?我读过一些使用JNI和C++/C的解决方案,但它们似乎是特定于操作系统的。有没有一个简单的解决方案可以在Windows、Linux和Mac上使用


谢谢

由于JNI是必需的,依赖于操作系统特定的API,因此唯一的方法是 为每个受支持的操作系统提供一个实现,并在检测到应用程序中的操作系统后动态加载它

窗户

这类功能必须是特定于平台的,因为不同的操作系统平台以不同的方式提供此功能,而某些配置甚至可能根本不提供此功能。OK UPDATE:因此,我找到了一个适用于windows(jintellitype)和linux(jxgrabkey)的库。有人知道MacOSX的一个吗?我可能会说这不是一个你会得到好答案的问题。本质上,您希望您的程序表现得像一个键盘记录程序,而这些程序通常必须将自己挂接到内核中。Java没有能力做到这一点,所以你运气不好,伙计。在Jotschi(键盘/鼠标挂钩的原始作者)的许可下,我几年前拿走了他的库并创建了一个新版本。请查找最新版本和示例。以及对上的库的描述。