Существует множество хороших ресурсов JNI для начала программирования JNI, таких как Sun JNI Tutorial . Практически все учебные пособия предполагают хорошее знание C / C ++, поскольку собственный интерфейс Java (JNI) является мостом между собственным кодом C / C ++, виртуальной машиной Java и всем, что там выполняется (имеется в виду ваш байт-код Java).
Сначала вы можете найти библиотеку для захвата ключей для выбранной вами операционной системы (вы не упомянули ничего конкретного) в C ++ и попробовать ее, а также проверить, есть ли уже какие-либо привязки Java. (библиотеки, которые используют JNI и предлагают классы Java) для взаимодействия с. К сожалению, я не нашел многообещающих для быстрого поиска.