setkeycodes не изменяет код клавиши

У меня есть новая установка 16,04 на новом IdeaPad Levono 500S. Я пытался заставить ключи яркости работать и наконец сумел поднять трубку яркость ключ для работы как ожидалось.

Однако я должен изменить код клавиши своей яркости вниз ключ для него для работы, но setkeycodes кажется, ничего не делает.

Выполнение showkey и нажимая яркость вниз кнопка трижды дает мне:

$ sudo showkey -s
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
0x9c 
0xe0 0x6f 0xe0 0xef 
0xe0 0x6f 0xe0 0xef 
0xe0 0x6f 0xe0 0xef 

который привел меня полагать, что scancode его e06f. Однако выполнение sudo setkeycodes e06f 224 и затем выполнение showkey -k все еще показывает старый код клавиши (который равнялся 112).

Разве setkeycodes уже не может переопределить код клавиши набора из некоторого другого источника? Если так, как я могу изменить яркость вниз код клавиши ключа.

4
задан 13 April 2017 в 15:24

2 ответа

setkeycodes изменит сопоставления клавиш на самом уровне ядра. Здесь возникает проблема в понимании значений кода сканирования. Для нажатия клавиши это: 0x6f, а для выпуска: 0xef. Поэтому вам нужно выполнить команду:

sudo setkeycodes 6fef 224 

Это изменит отображение на желаемое.

0
ответ дан 1 December 2019 в 11:33

Мне потребовалось немного времени, чтобы разобраться в проблеме с попыткой сопоставления на клавиатуре PS / 2 с помощью showkey и setkeycodes .

Как указано на странице руководства для setkeycodes , существует проблема, которая влияет на инструменты, которые сообщают коды сканирования, такие как showkey -s , в том смысле, что они не показывают фактические коды сканирования, которые подходят для ввода для setkeycodes :

В необработанном режиме ядра 2.6 или в режиме сканирования кода вообще не очень сырые данные.

Полагаясь на вывод showkey -s в течение некоторого времени и заметив, что мои сопоставления существующих ключей не работают, и некоторые другие ключи, я не думал, что изменяю изменение, в конце концов я понял, что сканирование коды из showkey -s были обычным фактором в проблемных случаях.

Вместо этого, если вы должны использовать showkey , используйте обычный вывод showkey (без -s ), чтобы найти текущий назначенный ключевой код для ключа и работайте назад по таблице из getkeycodes , чтобы вычислить скан-код ключа. Если есть несколько кодов сканирования, сопоставленных с одним и тем же кодом клавиши, может потребоваться немного усилий и / или проб и ошибок, чтобы выработать правильный код сканирования для клавиши.

Или полагайтесь на другие источники информации скан-кода, такие как сообщения журнала atkbd в выводе dmesg (используйте dmesg -w , чтобы следовать dmesg output) или сканирующие коды, сообщаемые evtest , если ваша система использует структуру устройства событий.

0
ответ дан 14 January 2020 в 08:32

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

Похожие вопросы: