Видео ролики бесплатно онлайн

Смотреть 2022 видео

Официальный сайт all-remont 24/7/365

Смотреть видео бесплатно

booley 25.02.2010 23:14

How-to`sxbindkeys

xbindkeys — программа для привязки команд к клавишам (это еще зовется хоткеями). В чем плюс — она не привязана ни к какому WM или (боже упаси) DE, а значит можно использовать одни хоткеи во всех WM (если у вас стоит больше чем один window manager).

Сначала нужно создать файл конфигурации. Лучше всего его расположить в домашней папке.

Чтобы xbindkeys выдал конфиг, нужно запустить его с параметром -d. Не будем захламлять консоль, сразу перенаправим вывод в конфиг.

xbindkeys -d > ~/.xbindkeysrc

Как следует из комментариев в этом файле, хоткеи задаются в формате:

"command"
key

И если с "command" все более-менее понятно, то для key нужно получить сканкод клавиши. Для этого запускаем (из эмулятора терминала)

xbindkeys -mk

И передав фокус в появившееся окно, смело нажимаем нужные кнопки. В консоли будет нужный код

randomwind@farrias: ~$xbindkeys -mk
Press combination of keys or/and click under the window.
You can use one of the two lines after «NoCommand»
in $HOME/. xbindkeysrc to bind a key.
— — Press «q» to stop.— -
«(Scheme function) «
m:0x0 + c:225
XF86Search
Из чего видно, что нужный код: m:0x0 + c:225 (для кнопки Search на моей мультимедиа-клавиатуре).

Например, часть моего конфига. MPC.
"mpc next"
c:171 + m:0x0

"mpc prev"
c:173 + m:0x0

"mpc stop"
c:174 + m:0x0

"mpc toggle"
c:172 + m:0x0

"notify-send "`mpc|head -1`" "`mpc`""
c:181 + m:0x0

Надеюсь, в общих чертах понятно.

UPD: После написания наткнулся на http://www.juev.ru/2009/09/13/xbindkeys/
Про сочетания в стиле emacs.


Тэги: howto xbindkeys кратко новичку
+ 11 -
Похожие Поделиться

s2h 26.02.2010 00:03 #
+ 0 -
спасибо
кстати есть какая-нить возможность перенести конфиги в ~/.config/ хотя бы для этой программы?
digiwhite 26.02.2010 00:14 #
+ 0 -
А вам зачем?
s2h 26.02.2010 01:30 #
+ 0 -
что-бы не засорять домашнюю директорию кучей конфигов, для этого и придумали .config
digiwhite 26.02.2010 06:23 #
+ 0 -
Файл является скрытым. Не вижу ничего страшного.
muhas 26.02.2010 10:07 #
+ 1 -
это для тех кто следует стандарту xdg, а всем ли программам он нужен?
у меня вот достаточно долгое время $XDG_CONFIG_HOME была выставлена в $HOME/.all/etc вместо ~/.config а $XDG_DATA_HOME и прочее в ~/.all/share и т.д. - эти переменные придуманы совсем не для того что бы "не захломлять"

ну а если надо то xbindkeys -f путь/к/конфигу (-fg для scm файлов)

а теперь по сабжу
Писали уже на вилинуксе о гуйне xbindkeys_config (для ленивых) но emacs сочетания не умеет гуй.
а так вот пример емаксоподобного сочитания клавиш (только тут в примере в добавок к тому что у Juev показано два префикса.
muhas 26.02.2010 10:10 #
+ 1 -
зы, забыл спросить, а bash у вас тоже свой конфиг в ~/.config/ хранит? а флеш? а gkt? а гном? а кеды? а темы/иконки тоже не в .themes/.icons ложите а в ~/.config =)
уй какие захламители =)
надо быть менее прихотливым, и вам воздастся за это
Sokoloff 26.02.2010 17:11 #
+ 0 -
это для тех кто следует стандарту xdg, а всем ли программам он нужен?
А почему бы и нет, чем плохо если программа следует стандарту?

эти переменные придуманы совсем не для того что бы "не захломлять"
Извините, а для чего?

В стандарте написано "$XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored.".
Так что, выставлять их в $HOME/.all IMHO некорректно, и уж точно это не основное их предназначение.
muhas 27.02.2010 09:54 #
+ 0 -
Так что, выставлять их в $HOME/.all IMHO некорректно
где-то видите противоречие? как раз в стандарте и написано что для пользователя определеят, вот я как пользователь себе и определил. раньше этой директорией всегда был $HOME =)

Извините, а для чего?
что бы унифицировать, не? а xdg ещё и некий стандарт на меню и соответсвия мимтипов программе.

А почему бы и нет, чем плохо если программа следует стандарту?
тем что стандарты бывают разные, не всегда $XDG_* определены(хотя в линуксе уже скоро без него и шагу не сделаешь)
вообще введенный fdo стандарт достаточно хитрозад - ему не следуют даже сами составители (теже гномокеды следуют не полностью), да и gst от gconf (некоторые плагины) зависит . намекая что kde при полном следовании стандарту зависит от gtk/gnome - вот такие они "стандарты" ^_^
Sokoloff 27.02.2010 13:34 #
+ 0 -
Так что, выставлять их в $HOME/.all IMHO некорректно
Прошу прощения, это я ошибся, я прочитал это как /home/.all, т.е. я думал Вы делали что-то вроде виндового \Documents and Settings\All Users.

Но, мы обсуждаем вопрос хранить конфиги в домашней директории или в поддиректории, и как эта поддиректория обзывается ~/.config или ~/.all IMHO в споре ничего не меняет. Или я опять чего не понял в вашем примере?

что бы унифицировать, не?
Не, унификация была и раньше - все и всё хранили в $HOME. А вот бардак в хомяке через некоторое время возникал, да и сейчас возникает. Вот сделал ls -a ~/ |grep "^\." | wc -l и получил 74 файла/директории, и это при том, что часть программ хранит конфиги в .config, .kde и.т.п.

не всегда $XDG_* определены
Это в стандарте учтено "If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used.". Так что здесь никаких проблем нет.

вообще введенный fdo стандарт достаточно хитрозад - ему не следуют даже сами составители (теже гномокеды следуют не полностью), да и gst от gconf (некоторые плагины) зависит . намекая что kde при полном следовании стандарту зависит от gtk/gnome - вот такие они "стандарты" ^_^
Насколько я понимаю fdo продвигает не один стандарт, а набор стандартов для разных задач. И разработчику программы, конечно нужны не все fso-шные стандарты, скажем, создателю консольной программы не нужна "Icon Theme Specification". Но следовать "XDG Base Directory Specification", IMHO ничто не мешает, кроме лени разработчиков, благо стандарт маленький и простой как 3 копейки.

Структура KDE это какой то кошмар, без поиска найти что либо практически не возможно. Скажем хранить почту в "/home/user/.kde4/share/apps/kmail/mail" это бред. Но это IMHO не повод валить все в домашнюю директорию.



muhas 27.02.2010 14:10 #
+ 0 -
и как эта поддиректория обзывается ~/.config или ~/.all IMHO в споре ничего не меняет. Или я опять чего не понял в вашем примере?
на то он и $HOME что там можно бардак разводить как угодно. это всё тонко очень, как по мне так ещё и не очень прозрачно. раньше всё что в хоме с . в начале всё конфиги иначе нет - вот порядок, а тут разброд и шатание (помнится автор deadbeef хранил всё в .config и только из комментов на лоре узнал о xdg) - не будет разброда будет гуд - иначе лажа как сейчас

Это в стандарте учтено
но не учтена перезапись если я в ~/.config храню под такиме же именами что-то =)
Sokoloff 27.02.2010 14:53 #
+ 0 -
на то он и $HOME что там можно бардак разводить как угодно.

Мне лично бардак в $HOME и не нравиться.

это всё тонко очень, как по мне так ещё и не очень прозрачно. раньше всё что в хоме с . в начале всё конфиги иначе нет - вот порядок
Не все так здорово, сейчас в ~/.pogram/ программа хранит все свои данные, и конфиги и кеши и сохраненные данные, например у меня в .VirtualBox/ лежат образы дисков, .bogofilter/ - база спама. XDG как раз предлагает структурировать данные ($XDG_CONFIG_HOME, $XDG_CONFIG_HOME и.т.д.).
а тут разброд и шатание ... - не будет разброда будет гуд - иначе лажа как сейчас

Для этого и делают стандарты, чтоб не было разброда и шатания.

Sokoloff 27.02.2010 14:54 #
+ 0 -
но не учтена перезапись если я в ~/.config храню под такиме же именами что-то =)
А перезапись ~/.programrc?
muhas 27.02.2010 17:41 #
+ 0 -
а это уже в стандарте не описано =)
mutantcornholio 26.02.2010 20:01 #
+ 0 -
Единственный резон для этого - бекап конфигов, что реализуемо ln'ами. Но симлинки всё равно останутся в ~
Minoru 26.02.2010 00:34 #
+ 1 -
>для кнопки Search на моей мультимедиа-клавиатуры
«е»?

Плюсик тебе, добрый человек. У самого xbindkeysd некоторыми биндингами заведует.
booley 26.02.2010 11:14 #
+ 0 -
>для кнопки Search на моей мультимедиа-клавиатуры
«е»?

Спасибо, поправил.

xbindkeys не панацея, некоторые хоткеи могут (и должны) быть "от" window manager. Связанные с окнами, к примеру, или переключение рабочих столов.

А для таких плюшек, как mpc next - очень даже.
muhas 27.02.2010 09:59 #
+ 0 -
а я стараюсь xbindkeys и на управление wm повесить если wm позволяет (благо мой крысояд это позволяет) это неимоверно облегчает переход на другой wm(который тоже так умеет) если поменять конфиг не разбираясь в тонкостях хоткеев wm'а (да тот же крысояд считает клавиши при русской и басурманской раскладкой разными - Cyrillic_yeru и e к примеру, а ещё и заглавные буквы как Cyrillic_YERU != Cyrillic_yeru)
ner_uto 26.02.2010 01:35 #
+ 0 -
А тут я писал про MoC.

Кстати, в нынешнем компе нет мультимедия-клавиш, так что пост твой напомнил о xbindkeys, а то управляю либо запуском плеера, либо командами в консоли. Как не белый человек прям.
ner_uto 26.02.2010 01:36 #
+ 0 -
Да, и поправь ссылку в посте в апдейте.
exelens 26.02.2010 07:57 #
+ 0 -
Готово
digiwhite 26.02.2010 06:26 #
+ 0 -
Мне думается, что обязательно стоило упомянуть про утилиту xev. Так, на всякий случай.
booley 26.02.2010 11:10 #
+ 0 -
А еще есть xev!

Такого же будет недостаточно.

Лучше написать отдельный пост, а сюда ссылку.
Nivelir 01.03.2010 10:18 #
+ 0 -
Для настройки дополнительных клавиш мыши (скажем 4ой, 5ой) отлично подходит btnx
У меня таким раком настроены копирование и вставка.
booley 01.03.2010 16:45 #
+ 0 -
Кнопки мыши xbindkeys ловит. Насчет 4-5ых правда не знаю.

btnx это конф.тулза или что-то отдельное?
booley 02.03.2010 09:58 #
+ 0 -
Apt-cache выдает это:
randomwind@farrias:~$ apt-cache show btnx
Package: btnx
Priority: optional
Section: utils
Installed-Size: 120
Maintainer: Philipp Huebner
Architecture: i386
Version: 0.4.11-3
Depends: libc6 (>= 2.3), libdaemon0 (>= 0.10), btnx-config (>= 0.4.9)
Filename: pool/main/b/btnx/btnx_0.4.11-3_i386.deb
Size: 20746
MD5sum: 32df79d5dd7c38b87ab5b53c654789f0
SHA1: 37ee391ab858e8ee0cf3be7e8bae17b92a2196f4
SHA256: 0858f94b64477a9f7db4ec02f27678c28fd5ae0efe6e9a9442328d579d550b55
Description-ru: служба перенаправления событий, генерируемых кнопками мыши
btnx — это служба, которая позволяет отправлять события клавиатуры и
комбинаций кнопок мыши при нажатии кнопки мыши. Также она может выполнять
команды. Обеспечивает простой и быстрый способ настройки кнопок мыши в
соответствии с вашими предпочтениями.
Homepage: http://www.ollisalonen.com/btnx/
Tag: hardware::input, hardware::input:mouse, implemented-in::c, role::program, use::configuring


Я примерно понял :)

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн