Как мне переназначить ключ NumLock в Java Swing? - PullRequest
1 голос
/ 16 июня 2011

Возможно, вы прочитали мой предыдущий вопрос о переназначении моей клавиатуры на низком уровне в Java, и я нашел решение - в основном.

Честно говоря, я упрощал проблему, которую пытался решить.Я не только хочу сопоставить NumericKeypad 1-3 с 7-9 и наоборот, я хочу переназначить всю цифровую клавиатуру.В частности, мне нужно переназначить клавишу NumLock, которая является частью этой клавиатуры.Кажется, это перехватывается на системном уровне, и я не могу просто сопоставить его с выделением какого-либо символа.

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

Я за пределами того, что возможно вЯва здесь?Или есть какой-нибудь способ, которым я могу вырыть до этого низкого уровня и выполнить это также.

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Решение, которое я придумал, не будет работать для всех, но на самом деле оно оптимально в нашем случае:

Используйте реестр Windows для переназначения клавиатуры.

Это постоянно, не требует написания JNI или драйверов устройств, и в нашем случае мы не беспокоимся о том, чтобы испортить клавиатуру для других приложений. Очень просто.

Если вам нужно это сделать и вы можете избежать неприятностей, это экономически эффективное решение.

1 голос
/ 16 июня 2011

Я не уверен, что это то, что вам нужно, но вы можете взглянуть на редактор ключевых событий в этой игре *1001*, изображенный на этом скриншоте и реализованный в org.gcs.robot.RCKeys.

...