Переопределение клавиш клавиатуры

11

Я использую клавиатуру с клавишей «fn». Это на ноутбуке.

Так что мои клавиши FN + Up / Down / Left / Right отображаются на яркость / громкость. Я бы предпочел, чтобы они были смонтированы на странице вверх / вниз, домой / конец. И сопоставьте остальные 4 клавиши с этими 2. На странице вверх / вниз есть FN + их для home / end. Это дерьмовая раскладка клавиатуры, но я хочу, чтобы она работала.

Кто-нибудь знает, как выяснить, что такое ключевые коды и как их переназначить?

Версия: 10.04 x32

Итак, вот несколько экспериментов:

Используя xmodmap -pke, я обнаружил, что коды клавиш 122 = объем вниз, 123 = объем вверх. И я получил всю информацию для Home / End / Page Up (следующая), Page Down (предыдущая).

Теперь при использовании клавиш увеличения громкости нет событий, которые xevмогли бы обнаружить.

Я могу переназначить клавиши регулировки громкости на XF86AudioLowerVolumeили XF86AudioRaiseVolume, но как только я сопоставлю эти два с Home / End (соответственно), они ничего не сделают. xevдо сих пор не подхватывает эти события после переназначения.

Переназначение: xmodmap -e "keycode 122 = Home"

Дмитрий Лихтен
источник
Связанный вопрос: superuser.com/questions/377063/mapping-keys-on-linux
Ондра Жижка

Ответы:

8

Некоторые Fnсочетания клавиш ноутбука являются мультимедийными клавишами (они выглядят в ОС как обычные клавиши с нестандартными кодами), в то время как другие запускают события ACPI, которые в конечном итоге достигают ОС, а некоторые просто обрабатываются BIOS и никогда не видны ОС. Информационные пути объяснены на странице Горячие клавиши / Архитектура в вики Ubuntu, вместе с диаграммами.

Программа KeyTouch должна обрабатывать все, что видит ОС, и имеет дружественный графический интерфейс для описания вашей модели и настройки того, что должны делать ключи (также установите keytouch-editorпакет keytouch).

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

Жиль "ТАК - перестань быть злым"
источник
Я получаю ошибку keytouch-editor: No event devices are available in /dev/input/. при запуске
Jonathan
@JonathanLeaders Вы должны задать новый вопрос, объясняющий, как именно вы запустили программу. Обязательно укажите, какая версия Ubuntu у вас установлена.
Жиль "ТАК - перестань быть злым"
2
судо !! это было все, что я должен был сделать = p Но редактор сенсорного ввода все равно не может распознать мою клавиатуру. Пытаюсь xbindkeys -vсейчас, но там говорится, что есть конфликт с другой программой, но не сказано, какой pid
Джонатан
0

Существует программа под названием xev, которая делает то, что вам нужно. Мне понравился учебник по настройке.

myusuf3
источник
Я пытался использовать xmodmap раньше. Как ни странно, я мог переназначить клавишу увеличения громкости на действие увеличения яркости. И страница вверх ключ к концу действия. Однако я никогда не мог переназначить клавишу увеличения громкости на действие вверх страницы. Это просто не будет выполнено, и наоборот.
Дмитрий Лихтен
1
это, вероятно, потому что эти ключи сопоставлены непосредственно с графической картой или звуковой картой :)
myusuf3
1
@Dmitriy: Может быть, некоторые комбинации клавиш Fn генерируют события ACPI, а не события клавиатуры. Посмотрите, /var/log/kern.logесли что-то появляется, когда вы нажимаете эти комбинации клавиш. Даже если ничего не появляется, могут быть события ACPI, которые вы можете увидеть, если используете правильные инструменты (извините, я не знаю, что это за правильные инструменты).
Жиль "ТАК - перестань быть злым"
1
Программа, которая переназначает это xmodmap; xev просто используется для просмотра событий.
3
-1 мертвая ссылка для учебника. Есть ли шанс, что вы скопировали эту информацию или она потерялась навсегда?
Том Броссман
-1

В Fnкомбинации клавиш не определено в программном обеспечении и не могут быть переопределены следоватьльно, так что вам нужен паяльник и некоторые электроники ноухау!

LassePoulsen
источник
Какая??? Нет, я не забочусь о том, чтобы сделать клавишу FN другой. Просто переназначьте события, связанные с клавишей FN. Как и в случае FN + Left = Volume Down, который распознает компьютер, я просто хочу изменить эффект этого события, чтобы оно выглядело так, как будто я нажал Home. Я имею в виду, что раскладка клавиатуры - это то, что определяет, что и для чего, как мне это изменить.
Дмитрий Лихтен
3
Я явно не выразил себя ясно! Но вы не можете изменить предопределенные значения. Эти комбинации посылают сигналы не в ОС, а непосредственно на видеокарту / звуковую карту.
LassePoulsen
Ой! Хотя ОС распознает, что яркость меняется и громкость тоже, чтобы показать эту информацию в графическом интерфейсе.
Дмитрий Лихтен
3
@Source Lab: На большинстве ноутбуков, выпущенных в этом веке или около того, все распознаваемые комбинации клавиш Fn вызывают события клавиатуры или события ACPI. События клавиатуры идут в ОС; События ACPI могут обрабатываться BIOS, но ОС может их перехватывать.
Жиль "ТАК - перестать быть злым"
@ Жиль Ох. Я не знал, что новые компьютеры будут отправлять события клавиатуры.
LassePoulsen