С udev можно использовать
ls -l /dev/disk/by-label
показать символьные ссылки маркировкой по крайней мере к некоторым узлам устройства раздела.
Не уверенный, какова логика включения, возможно существование маркировки.
Запустите программу xev
в терминале. Переместите мышь в xev
окно; Вы будете видеть много прокрутки материала. Нажмите каждую кнопку в свою очередь. Затем переключитесь назад на окно терминала и нажмите Ctrl+C. xev
показывает описание каждого входного события, в особенности ButtonPress
и ButtonRelease
для щелчков мышью (Вы будете также видеть много MotionNotify
для движений мыши и других событий).
Вероятно, что Ваши вперед и кнопки "Назад" отображаются на кнопках мыши, возможно, кнопки 8 и 9:
ButtonPress event, serial 29, synthetic NO, window 0x2e00001,
root 0x105, subw 0x0, time 2889100159, (166,67), root:(1769,98),
state 0x0, button 8, same_screen YES
Если это так, повторно отобразите эти кнопки на другое действие в Вашем браузере, если Вы можете. С другой стороны, можно повторно отобразить кнопки на различные номера кнопки, на которые браузер не реагирует или отключает кнопки в целом на системном уровне. Чтобы сделать это, поместите эти строки в названный файл ~/.Xmodmap
:
! Remap button 8 to 10 and disable button 9.
pointer = 1 2 3 4 5 6 7 10 0
Протестируйте его с командой xmodmap ~/.Xmodmap
. Большинство настольных сред и менеджеров окон выполняют эту команду автоматически, когда Вы входите в систему; если Ваш не делает, принимают меры, чтобы это работало, когда X запускается.
Также возможно, что Ваша мышь отправляет событие клавиатуры при нажатии этих кнопок:
KeyPress event, serial 32, synthetic NO, window 0x2e00001,
root 0x105, subw 0x0, time 2889100963, (957,357), root:(2560,388),
state 0x0, keycode 166 (keysym 0x1008ff26, XF86Back), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
В этом случае поместите строки как они в ~/.Xmodmap
:
keycode 166 = NoSymbol
keycode 167 = NoSymbol
Вы могли использовать xev
для нахождения, на который контурные карты кнопка отображаются и используют код ниже (в $HOME/.xsessionrc) для отображения его на что-то, Вы не используете.
xmodmap -e 'keycode THE_CODE_HERE = XF86Launch1'
С другой стороны, необходимо смочь сделать, это от GUI Вас использует Gnome/KDE или любые другие современные рабочие столы.
Еще одна опция состояла бы в том, чтобы взломать xorg.conf для удаления определений кнопки.
Можно сделать с помощью конфигурационного файла xorg
Вот пример отключения горизонтальной прокрутки (Сохраните новый файл и перезагрузитесь)
nano /etc/X11/xorg.conf.d/40 -libinput -мышь -left -right.conf
Section "InputClass"
Identifier "Logitech catchall"
MatchIsPointer "on"
Driver "libinput"
Option "HorizontalScrolling" "false"
EndSection
Другие полезные команды
xinput list
xinput list-props 15
Теперь для ответа на этот вопрос можно использовать файл конфигурации xorg для переназначения кнопки, вот пример
Section "InputClass"
#...
Option "ButtonMapping" "1 9 3 4 5 6 7 8 2"
#...
EndSection
просто быстрая команда для исправления, не особо отличающаяся от других ответов:
xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0 0 0 0 0" #the fix
тестирование
xmodmap -pp # check the changes
xterm -e xev # test the nullified buttons
# to restore in case you are going to play some game that uses them
xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9 10 11 12 13"
Вы можете поместить исправление cmd при запуске приложений.
Лучше было бы использовать xdotool, чтобы проверить, является ли активным окно любого из ваших браузеров, и вызвать xmodmap по требованию для отключения/включения m, но для этого потребуется некоторый сценарий :>
Я не вижу причин оставлять кнопки выше 7 активными, какая причина?
Если вы пытаетесь использовать xmodmap
команды (на X, а не на Weyland ), и вы получаете сообщение об ошибке BadValue (integer parameter out of range for operation)
в X_SetPointerMapping
, вам может потребоваться вместо этого использовать xinput
. Запустите xinput
без параметров, чтобы получить идентификаторы устройств (найдите один для указателя ), затем запустите
xinput set-button-map [pointer-device-id] 1 2 3 4 5 0 0 0 0
В моем случае моя мышь была устройством #4, и мне нужно было превратить кнопки 6 и 7 в 8 и 9, чтобы двигаться вперед и назад, поэтому я использовал
xinput set-button-map 4 1 2 3 4 5 8 9 8 9
(Я оставил кнопки 8 и 9 также привязанными к 8 и 9 на случай смены мышей.)
xev
вывод, просто передайте его по каналу через grep:xev | grep -A2 ButtonPress
; это оставит все события движения мыши, события фокуса, и т.д. и просто покажетButtonPress
события, который является всем, которое Вам нужно здесь. – Lambart 19.09.2014, 21:50