Вход Регистрация

Забыли пароль?

Чужой компьютер

Настройка мультимедийнык клавиш на ноутбуках Acer с установленной ОС Линукс.

 
Введение

Итак, Вы установили Линукс на свой Acer или же купили его с уже предустановленной *nix операционной системой. Как показывает практика, в большинстве современных дистрибутивов почти всё оборудование у Вас заработает сразу

Одна из вещей которую точно придётся доработать это асеровские мультимедийные клавиши: колесе громкости, почта, браузер, кнопки ArcadeDeluxe, Emprovering и другие(сенсорной панели у меня нет, поэтому о её работоспособности “из коробки” ничего сказать не могу). В этой статье я опишу возможность настройки этих клавиш в KDE 4.2 с помощью xbindkeys.

Для начала небольшое отступление. В Линуксе существует несколько способов повесить на клавиши функции или запуск программ, и первой программой к которой я обратился была xmodmap(т.к. она по-умолчанию включена в мой дистрибутив). Потратив целый вечер на настройку, я смог добиться работы только колеса громкости, остальные переставали работать после первого перезапуска иксов, затрудняюсь сказать с чем это связано, возможно с проблемной работой khotkeys в KDE 4.2 (xmodmap работает в связке с khotkeys).

1. Определение кодов клавиш.

Для начала нам надо узнать сканкоды необходимых нам клавиш для этого запускаем xbindkeys с ключом -k и жмём кнопку, код которой нужно определить, вот мой вывод команды для кнопки “браузер”:

#xbindkeys -k

Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"


m:0x0 + c:178

NoSymbol

[2]+ Done xbindkeys


Код который нам необходим я выделил красным цветом. Эту процедуру следует повторить с каждой клавишей, которую Вы хотите настроить, сканкоды советую записывать. Может случиться так, что xbindkeys никак не отреагирует на клавишу, это значит кнопке не присвоен keycode, у меня таковой оказалась Acer Arkade Deluxe, в таком случае нужно смотреть вывод команды dmesg

Нас интересуют примерно такие строки:

atkbd.c: Unknown key pressed (translated set 2, code 0x92 on isa0060/serio0).
atkbd.c: Use 'setkeycodes
e012 ' to make it known.
atkbd.c: Unknown key released (translated set 2, code 0x92 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e012 ' to make it known.


Нужное нам значение я выделил красным. Теперь нужно присвоить keycode нашей клавише. Для начала придётся найти свободный keycode. Для этого выходим из графического режима, нажав ctrl+alt+F2 (чтобы вернуться назад в граф. режим надо будет нажать alt+F7), логинимся и выполняем команду:

getkeycodes

Вот её примерный вывод:

Plain scancodes xx (hex) versus keycodes (dec)
for 1-83 (0x01-0x53) scancode equals keycode

0x50: 80 81 82 83 99 0 86 87
0x58: 88 117 0 0 95 183 184 185
0x60: 0 0 0 0 0 0 0 0
0x68: 0 0 0 0 0 0 0 0
0x70: 93 0 0 89 0 0 85 91
0x78: 90 92 0 94 0 124 121 0

Escaped scancodes e0 xx (hex)

e0 00: 0 0 0 0 0 0 0 0
e0 08: 0 0 0 0 0 0 0 0
e0 10: 165 0 0 0 0 0 0 0
e0 18: 0 163 0 0 96 97 0 0
e0 20: 113 140 164 0 166 138 141 236
e0 28: 0 227 255 0 0 0 114 0
e0 30: 115 0 172 435 434 98 255 99
e0 38: 100 0 0 0 0 0 0 0
e0 40: 0 0 0 0 0 119 119 102
e0 48: 103 104 0 105 112 106 118 107
e0 50: 108 109 110 111 237 238 238 237
e0 58: 237 225 0 125 126 127 116 142
e0 60: 0 0 0 143 0 217 156 173
e0 68: 128 159 158 157 155 226 225 224
e0 70: 0 192 192 149 148 425 0 0
e0 78: 464 193 0 0 0 0 0 0


Ищем код, которого ещё не используется(другими словами его просто нет в списке) и запоминаем. Или же поиск можно немного автоматизировать, в том же консольном режиме вводим
getkeycodes | grep [keycode который хотим присвоить]

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

setkeycodes e012 161

в скрипт /etc/init.d/boot.local (для дистрибутива OpenSuse, в других дистрах это может быть скрипт /etc/rc.d/rc.local или /etc/conf.d/local.start), где
e012 – код добытый нами из вывода dmesg
161 – собсбвенно keycode который мы присваем нашей клавише.

После этого лучше перезагрузиться. После перезагрузки наша клавиша должна нормально определяться через xbindkeys -k

2. Настраиваем кнопки под наши нужды.

Вся настройка xbindkeys осуществляется через файл .xbindkeysrc, находящийся в вашей домашней директории. Привожу кусок своего конфига с настройкой мультимедийных клавиш:

"firefox" #запустить Firefox
m:0x0 + c:178 #сканкод кнопки “Браузер”
"kmail" #запустить kmail
m:0x2000 + c:236 #сканкод клавиши “Почта”
"konqueror" #запустить файловый менеджер konqueror
m:0x0 + c:159 #сканкод клавиши Emprovering
"gmplayer" #запустить Mplayer
m:0x0 + c:204 #сканкод клавиши Acer Arcade
"amixer sset Master 5+" #увеличить звук на 5 делений
m:0x0 + c:174 #сканкод колеса громкости вверх
"amixer sset Master 5-" #уменьшить звук на 5 делений
m:0x0 + c:176 #сканкод колеса громкости вниз



Как Вы, я думаю, заметили в кавычках можно указать любую команду Линукс доступную вашему пользователю, а ниже сканкод кнопки на которую Вы хотите “повесить” исполнение этой команды.

3. Добавляем xbindkeys в автозагрузку.

Для того чтобы всё работало после каждого входа в иксы нужно добавить xbindkeys в автозагрузку. Опять таки способов множество, лично я просто добавил строку

xbindkeys & в файл .xinitrc, он должен находиться в Вашей домашней директории, если его там нет, то советую скопировать:

cp /etc/X11/xinit/xinitrc ~/.xinitrc (актуально для OpenSuse, в других дистрибутивах придётся воспользоваться поиском).

Вот и всё. Естественно этим способом можно настроить любую кнопку на клавиатуре, а не только описаные в статье.

Примечание: При настройке колеса громкости через xmodmap во время его использования появляется симпатичный индикатор, в xbindkeys индикатора нет, просто меняется громкость, так что тем кто хочет красивости советую колесо настраивать отдельно через xmodmap. Если возникнут вопросы как это сделать спрашивайте в ветке форума или в личку

Домашняя страница xbindkeys - xbindkeys

Обсуждение материала - Установка и настройка Linux на ноутбуках Acer


 
sdwig 11 мая 2009 Просмотров: 47 459
FAQПохожие статьи:
sdwig Редактор
#1 от 11 мая 2009 22:54
Спасибо Fuzzyl за идею для статьи smile
Ноутбук: Acer Aspire 5720
FuzzyL Администратор
#2 от 11 мая 2009 23:01
Статья отличная. Я чуть подправил форматирование fellow Очень хотелось бы увидеть похожий материал и для Windows winked
Ноутбук: Acer Aspire 5920G / Acer TravelMate 5520G / Acer Timeline 3810T
sdwig Редактор
#3 от 11 мая 2009 23:23
Ну это уже не ко мне smile
Ноутбук: Acer Aspire 5720
WilD Посетитель
#4 от 13 мая 2009 21:21
Огромное спасибо
помогло
Nikolai Посетитель
#5 от 17 мая 2009 23:03
Респек автору
LLlyPuK.ua Посетитель
#6 от 14 октября 2009 23:45
Я мышку так настраивал, а клавиатура сразу подхватилась на debian squeeze. Оставалось только назначить кнопки в соответсвующих программах или в Параметрах системы / Действия.
Ноутбук: Acer Aspire 5930G-844G32Bn

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Template not found: /templates/acerfans/advert.tpl