LINUX.ORG.RU

Как переназначить кнопку мыши в debian?

 , ,


0

2

Как переназначить кнопку мыши в debian? Всем привет! Подскажите, как переназначить или продублировать мультимедийные кнопки ноутбука asus n53sv на доп. кнопки мыши. Конкретно интересуют сочетания Fn+Left, Fn+Right (управление плеером) Думал через xbindkeys, но, кнопка Fn сама по себе не дает вывода, при проверке кода кнопки через xev. При нажатии же сочетанияя Получаю KeyRelease event, serial 41, synthetic NO, window 0x4c00001, root 0x94, subw 0x0, time 19005853, (168,-5), root:(1074,37), state 0x2010, keycode 171 (keysym 0x1008ff17, XF86AudioNext), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False

Т.е. сочетание интерпретируется, песни переключаются.

Доп. кнопки мыши отдают свои коды, 8 и 9 соответственно.

Вопрос, как заставить все это работать?


На нажатие соотв. кнопки мыши повесить в xbindkeys выполнение ```xdotool key XF86AudioNext```, например.

Smola ()
Ответ на: комментарий от Smola

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

Imrei ()
Ответ на: комментарий от Smola

да, пробывал из терминала. но это глупая затея была,комбинация с клавиатуры срабатывает при двух условиях. 1. хром активен 2. открыта вкладка с ВК. При выполнении команды из терминала фокус уходит на окно терминала, команда не будет выполнена, точнее не даст результата

Imrei ()
Ответ на: комментарий от Imrei

Ну по идее твой конфиг должен работать, если ты перезапустил xbindkeys или заставил его перечитать конфиг. Можно еще написать в терминале «sleep 5 && xdotool key XF86AudioNext» и переключиться на вкладку с ВК, чтоб убедиться что проблема не в xdotool.

Smola ()
Ответ на: комментарий от Smola

xdotool работает, с задержкой и переключением фокуса передает команду на хром. Значит проблема лежит в xbind, после каждого изменения конфига для надежности перезапускал сессию

Imrei ()
Ответ на: комментарий от Imrei

Попробуй выполнить killall xbindkeys, затем запустить xbk в foreground-режиме xbindkeys --verbose --nodaemon. Должно выводить информацию про срабатывания хоткеев и возможные ошибки в конфиге.

Smola ()

кнопка Fn сама по себе не дает вывода, при проверке кода кнопки через xev

Попробуй через xbindkeys -mk

dadd ★★★ ()
Ответ на: комментарий от Smola

Вывод xbindkeys --verbose --nodaemon

displayName = :0 rc file = /home/dmitry/.xbindkeysrc rc guile file = /home/dmitry/.xbindkeysrc.scm getting rc guile file /home/dmitry/.xbindkeysrc.scm. WARNING : /home/dmitry/.xbindkeysrc.scm not found or reading not allowed. Error in alocation of keys

Ругается мол отсутствует файл конфигурации, файл был, но без расширения .scm

Добавил расширение, получил

displayName = :0 rc file = /home/dmitry/.xbindkeysrc rc guile file = /home/dmitry/.xbindkeysrc.scm getting rc guile file /home/dmitry/.xbindkeysrc.scm. initializing guile fns... Backtrace: In ice-9/boot-9.scm: 157: 3 [catch #t #<catch-closure 16d2a00> ...] In unknown file: ?: 2 [apply-smob/1 #<catch-closure 16d2a00>] In ice-9/eval.scm: 393: 1 [eval #<memoized #{\xab;xdotool}#> ()] In unknown file: ?: 0 [memoize-variable-access! # #] ERROR: In procedure memoize-variable-access!: ERROR: Unbound variable: #{\xab;xdotool}#

Imrei ()
Ответ на: комментарий от Imrei

Все правильно было вначале, основной файл конфигурации это ~/.xbindkeysrc, он ругался на «Error in alocation of keys», у тебя скорее всего в конфиге ошибка. Он должен быть примерно таким:

"xdotool key XF86AudioNext"
    b:8

"xdotool key XF86AudioPrev"
    b:9
Т.е. команда в кавычках, затем на следующей строке кнопка, на которую биндится команда.

Smola ()
Ответ на: комментарий от Imrei

хм, ситуация такова. В корневой папке создал .xbindkeysrc и .xbindkeysrc.scm

второй файл пустой. при выполнении xbindkeys --verbose --nodaemon Ошибок нет, терминал выдает displayName = :0 rc file = /home/dmitry/.xbindkeysrc rc guile file = /home/dmitry/.xbindkeysrc.scm getting rc guile file /home/dmitry/.xbindkeysrc.scm. initializing guile fns...

min_keycode=8 max_keycode=255 (ie: know keycodes) starting loop...

Imrei ()
Ответ на: комментарий от Smola

так у меня сейчас все в таком виде и находится

Imrei ()
Ответ на: комментарий от Imrei

Вобщем удали .xbindkeysrc.scm и добейся чтоб при старте он показывал твой конфиг в выводе. Пример:

[smola@E530 ~]$ xbindkeys --verbose --nodaemon
displayName = :0
rc file = /home/smola/.xbindkeysrc
rc guile file = /home/smola/.xbindkeysrc.scm
getting rc guile file /home/smola/.xbindkeysrc.scm.
WARNING : /home/smola/.xbindkeysrc.scm not found or reading not allowed.
10 keys in /home/smola/.xbindkeysrc

min_keycode=8     max_keycode=255 (ie: know keycodes)
"xdotool type --delay 250 / && xdotool type $'login notretardedatall'"
    Release + KP_9
"xdotool type --delay 250 / && xdotool type $'home set work\r'"
    Release + KP_7
"xdotool type --delay 250 / && xdotool type $'spawn\r'"
    Release + KP_6
"xdotool type --delay 250 / && xdotool type $'home work\r'"
    Release + KP_4
"xdotool type --delay 250 / && xdotool type $'home end\r'"
    Release + KP_3
"xdotool type --delay 250 / && xdotool type $'home tmp\r'"
    Release + KP_2
"xdotool type --delay 250 / && xdotool type $'home mon\r'"
    Release + KP_1
"xdotool type --delay 250 / && xdotool type $'home\r'"
    Release + KP_0
"~/click.sh"
    Release + KP_5
"~/hold.sh"
    Release + grave
starting loop...

Smola ()
Ответ на: комментарий от Smola

Каким-то чудесным образом (сам не понимаю каким :D ) получилось запустить все, первую минуту было все в порядке, потом обрадовался, решил завершить процесс и запустить обычном режиме, все запускается, но. dmitry@asus:~$ xbindkeys --verbose --nodaemon displayName = :0 rc file = /home/dmitry/.xbindkeysrc rc guile file = /home/dmitry/.xbindkeysrc.scm getting rc guile file /home/dmitry/.xbindkeysrc.scm. WARNING : /home/dmitry/.xbindkeysrc.scm not found or reading not allowed. 2 keys in /home/dmitry/.xbindkeysrc

min_keycode=8 max_keycode=255 (ie: know keycodes) «xdotool key XF86AudioNext» m:0x0 + b:8 (mouse) «xdotool key XF86AudioPrev» m:0x0 + b:9 (mouse) starting loop...

*** Warning *** Please verify that there is not another program running which captures one of the keys captured by xbindkeys. It seems that there is a conflict, and xbindkeys can't grab all the keys defined in its configuration file.

Ругается, говорит мол есть еще какая-то программа, которая захватывает нажатия. С чем конфликтует не пойму

Imrei ()
Ответ на: комментарий от Imrei

Все, проблема решена, решение оказалось очень простым- в фоне откуда-то взялся xev, он хватал нажатия. Вопрос решен, огромное спасибо!

Imrei ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.