Java: поддержка альтернативной клавиатуры

Я использую клавиатуру Дворжака, и становится довольно неприятно переключаться между клавиатурами для проверки моего кода. Я заметил, что некоторые игры, такие как Bethesda, Minecraft (1.13+) и Fallout 1, позволяют использовать альтернативные клавиатуры без повторной привязки всех клавиш (т.е. они автоматически повторяют привязку, прослушивают положение клавиши на клавиатуре или что-то в этом роде), поэтому мне было интересно, как это сделать с помощью java, желательно таким образом, чтобы вы также могли повторно привязать ключи. Код ниже - это то, что я сейчас использую для ввода, но я не знаю, как заставить его слушать разные вещи для разных раскладок клавиатуры.

    public class KeyInput extends KeyAdapter{
    
    
    public void keyPressed(KeyEvent e){
    int key = e.getKeyCode();
    
    if (key == KeyEvent.VK_EXAMPLEKEY) exampleFunction();
    
    }
    }

Вы пытаетесь реализовать это в приложении Java GUI или для общего использования на вашем компьютере?

Steven 17.12.2018 16:06

Я не совсем понимаю, что вы имеете в виду, но я использую его в Jframe и игре, которую делаю

Bastian_5 17.12.2018 16:19

Тогда все, что вам нужно сделать, это настроить ключевой слушатель в вашей программе. Правильно? Или я могу неправильно понять ваш вопрос.

Steven 17.12.2018 17:00

Это то, что я уже делаю, но я использую keyPressed и keyReleased и проверяю, что такое Keyevent e.getKeyCode (). Я хочу знать, есть ли способ, при котором, независимо от того, какую клавиатуру я использую, один и тот же ключ в одной и той же позиции будет давать одинаковый результат. IE, g в qwerty - это i на dvorak, но если я нажму клавишу «g» на любом из них, я хочу, чтобы он выводил то же самое.

Bastian_5 17.12.2018 19:53
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
54
0

Другие вопросы по теме