Горячие клавиши на Toshiba AC100 в Ubuntu

В Лубунте (Lubuntu), которой я недавно ставил на Тошибу жены, почему-то не настроены горячие клавиши, идущие на смартбуке верхним рядом. Написал конфиг для программы input-event-daemon, может пригодится кому-нибудь. Дополнительно нужно поставить пакеты xdotool и wmctrl, остальное уже в Лубунте есть:

[Global]
# следим за событиями клавиатуры
listen = /dev/input/event0
# События крышки
listen = /dev/input/event4

[Keys]
# уменьшение яркости
META + F6 = echo $((`cat /sys/class/backlight/pwm-backlight/brightness` - 10)) > /sys/class/backlight/pwm-backlight/brightness
# увеличение яркости
META + F7 = echo $((`cat /sys/class/backlight/pwm-backlight/brightness` + 10)) > /sys/class/backlight/pwm-backlight/brightness
# включение/отключение радиомодулей (вайфай, блютуз)
META + F8 = rfkill $(rfkill list | fgrep -q yes && echo un)block all
# включение/выключение звука
META + F12 = a=$(amixer sget Master|fgrep -q '[off]'&&echo un)mute; for m in Master Speaker Headphone; do amixer -q sset "$m" $a; done
# показать/скрыть рабочий стол
MENU = wmctrl -k $(wmctrl -m|fgrep -q OFF&&echo on||echo off)
# уменьшить громкость
META + F10 = v=$((`amixer get Master|awk -F[\[%] '/[0-9]+%/ {print $2; exit}'`-10)); [ $v -lt 0 ] && v=0;amixer set Master $v%
# увеличить громкость
META + F11 = v=$((`amixer get Master|awk -F[\[%] '/[0-9]+%/ {print $2; exit}'`+10)); [ $v -gt 100 ] && v=100;amixer set Master $v%
# клавиша поиска теперь вызывает искалку
SEARCH = catfish &
# скриншот экрана на рабочий стол
META + SYSRQ = scrot 'screen-%Y-%m-%d_%s.png' -e 'chown "'$SUDO_USER'" "$f"; mv "$f" "/home/'$SUDO_USER'/Desktop"'
# Клавиша Delete, как в Маке
META + BACKSPACE = xdotool key Delete

[Switches]
# Сброс звуковой карты на подъём крышки
LID:0 =  alsaucm -c tegraalc5632 reset

В качестве клавиши «Fn» выступает клавиша с «домиком», именно она опознаётся программой как «META». Последняя строка добавлена, что исправить глюк — у меня иногда после того, как устройство просыпается, звуковая плата из спячки не выходит.

Поделиться
Отправить
 52   2012   linux   toshiba
23 комментария
NeonXP 2012

Meta? Странно, обычно она обозначается как Super. Или может я что-то путаю...

Евгений Степанищев (bolknote.ru) 2012

Комментарий для NeonXP:

Это же не Fn, это просто клавиша с домиком.

hshhhhh (hshhhhh.name) 2012

Это же не Fn, это просто клавиша с домиком.

Super -​-​ это win который.
Meta -​-​ обычно альт же.

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

Евгений Степанищев (bolknote.ru) 2012

Комментарий для hshhhhh.name:

На «тошке» у меня «alt» высвечивается у меня этой программой как «ALT», а «домик» — как «META». Вот тут можно посмотреть как клавиатура выглядит: http://www.priceindia.org/laptop/wp-content/uploads/2011/11/toshiba-ac100-keyboard.jpg

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

Это Лубунта, там LXDE+OpenBox, не знаю как это там делается, ничего не нашёл. Там софт-то,… небольшая программа на Си, которая слушает специальные файлы, которые есть в системе.

Валентин 2013

Комментарий для Евгения Степанищева:

Подскажите, пожалуйста, как установить на Тошибу ас100 (lubunta) input-event-daemon.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

Я уж и не помню. Кажется, я его просто скомпилировал.

Валентин 2013

Комментарий для Евгения Степанищева:

Нашел bin и confi для input-event-daemon
( http://masu.6f.sk/index.php/Nsa310_buttons );
confi заменил на Вашу;скопировал
/usr/local/bin/input-event-daemon
/ect/input-event-daemon.confi
потом
chmod +x input-event-daemon
sudo ./input-event-daemon
но получил
sudo: unable to execute ./input-event-daemon:no such file or directory
хотя ls -ltr показывает присутствие файла.
Мои познания lubuntu любительские, связанные с покупкой АС100. Буду благодарен, если подскажите, что делаю не так.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

sudo /usr/local/bin/input-event-daemon -c /ect/input-event-daemon.confi

Валентин 2013

Комментарий для Евгения Степанищева:

Большое спасибо за совет, однако получил снова no such file or directory,хотя еще проверил sudo $PATH и там присутствует /usr/local/bin/

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

Что выдают команды
ls /usr/local/bin/input-event-daemon
и
ls /ect/input-event-daemon.confi
?

Валентин 2013

Комментарий для Евгения Степанищева:

-bash:ls/usr/local/input-event-daemon:No such file or directory
ls:cannot access /ect/input-event-daemon.conf:No such file or directory

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

Хм… Ну так положите конфиг в /etc/, а input-event-daemon в /usr/local/bin/
Я почему-то из вашего первого комментария понял, что вы так и сделали.

Валентин 2013

Комментарий для Евгения Степанищева:

Сегодня проверил снова ls и вот результат,хотя ничего не трогал:
/usr/local/bin/input-event-daemon
/etc/input-event-daemon.conf
Потом попоробовал
sudo /usr/local/bin/input-event-daemon -c /etc/input-event-daemon.conf
и получил
sudo: unable to execute /usr/local/bin/input-event-daemon:no such file or directory

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

По переписке отладить не берусь. Вроде, всё правильно.

Валентин 2013

Комментарий для Евгения Степанищева:

Большое спасибо за помощь. Думаю осталась какая-то мелочь. Попробую разобраться.

Валентин 2013

Комментарий для Евгения Степанищева:

Все получилось, однако пришлось перекомпелировать input-event-daemon.
Еще раз спасибо за горячие клавиши.
Остался один вопроc:как запустить их при загрузке? (добавление строки @input-event-daemon в autostart не дало результата)
 

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

Увы, я не знаю что такое autostart. Я добавил строку
/usr/local/bin/input-event-daemon -c /etc/input-event-daemon.conf
в файл /etc/rc.local

Валентин 2013

Комментарий для Евгения Степанищева:

Все работает! Спасибо!

Валентин 2013

Комментарий для Евгения Степанищева:

После загрузки клавиши MENU, SEARCH, META + SYSRQ (копия экрана на desktop)сразу не поключаются, а начинают работать, если загрузить input-event-daemon из-под root.
Eсли просто загрузить input-event-daemon в терминале, то получается
input-event-daemon: open (/dev/input/event0):Permission denied
Если править вручную Permission, то правка пропадает после перезагрузки.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

rc.local как раз из-под рута должен пускать.

Валентин 2013

Комментарий для Евгения Степанищева:

Как я понял, поскольку я вхожу как юзер, а rc.local запускает из-под рута MENU, SEARCH, META + SYSRQ , то они не работают. Удалось запустить MENU, SEARCH, добаив в rc.local две строчки :
chown USER:USER /dev/input/event0
chown USER:USER /dev/input/event4

Однако META + SYSRQ так и не работает.

Еще один вопрос. В конфиг в конце имеется пункт

Сброс звуковой карты на подъём крышки

Поскольку у меня АС100 не просыпается,то нелзя ли дописать в конфиг похожее условие для просыпания.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Валентин:

Поскольку у меня АС100 не просыпается,то нелзя ли дописать в конфиг похожее условие для просыпания

Можно, наверное. Только у меня нет желания этим заниматься, у меня-то он просыпается.

Валентин 2013

Комментарий для Евгения Степанищева:

Еще раз благодарю за прекрасные горячие клавиши!

Популярное