Установка разной скорости нажатия клавиш для отдельных клавиш?

8

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

xset r rate 120 30

Есть ли способ иметь разные настройки для отдельных клавиш?

Майкл Бёрдж
источник
xset r 22 r rate 120 30должен делать то, что вы ищете, но на моем ноутбуке это не работает. Код клавиши для возврата - 22, хотя.
Турбо
Эта команда появляется для включения клавиши возврата, а затем для каждой клавиши задана заданная скорость. Он (и аналогичный 'xset -r 22 r 120 30') не устанавливал только клавишу возврата на эту скорость.
Майкл Бердж

Ответы:

6

Я думаю, что ответ на ваш вопрос - нет, нет способа добиться этого, если не модифицировать исходники X.org.

Вот объяснение, почему xsetне будет работать; Я создаю ответ, потому что он соответствует комментариям, найденным как в ОП, так и в ответе выше.

xset rимеет несколько альтернативных способов вызова. Взаимоисключающие, то есть:

xset r 22

..я включит повторение для кода клавиши 22 (возврат), в то время как xset -r 22выключит его.

В качестве альтернативы, можно указать скорость клавиатуры, но только для всех клавиш:

xset r rate [num1 [num2]]

Вы не можете объединить два.

Что касается 08 / 22 путаницы: 08 является ASCII кода ASCII символов забоя, и 22 является X окна скана для конкретного физического ключа .

К сожалению, две настройки (скорость / задержка и повторное включение для каждой клавиши) обрабатываются двумя разными расширениями X:

  • «скорость / задержка» обрабатывается расширением XF86Misc. xsetизменяет скорость / задержку с помощью функции XF86MiscGetKbdSettings( display, values ). Структура valuesXF86MiscKbdSettings содержит только поля для частоты повторения и задержки (и двух других здесь неважных), и нет способа применить его, кроме общего.
  • "включение / выключение каждого ключа" контролируется расширением XKB. Расширение XKB позволяет управлять выбранными ключами, но структура, содержащая информацию об этих ключах, содержит только поле, которое может принимать одно из трех значений: по умолчанию, нет повторения, повтор.

Короче говоря, это кажется невозможным в текущей настройке X.org.

январь
источник
Спасибо за этот ответ. Я, вероятно, собираюсь отключить повторение для всех клавиш и выборочно включить его для клавиш возврата / стрелки.
Майкл Бердж,
0

Пытаться:

xset r 8 rate 120 30

Страница руководства на www.x.org дает некоторую помощь по команде. Я также нашел Keyboard Keys и Key Code Values , которые есть на сайте Adobe, но я думаю, что коды клавиш должны быть правильными.xset

Малахия
источник
везде, где я смотрел, написано, что ключевой код для возврата8
Malachi
Если вы войдете xevв терминал, а затем нажмете клавишу Backspace, он скажет, что код
некоторые сайты, на которые я смотрел, не дают ключ, назначенный 22, а другие говорят, что Page Downключ 22 . к сожалению, я не близок к своему Linux-боксу, чтобы иметь возможность протестировать все это.
Малахия
Вы можете использовать, xevчтобы узнать, какие коды клавиш находятся в вашей собственной системе; нажмите клавишу на клавиатуре, и она даст вам код клавиши.
Я сейчас на Windows
Малахия