от gadnio(2-02-2006)

рейтинг (9)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Чудили ли сте се някога как се подкарват мултимедийните клавиши в Линукс? Аз, лично, да. И, честно да си призная, не съм намирал свястно решение на проблема. Всеки път, когато търся информация по този повод, чичко Гугъл ми казва за LinEAK, и как той прекрасно се сработвал със системата.. да, ама не. Моето лично мнение е, че LinEAK е бъгав и гаден. А и има текстов конфигурационен интерфейс :).
Решението на моя проблем се оказа KayTouch -- доста малка и удобна програмка за управление на мултимедийните клавиши. Честно да ви кажа, за сега е единствената, която е работила толкова време на машината ми без да забива, да се държи странно и да заема доста памет. Надъхах ли ви? Ако не съм, а и ако LinEAK работи перфектно при вас, недейте се мъчи да я инсталирате. Ако ли пък не, продължавайте да четете.
И така, нека да започнем:
Сайтът на програмата е:
http://keytouch.sourceforge.net/index.h...
Разгледайте какво пише. Аз лично свалих всичко от даунлоад страницата, но единственото нещо, което не си струва да инсталирате от там е getscancodes. Всичко друго си струва ( рано или късно ще ви се наложи да използвате повечето плъгини :) ). Изтеглете всичко, разархивирайте и инсталирайте по познатият начин.
БЕЛЕЖКА:
 Инсталирането на основната част, незнайно защо, е направено доста дърварски: трябва да инсталирате първо частта, която се намира в директорията keytouch-2.0/, след това да повторите познатата процедура ./configure && make && make install и в папките keytouch-2.0/keytouch-config и keytouch-2.0/keytouch-keyboard. След това инсталирайте плъгините с make install само (не е нужно да правите ./configure && make).

След това стартирайте програмата, като напишете keytouch. Важно: иска root права отначалото при първата конфигурация.
Молете се клавиатурата ви да я има в списъка. Ако я няма, прекръстете се 3 пъти, защото следва една нелека част: създаването на собствена клавиатура. Ако вашата клавиатура я има в списъка, просто изберете модела и настройте действията, които да се извършват при натискането на всеки бутон.
И така, нека предположим, че вашата клавиатура я няма в списъка. Тук е малко сложно и досадно, но все пак си струва болката и чувството за малоценност, което ви обзема, докато си направите файла с клавиатурата. Добрата новина е, че няма да се наложи да работите с xkb и ужасните му файлове. Лошата е, че редакторът, който са написали момчетата, е доволно глупав и никак не е приятно да се работи с него. Точно едно ниво над xkb по ужасност за използване, бих казал.
Редакторът се казва keyTouch editor и би трябвало да сте си го свалили и компилирали за всеки случай. На сайта пише, че се изпълнява като root, така и направих. Ето стъпките:
1) su
2) modprobe evdev
(ако тук ви даде грешка, най-вероятно имате компилиран evdev в ядрото и няма за какво да се притеснявате. Ако нямате, тогава лошо. Ако сте начинаещи или не ви се компилира ядро само заради този модул ще се наложи да се разминете с мултимедийните клавиши)
3) В папката, където сте разархивирали и компилирали редактора, се появява един файл keytouch-editor.
4) Отидете там и стартирайте програмата по следния начин:
./keytouch-editor /dev/input/eventX my-keyboard-model.kbd
Тук Х е число, пробвайте с всички от 0 доколкото имате там, докато налучкате кой файл отговаря за клавиатурата ви. my-keyboard-model.kbd е името на файла, който ще бъде създаден.
Ако всичко е наред и програмата разбира какви клавиши натискате (ще бъдете оведомени за това със сравнително приветливо съобщение), ще ви помолят да въведете името си и името на модела на клавиатурата.
5) Отворете нов терминал. там отидете в директорията, където сте инсталирали редактора (<нещо си там>/keytouch-editor 2.0). Влезте в поддиректория string_to_keycode и отворете файла string_to_keycode.c със свестен редактор, който поддържа лесно търсене (аз лично използвам less, достатъчно удобно за случая)
6) Редакторът ще ви задава въпроси от следния тип, на които се отговаря долу-горе по следния начин:
На въпроса
Press an extra function key or press enter to finish...
Натиснете СПЕЦИАЛЕН клавиш (от мултимедийните, де)
The name of the key you have pressed:
Тук напишете името на клавиша, който сте натиснали
An appropriate keycode for the key:
Тук потърсете в отворения файл (string_to_keycode.c) някакъв етикет, който да отговаря приблизително (по смисъл, може и по знаци) на клавиша, който сте натиснали, и въведете онази част от него, която е заградена в двойни кавички.
Пример:
Нека сме натиснали клавиш, на който пише "Back". Въвеждате
Back
като описание на клавиша и търсите във файла нещо, което да отговаря на горното описание. В случая намирате
[KEY_BACK] = "BACK",
което означава, че на въпроса "An appropriate keycode for the key:"
трябва да отговорите с
BACK
На следващия въпрос
You will now have to fill in the default action for this key.
This can be a program or a plugin. Just enter the name of the
or enter "plugin" to choose a plugin:
Отговорете с Ентер. И така, докато въведете всички клавиши.
Бележка:
Ако докато програмата слуша за клавиш (показва се надпис Press an extra function key or press enter to finish...), натиснете нещо друго, не се безпокойте -- просто въведете като данни за клавиша някви глупости по горния пример. След като завърши програмата, отворете файла с вашата клавиатура (my-keyboard-model.kbd в нашия пример) и изтрийте секциите <key>...</key>, които отговарят на тези клавиши.
След това стартирайте програмата
keytouch
и като ви пита за клавиатура, натиснете бутона "Import" и изберете файла, който току-що сте създали с редактора (в примера -- my-keyboard-model.kbd). После търсете в списъка името на вашата клавиатура и модел (това, което ВИЕ сте написали, докато сте създавали файла), и натиснете Ок.
След това си въведете настройките на всеки клавиш и ето ви работеща програма за клавиатурни подредби.

----
 С настоящата статия не искам да обиждам никой, който е фен на LinEAK, както и никой от създателите на тази програма. Просто изразявам лично мнение.
 Надявам се статията поне малко да ви е била полезна.


<< Плавно преминаване от една ОС/Дистрибуция на друга | Какви програми да си инсталираме след инсталация на Линукс ? >>