Преобразование KBDLLHOOKSTRUCT(.NET) в KeyEvent/Char(Java), JNA

#c# #java #.net #msdn #jna

#c# #java #.net #msdn #jna

Вопрос:

Итак, в основном то, что я делаю, — это использую JNA для установки клавиатуры LowLevelKeyboardProc, все работает отлично, я могу получить значения точно так, как я хочу, в java, но проблема, с которой я сталкиваюсь, заключается в том, что при попытке преобразования в символы становится чрезвычайно сложно обрабатывать caps-блокировки, клавиши SHIFT и т. Д.из других вещей, таких как все, что не является 0-9 на клавиатуре, мне было интересно, есть ли более простой способ выполнить преобразование? вот подробности того, что я получаю от перехвата при каждом нажатии клавиши http://msdn.microsoft.com/en-us/library/windows/desktop/ms644967 (v = VS.85).aspx , я подумал, что было бы лучше найти способ вручную сгенерировать KeyEvent(не char, так как мне нужно что-то для обработки таких вещей, как клавиши F, caps lockкнопка, кнопка CTRL и т.д. и т.п.).

Любая помощь, которую я могу получить, очень ценится !.

Комментарии:

1. Если вы решили свою проблему, было бы неплохо, если бы вы опубликовали свое решение.

Ответ №1:

Проект Abbot (http://abbot.sf.net ) имеет систему для сопоставления кодов клавиш с символами клавиш, используя предопределенные сопоставления клавиатуры (он генерирует широкий спектр нажатий клавиш и записывает результирующий вывод символов). Однако Java не предоставляет способа «предсказания» результирующего вывода символов с учетом конкретного кода ключа.

В библиотеках MS может быть что-то.

Комментарии:

1. это было несколько полезно, в итоге я написал свое собственное решение