Налаштування додаткових кнопок мультимедійної клавіатури
В інтернеті повнісінько статей на цю тему, однак мені довелося зіткнутися з деякими тонкощами, тому я ризикнула написати свою.
Отже, я обзавелася красунею Genius ErgoMedia 700 з аж 36-ма додатковими кнопками, але відразу на ній запрацювало тільки колесо прокрутки, і то тільки тому, що воно посилало ті ж кей-коди, що і стрілки.
1. Дізнаємося, які кнопки система не бачить.
Пишемо в консолі xev і починаємо натискати додаткові кнопки (намагаючись при цьому не ворушити мишкою, тому що її руху теж відслідковуються). Якщо на кожне натискання хоч щось виводиться, вам пощастило. А якщо ви знайдете модель своєї клавіатури в одній з таких програм, як hotkeys. keytouch. lineakd (є в репозиторіях) або sven (треба завантажувати і збирати) - вам пощастило вдойне, далі можна настроювати за їх допомогою в красивих гуях. Якщо не пощастило і на деякі клавіші xev не реагує, переходимо до кроку 2.
2. Прив'язуємо скан-коди.
Озброюємося папірцем і ручкою і переписуємо скан-коди, на які лається ядро (запам'ятовувати, до яких клавішах вони відносяться, не варто - все одно не стане в нагоді). У моєму прикладі це e028. Тепер потрібно дізнатися, які кей-коди вільні. Для цього пишемо наприклад sudo getkeycodes | grep 215 (число в десяткового запису, бажано між 128 і 256). Якщо нічого не виводиться, значить кей-код не зайнятий. Але не поспішайте писати за порадою ядра setkeycodes e028 215. Це призначення буде працювати до першого рестарту, тому потрібно потурбуватися якимось завантажувальним скриптом. Я вибрала /etc/rc.local (поправте мене, якщо це не кошерно), вийшло наступне: #! / Bin / sh -e
exec sudo setkeycodes e025 220
exec sudo setkeycodes e02f 221
.
exec sudo setkeycodes e023 239
exit 0
3. Надаємо кнопок імена.
Отже, після запуску скрипта xev повинен побачити всі кнопки. До речі, зверніть увагу, що кей-коди, що виводяться xev, не збігаються з тими, що ми писали в setkeycodes. Десь написано, що це баг, десь - що це фіча, але не суть важливо. Знову озброюємось папірцем і ручкою, але тепер відзначаємо, до яких саме кнопках це відноситься. Висновок xev виглядає приблизно так: KeyRelease event, serial 31, synthetic NO, window 0x2600001,
root 0x67, subw 0x0, time 265877259, (883,334), root: (886,358),
state 0x0, keycode 161 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False Нам цікаві ті кнопки, які названі NoSymbol. Або ж кнопка XF86Mail, зовсім не є Mail - її варто перейменувати. Переписуємо їх кей-коди.
Нам знадобиться утиліта xmodmap (з пакета x11-xserver-utils). В домашній директорії створюємо (або редагуємо) файл .Xmodmap приблизно такого змісту: keycode 129 = XF86AudioMedia
keycode 148 = XF86Music
keycode 202 = XF86Pictures
keycode 101 = XF86Documents Числа - переписання з виведення xev кей-коди. А можливі імена потрібно підглянути в кінці файлу / usr / share / X11 / XKeysymDB. В принципі видно, що всі вони будуються однаково: префікс XF86 і осмислену назву. Не забуваємо додати xmodmap в автозавантаження.
4. Призначаємо дії.
В принципі після команди xmodmap .Xmodmap можна налаштовувати дії кнопок KDE-шним засобами. Багато програм, наприклад Dolphin, Amarok, Kmix мають в меню пункт Клавіші де самі відловлюють натискання. Можна скористатися маленькою програмою xbindkeys з репозиторіїв, яка асоціює комбінації клавіш з консольними командами. Її настроювальний файл
/.xbindkeysrc також має найпростіший синтаксис і складається з блоків виду: "konsole"
XF86Book Відповідно в лапках команда, в наступному рядку клавіша або комбінація. Однак я рекомендую скористатися xbindkeys-config. яка сама відловлює натискання і дозволяє перевірити роботу команд. Чомусь вона відловлювала мої додаткові кнопки як Mod2 + XF86Book, а без Mod2 не працювала. Тепер можемо з садистським задоволенням призначити на кнопки Power Point, Excel і Word відповідно konsole, ksysguard і xkill :) xbindkeys -f .xbindkeysrc в автозавантаження.
5. Для користувачів Opera.
І не тільки, можливо для деяких інших браузерів це теж вірно. Повісити на кнопки WWW і Search команди opera і opera yandex.ru нескладно, а ось з кнопками навігації, а також Mail і Favorites не все так просто. Якщо піти в Інструменти-Налаштування-Додатково-Управління-Профілі клавіатури. то можна переконатися, що опера натискання відловлювати не вміє і назви типу XF86Forwad і XF86Back не розуміє. Багато де написано, що це до сих пір не виправлений баг, проте не турбуйтеся - все можливо! Після болісної, але переможної війни було з'ясовано, що досить в .Xmodmap призначити цим кнопки не хитромудрі імена, що починаються на XF86, а прості F19. F20 і так далі! Їх-то опера зрозуміє :)
Все, можете привітати себе з перемогою! А у мене ще 6 кнопок, для яких потрібно придумати дію.
Налаштування ДБЖ на прикладі Ippon Back Power Pro 800 Налаштування багатофункціонального принтера CANON PIXMA MP160
А засобами Амарока не виходить? Налаштування - Глобальні комбінації клавіш, і там потикати?
Чесно кажучи я щось не второпаю як можна перепризначити такі кнопки з мишачих на звичайні. Хіба що за допомогою inwheel, см посилання
Так, я вже Новомосковскл статтю. справа в тому, що кнопки медіа панелі дублюють кнопки миші, я підозрюю, що якщо їх перепризначити, то неправильно буде і сама миша фунцікліровать. А в Амарока не виходить навісити ці клавіші, він на них просто не реагує.
Так, проблема. Чесно кажучи не знаю як розділити "злиплі" кнопки. dmesg звичайно ж на цю тему мовчить?
У мене колесо клавіатури мабуть апаратно має такі ж сканкоди, як стрілки. А ось як клава може посилати той же, що і миша.
До речі, а дрова зі стандартних на evdev міняти не пробували? У клави або у мишки?
dmesg - справжній партизан! ;)
Миша у мене як раз на evdev висить, бо logitech з додатковими кнопками. А ось клава - звичайна-ноутбучная, є тачпад, а також ці медіа-кнопки. Виходить, і у тачпада, і у цих медіа-кнопок теж однакові сканкоди.
А чи немає якихось дров на тачпад сінаптіковскіх? У windows у мене за mediakeys відповідали саме вони!
От чорт! А ось це вже цікаво! Тобто медіа-кнопки це додаткові кнопки тачпада чи що.
Хм, я в списку знайшла xserver-xorg-input-evtouch. може це воно? До речі, клавіатуру теж можна на evdev повісити.
P.S. Таки відпишіться про результати, цікаво ж!
Допоможіть будь ласка відновити роботу мультимедійних клавіш, вони перестали працювати після оновлення з Hardy на Jaunty. Всі кнопки працюють (причому призначені на них дії збереглися), крім Play / Pause, Stop, Prev і Next.
Xev показує імена цих кнопок вірно (XF86AudioPlay, XF86AudioPrev.).
У Input Actions призначаю на них дії, прінажатіі кнопок відповідні їм імена прописуються там, але призначаються команди не виконуються.
Чесно кажучи, не знаю як у вас, але у мене все кнопки визначилися без будь-якого додаткового програмного забезпечення. Просто глобально собі понабудовували на потрібні дії, і все.
у меня такой вопрос.у мене на копі є додаткові кнопки для програвача на windows media вони працюють а на winampe немає скачував пору драйверів точпад вони не допомагають допоможіть плизззз