title: Java中使用JNA实现全局监听Linux键盘事件 date: 2019-05-03 19:08:00
Java中使用JNA实现全局监听Linux键盘事件
用JNA实现的键盘监听,在Windows上完美运行,能在后台拿到键盘输入的内容,可在Linux下还是没办法,于是在网上各种找,又找到两种办法,还是一样,在Windows上运行都没问题,最后都失败在Linux,最后,我看失败的错误描述,貌似问题都出在了图形界面X11上面还有什么键盘布局上,我的deppin系统啊
一、使用jnativehook监听键盘输入
jnativehook也是个开源项目,项目地址:kwhat/jnativehook,这个项目也是全平台支持的,Windows,Linux、Mac全都支持,但是Linux下貌似是需要装X11,然后键盘布局也得是相关,不然报错了。我查了一下我现在使用的Linux(deppin)系统刚好可以用,貌似装了X11。
这个项目使用也挺简单的,从他的仓库下载JAR包,下载下来,用命令运行java -jar jnativehook.jar,就能出现一个用Swing绘制的图形小程序demo,简单演示监听到的鼠标键盘等输入,具体怎么调用的,将jar包放入eclispe,查看包内的