Online video hd

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

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

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

25.02.10 23:14 booley

How-to`sxbindkeys

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

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

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

xbindkeys -d > ~/.xbindkeysrc


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

"command"
key

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

xbindkeys -mk


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

1
2
3
4
5
6
7
8
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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"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.



s2h 26.02.10 00:03 # +0
спасибо
кстати есть какая-нить возможность перенести конфиги в ~/.config/ хотя бы для этой программы?
digiwhite 26.02.10 00:14 # +0
А вам зачем?
s2h 26.02.10 01:30 # +0
что-бы не засорять домашнюю директорию кучей конфигов, для этого и придумали .config
digiwhite 26.02.10 06:23 # +0
Файл является скрытым. Не вижу ничего страшного.
muhas 26.02.10 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.10 10:10 # +1
зы, забыл спросить, а bash у вас тоже свой конфиг в ~/.config/ хранит? а флеш? а gkt? а гном? а кеды? а темы/иконки тоже не в .themes/.icons ложите а в ~/.config =)
уй какие захламители =)
надо быть менее прихотливым, и вам воздастся за это
Sokoloff 26.02.10 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.10 09:54 # +0
Так что, выставлять их в $HOME/.all IMHO некорректно
где-то видите противоречие? как раз в стандарте и написано что для пользователя определеят, вот я как пользователь себе и определил. раньше этой директорией всегда был $HOME =)

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

А почему бы и нет, чем плохо если программа следует стандарту?
тем что стандарты бывают разные, не всегда $XDG_* определены(хотя в линуксе уже скоро без него и шагу не сделаешь)
вообще введенный fdo стандарт достаточно хитрозад - ему не следуют даже сами составители (теже гномокеды следуют не полностью), да и gst от gconf (некоторые плагины) зависит . намекая что kde при полном следовании стандарту зависит от gtk/gnome - вот такие они "стандарты" ^_^
Sokoloff 27.02.10 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.10 14:10 # +0
и как эта поддиректория обзывается ~/.config или ~/.all IMHO в споре ничего не меняет. Или я опять чего не понял в вашем примере?
на то он и $HOME что там можно бардак разводить как угодно. это всё тонко очень, как по мне так ещё и не очень прозрачно. раньше всё что в хоме с . в начале всё конфиги иначе нет - вот порядок, а тут разброд и шатание (помнится автор deadbeef хранил всё в .config и только из комментов на лоре узнал о xdg) - не будет разброда будет гуд - иначе лажа как сейчас

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

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

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

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

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

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

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

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

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

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

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

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

btnx это конф.тулза или что-то отдельное?
booley 02.03.10 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


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

Лучшие блоги (все 122)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2169 из 180 городов)
Топ пользователей Топ блогов
welinux.ru

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

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


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

Online video HD

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

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

Full HD video online

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

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

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