Забудь JNI
JNA - это решение (основано на JNI, но это намного проще, хотя большинство людей не используют его, думая, что это так же сложно, как JNI, но это не так)
Чек https://github.com/twall/jna/
и особенно в середине страницы, где написано: Платформа / Платформа Документация
Если вы скачаете platform.jar (и проверите исходный код), вы найдете обертку вокруг
User32.dll, где вы можете найти функцию win32
GetAsyncKeyState(int vKey)
сопоставлен с соответствующей функцией Java
(см. H ** ps: //jna.dev.java.net/javadoc/platform/com/sun/jna/platform/win32/User32.html)
Там вы можете проверить состояние клавиши (нажатой или отпущенной)
Если вам нужен слушатель глобального ключа, взгляните на мой другой ответ:
h**p://stackoverflow.com/questions/696170/java-keylistener-without-window-being-open/4394398
Благодаря Stackoverflow я не могу публиковать более одной рабочей ссылки в своих ответах: (
Приветствия