JNativeHook — это библиотека, предоставляющая глобальные прослушиватели клавиатуры и мыши для Java. Это позволит вам прослушивать глобальные сочетания клавиш или движения мыши, что в противном случае было бы невозможно при использовании чистой Java. Для выполнения этой задачи JNativeHook использует зависящий от платформы собственный код через собственный интерфейс Java для создания низкоуровневых общесистемных перехватчиков и доставки этих событий в ваше приложение.
Следующие события доступны через соответствующие прослушиватели.
В дополнение к глобальным прослушивателям событий эта библиотека имеет возможность отправлять собственные события обратно в собственную операционную систему.
На JNativeHook распространяется действие лицензии GNU Lesser General Public License, которая является расширением Стандартной общественной лицензии GNU и предоставляет вам дополнительные права на распространение. Насколько я понимаю, вы можете использовать эту библиотеку в проприетарных проектах (с закрытым исходным кодом), если она остается внешней библиотекой с тем же двоичным интерфейсом. Вы можете изменить исходный код этой библиотеки для удовлетворения любых собственных потребностей, если эти изменения доступны в соответствии с условиями LGPL. Если у вас возникнут дополнительные вопросы или сомнения по совместимости лицензий, проконсультируйтесь с лицензированным юристом.
Бинарный дистрибутив JNativeHook можно найти в разделе релизов на странице проекта. Пользователи Maven могут использовать <groupId>com.github.kwhat</groupId>
и <artifactId>jnativehook</artifactId>
для автоматического включения этой библиотеки. Ночные сборки можно найти в репозитории снимков maven.
Если вы нашли эту библиотеку полезной, рассмотрите возможность сделать пожертвование.
Графический пример приложения предназначен для демонстрации в реальном времени необработанных результатов для всех доступных собственных событий. Чтобы запустить приложение, просто запустите предоставленный jar-файл. Исходный код доступен по адресу src/main/java/com/github/kwhat/jnativehook/example/NativeHookDemo.java.
Актуальный исходный код и документация доступны по адресу: https://github.com/kwhat/jnativehook/.