Если я правильно понимаю, вы получаете сообщение, которое хотите транслировать как KeyEvents, и преобразование сообщения в ASCII достаточно просто. теперь вы хотите, чтобы мы преобразовали этот ACSII в коды клавиш.
если вы посмотрите на код для KeyEvent, вы увидите, что VK_A через VK_Z соответствуют ASCII-значениям от A до Z, что делает сопоставление относительно простым. обратите внимание, что, хотя это ASCII для заглавных букв, неизмененные в KeyEvent, они представляют строчные буквы. чтобы получить коды клавиш в верхнем регистре, вам необходимо объединить модификаторы для VK_SHIFT (и / или VK_CAPSLOCK) с ASCII для заглавной буквы.
Итак, продолжая с предполагаемой целью, вы можете создать KeyEvent, установив код клавиши для буквы, разрешив как строчные, так и прописные буквы к одному и тому же коду ASCII (для прописных). затем вы можете установить модификатор на KeyEvent на VK_SHIFT, если ваш входной ASCII находится в пределах диапазона верхнего регистра ASCII.
если ваша проблемная область более обширна, вы можете настроить карту, с помощью которой вы можете просматривать эти коды, а также другие знаки препинания и контрольные символы. Реализация KeyEvent.getKeyText () показывает нечто подобное, но в обратном направлении. Вы можете использовать это в качестве отправной точки. переход по этому маршруту также уменьшит риск для вашего приложения, если по какой-то причине Java решит изменить постоянные значения для этих полей VK_.