Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Настройка мультимедийной клавиатуры в консоли

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Железо
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Чт Dec 14, 2006 3:11 pm    Заголовок сообщения: Настройка мультимедийной клавиатуры в консоли
Ответить с цитатой

Автор статьи: serg_sk
Дата: 26.02.2005

Настройка мультимедийной клавиатуры в консоли
История началась тогда, када купил я себе, новую клаву, то есть на ней было аж 3 новых кнопки (Power, Sleep, Wake). Продолжилась тем, что я решил их заюзать. Значит настроить эти кнопочки в иксах труда особого не составило. А вот консоль... Консоль заставила почитать несколько манов Smile
Были прочитаны следующие маны:

setkeycodes (Cool, dumpkeys (1), loadkeys (1), showkey (1), getkeycodes (Cool, keymaps(5)

Итак, приступим. Smile
Важно: Вы спросите почему настройка мультимедийной клавы, да потому что все это применимо и к мультимедийным клавишам.

Шаг первый.
С помощью команды showkey получаем скан коды нащих клавиш.
Я, в ниже проилюстрированном примере, получил скан коды клавиш Wake, Sleep, Power соответственно.


Elvenhome root # showkey -s
режим клавиатуры был XLATE
нажмите на клавишу 'any' (она на системном блоке)...
Программа завершается после 10 секунд 'покоя' (не нажимается ни одна клавиша)
0xe0 0x63 0xe0 0xe3 //Первых две позиции - клавиша нажата, следующих две отпущена.
0xe0 0x5f 0xe0 0xdf //аналочично.
0xe0 0x5e 0xe0 0xde //аналогично.

А теперь попробуйте зпустить ту же программу только с ключиком -k. Не пугайтесь, программа ничего не выдаст, так и должно быть. И так у нас есть скан коды, но что же с ними делать? Как что?

Шаг второй.
Нужно назначить им соответствующие клавишные коды, с помощью команды setkeycodes.
Внимание! Важно: клавишных кодов есть всего 127. Это заложено в ядре. Поэтому, нужно глянуть в файл Вашей текущей раскладки клавиатуры (у меня используется раскладка ms-ru.map, файл которой лежит в /usr/share/keymaps/i386/qwerty/) и посмотреть есть ли там свободные места. Там так же могут быть расписаны все клавиши, но они могут не иметь никакого значения. Так же не пытайтесь ничего записать на нулевую позицию.


Elvenhome root # setkeycodes e063 122
Elvenhome root # setkeycodes e05f 123
Elvenhome root # setkeycodes e05e 124

Я назначил каждой клавише по клавишному коду. Теперь можете запустить, уже извесную Вам, команду showkey -k и посмотреть результат. Smile Но и это еще не все.

Шаг третий.
Открываем на редактирование файл вашей текужей раскладки и дописываем в него следующе:


...
keycode 122 = Decr_Console
keycode 123 = Incr_Console
keycode 124 = F13
string F13 = "/sbin/shutdown -h now\n"

Если Вы самостоятельно дописывали строку keycode, может быть случай, что она там уже есть, то старайтесь выровнять ее с вышенаписанной такой же строкой.
Поясню, что я написал. Я повесил на клавишу Wake переключение консолей (на одну назад), а на клавишу Sleep переключение консолей на одну вперед.
Теперь самая изюминка: так как на наших клавах нет клавиш F13, F14 (и так далее), то мы можем использовать эти клавиши как 'переменные' (наверно можно создать и свою 'переменную' но я не стал на этом зацикливаться). Значит я присвоил клавише F13 строчку '/sbin/shutdown -h now\n' (символ "\n" означает перевод строки, а в данном случае заменяет Enter), а потом клавише Power присвоил значение клавиши F13. Не забудьте в конце файла оставить пустую строку.
Теперь надо загрузить нашу раскладку:


Elvenhome root # loadkeys /usr/share/keymaps/i386/qwerty/ru-ms.map.gz

Все, теперь наслаждайтесь своей работой. Если у Вас что-то не получилось, вернитесь к Шагу 1.
Будьте внимательны! Если Вы находитесь, например, в редакторе vi, то при нажатии клавиши Power у Вас в редакторе появится строка:


/sbin/shutdown -h now

Причем курсор переведется на новую строку. То есть чтоб компьютер выключился, надо находиться непостредственно в командной строке. Переключение консолей работает независимо от того, что у Вас запущено, будь то vi или mp3vlaster.

Шаг червертый.
Наслаждаться Вы будете до первой перезагрузки. Как же так скажете вы? А вот так Smile
Нужно записать все команды setkeycodes в какой-нибудь загрузочный скрипт, для гентульменов я рекомендую все это дело засунуть в /etc/conf.d/local.start
Удачи и приятного освоения консоли!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Железо Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис