java系统范围的键盘和鼠标状态

有没有办法在系统范围内监听鼠标和键盘事件而不将这些事件从系统队列中删除?

例如,有没有办法设置一个恶魔,比方说,它会监听并报告每一个键盘和鼠标事件?

使用纯Java是不可能的。 但是你可以使用JNI(Java Native Interface),它正在处理用C ++编写并本地编译的代码。 因此,通过这种方式,您可以使用C ++编写Global KeyListener,并让Java使用它。

有一个活跃的项目为Linux,OS X和Windows实现这一点: http : //code.google.com/p/jnativehook/