Я использую клавиатуру Дворжака, и становится довольно неприятно переключаться между клавиатурами для проверки моего кода. Я заметил, что некоторые игры, такие как 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();
}
}
Я не совсем понимаю, что вы имеете в виду, но я использую его в Jframe и игре, которую делаю
Тогда все, что вам нужно сделать, это настроить ключевой слушатель в вашей программе. Правильно? Или я могу неправильно понять ваш вопрос.
Это то, что я уже делаю, но я использую keyPressed и keyReleased и проверяю, что такое Keyevent e.getKeyCode (). Я хочу знать, есть ли способ, при котором, независимо от того, какую клавиатуру я использую, один и тот же ключ в одной и той же позиции будет давать одинаковый результат. IE, g в qwerty - это i на dvorak, но если я нажму клавишу «g» на любом из них, я хочу, чтобы он выводил то же самое.




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