Таким образом, я пытался просмотреть различные другие вопросы, но они главным образом фокусируются на отключении средней вставки мыши.
В основном средняя кнопка мыши на моем Logitech G500s повреждается, и это продолжает "нажимать" случайным образом, таким образом, это завинчивает любой шанс выполнения работы.
Там какой-либо путь состоит в том, чтобы отключить его? Или ни на что отобразите его?
Спасибо и извините если это - дубликат.
xinput list
вывод:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Turtle Beach Turtle Beach PX3 (XBOX) id=8 [slave pointer (2)]
⎜ ↳ Logitech G500s Laser Gaming Mouse id=9 [slave pointer (2)]
⎜ ↳ Logitech G500s Laser Gaming Mouse id=10 [slave pointer (2)]
⎜ ↳ Razer Razer DeathStalker id=12 [slave pointer (2)]
⎜ ↳ Razer Razer DeathStalker id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Razer Razer DeathStalker id=11 [slave keyboard (3)]
Выполните те команды:
xinput set-button-map 9 1 0 3
xinput set-button-map 10 1 0 3
первое число является идентификатором указателя (Вы будете часто только иметь один, в этом случае было два, 9 и 10).
следующие числа - то, что Вы делаете с первым, вторым, и третий (т.е., оставленные, середина, право) кнопки мыши. "1 0 3" говорит ему, что левая кнопка должна сделать щелчок левой кнопкой (действие 1), средняя кнопка ничего не должна делать, и правильная кнопка должна сделать щелчок правой кнопкой (действие 3). Если Вы хотите заставить среднюю кнопку также сделать щелчок левой кнопкой, Вы могли бы использовать "1 1 3". Если бы Вы хотели переключить правые и левые действия, то Вы могли бы использовать "3 0 1". См. https://wiki.ubuntu.com/X/Config/Input для большего количества информации
Следующие инструкции основаны на информации в Ubuntu Wiki (Прокрутите вниз к заголовку "Пример: Отключение средней кнопки мыши вставляет на scrollwheel мыши").
Первый, определите идентификатор указателя путем списка устройств ввода данных:
xinput list | grep 'id='
И ищут строку, которая содержит название Вашего указателя, также должен быть идентификатор устройства, прямо после "идентификатора =". Например, идентификатор этого устройства равняется 10:
Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=10 [slave pointer (2)]
Затем, получают текущую карту кнопки того устройства (я буду использовать идентификатор своего устройства, которое равняется 10):
xinput get-button-map 10
Вывод:
1 2 3 4 5 6 7 8 9
Это отображается кнопок указателя на действия, где число представляет код действия и положение - кнопка.
Мы интересуемся второй картой - номер 2 соответствует действию "Щелчок средней кнопкой" и положение его - к фактической средней кнопке.
Для отключения средней кнопки, инициировавшей любое действие, я использовал бы команду xinput set-button-map
с идентификатором устройства, и обновленная карта (новый код действия 0 - никакое действие). Никакая потребность поместить целую карту - карта, пока заинтересованная кнопка не достаточна (остальные просто не будут обновлены):
xinput set-button-map 10 1 0
Вот именно.
set-button-map
отключает функциональность щелчка средней кнопкой. Для эмуляции щелкают средней кнопкой по использованию left+right щелчок (таким образом, можно вставить и открыть на вкладке и т.д. использование мыши), но отключите щелчки колеса мыши, можно исправить libinput:
--- a/src/evdev.c 2019-09-22 17:15:13.498880044 +0300
+++ a/src/evdev.c 2019-09-22 17:15:18.062860221 +0300
@@ -1861,6 +1861,8 @@
/* Logitech Marble Mouse claims to have a middle button */
if (device->model_flags & EVDEV_MODEL_LOGITECH_MARBLE_MOUSE)
libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
+
+ libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
}
static void
mkdir deb; cd deb; apt source libinput; sudo apt build-dep libinput
libinput-1.XX.Y/debian/patches/middle.diff
middle.diff
кому: debian/patches/series
dpkg-buildpackage -us -uc -b
sudo dpkg -i ../libinput10_*.deb
И используйте xinput list
и xinput set-prop 11 "libinput Middle Emulation Enabled" 1
включить left+right эмуляцию. 11
номер устройства от xinput list
и можно добавить команду опоры набора к ~/.xstartup
.
Или, к постараться не восстанавливать, используйте libinput .quirks (непротестированный) файл:
[My Mouse]
MatchUdevType=mouse
AttrEventCodeDisable=BTN_MIDDLE;
Это то, что я делаю в Ubuntu 20.04 (использует Wayland по умолчанию), чтобы отключить мою среднюю кнопку или переназначить мою среднюю кнопку.
Чтобы найти идентификатор моего устройства:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:17 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:17 id=7 [slave pointer (2)]
⎜ ↳ xwayland-touch:17 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:17 id=8 [slave keyboard (3)]
Мне пришлось провести пару тестов, прежде чем я нашел правильный идентификатор. Для меня это было 6.
Чтобы увидеть текущую карту кнопок:
$ xinput get-button-map 6
1 2 3 4 5 6 7 8 9 10
Чтобы отключить среднюю кнопку:
$ xinput set-button-map 6 1 0 3 4 5 6 7 8 9 10
Чтобы переназначить среднюю кнопку на левый клик:
$ xinput set-button-map 6 1 1 3 4 5 6 7 8 9 10
Чтобы запускать при запуске, создайте файл и сделайте убедитесь, что он исполняемый (chmod a+x):
#!/bin/bash
xinput set-button-map 6 1 1 3 4 5 6 7 8 9 10
Ubuntu и другие дистрибутивы на основе GNOME поставляются с приложением, называемым просто «Startup Applications». Его можно использовать для управления приложениями и сценариями, которые запускаются при новой перезагрузке системы или входе в систему. Так что просто выполните поиск, откройте его и добавьте только что созданный файл.