Получить положение клавиши на клавиатуре - PullRequest
3 голосов
/ 29 октября 2011

Я надеюсь, что этот вопрос еще не задавался, но я искал решение своей проблемы, и я не нашел ничего полезного для меня.где пользователь может управлять приложением через клавиатуру.Проблема в том, что мне нужно много разных клавиш ввода.Поэтому я также должен использовать специальные клавиши.Но моя проблема в том, что я не могу снова написать код для каждой клавиатуры.

Так что мой вопрос, есть ли способ определить место данной клавиши на клавиатуре.Было бы очень хорошо, если бы кто-то знал, как это сделать.

Заранее спасибо, Лев

Ответы [ 2 ]

2 голосов
/ 29 октября 2011

Клавиатура только отправляет коды клавиш в базовый стек.Это зависит от ОС и программного обеспечения, чтобы выяснить, как использовать это.Теперь, возможно, аппаратное обеспечение имеет простой код, который зависит от местоположения, и происходит некоторый перевод, чтобы превратить его в полезный ключевой код для приложений.Я считаю, что это должно быть так, поскольку макет может быть выбран из ОС.Но это не похоже на низкоуровневые вещи, к которым у вас будет доступ в Java, если не считать JNI.

Исходя из KeyListener , вы можете захватить KeyEvents .Я бы посоветовал вам изучить документацию, поля и методы этого класса и, возможно, создать небольшое тестовое приложение, которое фиксирует такие события и выводит результаты различных методов.Может быть, вы найдете какой-то общий язык.

Если нет простого способа сделать это, возможно, лучше иметь какую-то схему таблицы перевода, которая стандартизирует ввод для наиболее распространенных раскладок, таких как Qwerty и Azerty.Это должно делать это для большинства пользователей, и, поскольку вы хотите полагаться на абсолютное позиционирование, требование одного из небольшого набора макетов не представляется неприемлемым.Пользователи могут изменить макет в ОС.

Если вам доведется делать игру, возможно, создайте огромную контрольную колоду, которую люди будут вынуждены покупать, чтобы получить лучший опыт .Дополнительные деньги!: D

1 голос
/ 29 октября 2011

вы можете сделать настройки полностью определенными пользователем

вы можете сделать некоторые настройки, которые пользователь может изменить, чтобы сопоставить ключи с действиями, иметь стандартный набор для azerty и qwerty как значения по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...