Показаны сообщения с ярлыком keyboard. Показать все сообщения
Показаны сообщения с ярлыком keyboard. Показать все сообщения

22 окт. 2008 г.

XBindKeys - не оставим мультимедиа клавиши без работы

Я пользуюсь мультимедиа клавиатурой Genius KB-21e Scroll, которая снабжена рядом дополнительных клавиш, таких как: управление звуком, аудио-плеером, браущером, а также ряд дополнительных клавиш наподобие вызова калькулятора, почтовой программы, запуска моего компьютера.
Поскольку расположение клавиатуры у меня на столе не позволяет всегда использовать горячие клавиши (правая часть клавиатуры не видна), однако - их функционал упрощает запуск того же калькулятора (часто я его использовал, когда курсовой по экономике писал), то я решил наделить клавиши данным функционалом
Так что не думаю, что данные клавиши никогда не пригодятся, мало ли какая ситуация может быть =)

В блоге своего знакомого наткнулся на описание xbindkeys, который позволяет привязать к каждой кнопке - запуск любой программы / выполнение скрипта
Решил создать функционал, который задумывали разработчики (не все горячие клавиши корректно работали в линуксе), поэтому если над кнопкой написано "E-mail" то к ней я привязывал почтовую программу, если "Calculator", то, соответственно, калькулятор.
Однако работу одной кнопки решил изменить и, вместо спящего режима решил запускать "Lock Screen" (Заблокировать экран), что для меня более актуально

Итак, приступим:

1. Установка xbindkeys:
sudo aptitude install xbindkeys // данный пакет есть в репозитариях *buntu
2. Создаём файл конфигурации

xbindkeys -d > ~/.xbindkeysrc
// заодно записываем настройки "по умолчанию" в файл

3. Для считывания скан-кодов клавиш используется команда
xbindkeys -mk
Появится небольшое окно, при нажатии клавиши в котором - в консоли отображается информация о клавише:
"(Scheme function)"
m:0x0 + c:160
XF86AudioMute
Из этих строк нас интересует только вторая, т.е m:0x0 + c:160

3. Теперь пришло время заполнить файл конфигурации своими данными

nano ~/.xbindkeysrc
куда вписываем (
все данные по умолчанию я удалил, за ненадобностью)
#Комментарий // не обязательно, лишь для того, чтобы не путаться в случае чего
"программа" // указывается программа, которая должна выполниться при нажатии клавиши
скан-код // сюда пищем скан-код (напр.:
m:0x0 + c:160) - без кавычек
4. Сохраняем скрипт (в nano это CTRL+O)

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

ln -s /usr/bin/xbindkeys /home/cool/.kde4/Autostart/

6. Проверяем работу, нажимая нужные клавиши =)


Вот собственно содержание моего файла ~/.xbindkeysrc , для клавиатуры Genius KB-21 Scroll
Используемый софт: аудио-плеер Amarok, калькулятор SpeedCrunch, web-браузер FireFox, файловый менджер Dolphin, почтовая программа ThunderBird, средство для поиска Beagle-Search из коллекции beagle, для управления звуком (уменьшить/увеличить/заглушить) я использовал Front канал, ну, и, Kubuntu 8.04

## Start of Multimedia functions
#Amarok Start
"amarok"
m:0x0 + c:237

#Next track
"amarok -f"
m:0x0 + c:153

#Previous track
"amarok -r"
m:0x0 + c:144

#Play-Pause
"amarok -t"
m:0x0 + c:162

#Stop
"amarok -s"
m:0x0 + c:164

#Volume Up
"amixer sset Front 1+"
m:0x0 + c:176

#Volume Down
"amixer sset Front 1-"
m:0x0 + c:174

#Volume Mute
"amixer sset Front toggle"
m:0x0 + c:160

##End of Multimedia functions

#Mail - Tunderbird
"thunderbird"
m:0x0 + c:236

#Browser - Firefox
"firefox"
m:0x0 + c:178

#Calculator
"speedcrunch"
m:0x0 + c:161

#MyComputer - Dolphin
"dolphin ~/"
m:0x0 + c:235

#Search
"beagle-search"
m:0x0 + c:229

#Lock Screen (on the "Sleep" button)
"kdesktop_lock --forcelock"
m:0x0 + c:223

P.S. Спасибо Sysmouse за подачу идеи

21 окт. 2008 г.

Настройка клавиатуры (раскладка)

Как-то раз у меня произошёл небольшой сбой в системе, который выразился в том, что раскладка клавиатуры сменилась (либо я где-то в настройках ошибся, не суть дела) на индийскую (in вроде бы).

После очередной попытки залогиниться в систему я увидел вместо привычного латинского алфавита различные индийские символы, которые печатались вместо необходимого мне логина и пароля, естественно, зайти в систему я не мог.

Мне помогло редактирование файла xorg.conf (находится в /etc/X11/)

Внимание! Всегда выполняйте backup (резервное копирование) редактируемых файлов, в случае чего, можно будет легко восстановить старый конфигурационный файл, я это делаю так:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.mybackup
Для восстановления, следовательно, нужна обратная последовательность
sudo cp /etc/X11/xorg.conf.mybackup /etc/X11/xorg.conf
краткий синтаксис cp: cp < что > < куда >, за подробнее — наберите в терминале man cp или cp —help

Теперь можно приступать к манипуляциям

Открыл файл на редактирование я следующим способом (при этом требуется иметь права на выполнение sudo и ввести пароль sudo, в (k)ubuntu это обычно пароль пользователя, на локальных машинах как минимум первый пользователь всегда наделён этим правом, поэтому проблем возникнуть не должно)

При открытии файла мною использовался редактор nano (при желании можно использовать другие, но, для меня, этот гораздно удобнее)
sudo nano /etc/X11/xorg.conf
Далее ищем следующие строки (оперируем < стрелка вниз >, а также < вверх >, < влево >, < вправо >, <>, <>).

Секцию относящуюся к клавиатуре, у меня это
«InputDevice» с идентификатором «Generic Keyboard».

Здесь, за раскладку клавиатуры отвечает строка
Option «XkbLayout» «us,ru(winkeys)» , в которой говорится, что раскладка переключается между US (United States, латиница) и RU (Russia, русская), приписка в скобочках необходима для удобного использования некоторых клавиш (напр.: < , > на < б >, а не на <>), рекомендуема для большинства русскоязычных пользователей, раскладка будет идинтична стандартной русской раскладке в windows.

Также можно выделить опцию Option «XkbOptions» «grp:alt_shift_toggle,grp_led:scroll» в которой оговаривается способ переключения расскладок клавиатуры, в данном случае это комбинация клавиш ALT+SHIFT, а также использование лампочки ScrollLock в качестве визуального оповещения (латиница — горит, русский — не горит)

Пример из моего
xorg.conf
Section «InputDevice»
Identifier «Generic Keyboard»
Driver «kbd»
Option «XkbRules» «xorg»
Option «XkbModel» «pc105»
Option «XkbLayout» «us,ru(winkeys)»
Option «XkbVariant» ",»
Option «XkbOptions» «grp:alt_shift_toggle,grp_led:scroll»
EndSection

После настройки выполняем перезапуск Х сервера

Для более детальной настройки клавиатуры, рекомендуется к прочтению
xorg.lst, который содержит описание каждой опции
nano /etc/X11/xkb/rules/xorg.lst