Отключить эмуляцию среднего щелчка

Я использую Ubuntu 15.04 на Dell XPS 13 с 2013 года. С 13.04 я иногда получаю случайную эмуляцию среднего клика / среднего клика. Я могу сказать, что это происходит потому, что текст в моем буфере обмена вставляется сам (поведение по умолчанию в Ubuntu) в случайное время.

Может кто-нибудь сказать мне, почему это происходит и как я могу это отключить?

4
задан 29 June 2018 в 23:37

2 ответа

Выполните следующую команду:

xmodmap -e "pointer = 1 25 3 4 5 6 7 8 9"

Для сохранения этого поведения отредактируйте ~/.Xmodmap и добавьте

pointer = 1 25 3 4 5 6 7 8 9
0
ответ дан 29 June 2018 в 23:37

Для Ubuntu 18.04 и более поздних версий (в которых по умолчанию включена эмуляция средней кнопки мыши):

Создайте скрипт с именем disable-middle-button-emulation со следующим содержимым:

#!/bin/bash

# to through all input devices
xinput list --id-only | while read id
do
    # if this device supports middle button emulation, disable it (both evdev and libinput variants)
    xinput --list-props "$id" | grep -qF "Evdev Middle Button Emulation" && xinput set-prop "$id" "Evdev Middle Button Emulation" 0
    xinput --list-props "$id" | grep -qF "libinput Middle Button Emulation" && xinput set-prop "$id" "libinput Middle Button Emulation" 0
    xinput --list-props "$id" | grep -qF "libinput Middle Emulation" && xinput set-prop "$id" "libinput Middle Emulation" 0
done

Затем запустите chmod a+x disable-middle-button-emulation, чтобы установить бит разрешения выполнения, а затем вы можете запустить его с помощью ./disable-middle-button-emulation. Если вы поместите файл в свой домашний каталог в подкаталог bin, вам не нужно добавлять префикс к команде. В качестве альтернативы вы можете поместить все вышеперечисленное в файл ~/.xsessionrc, который автоматически запускается всякий раз, когда вы запускаете новый сеанс X.

Чтобы проверить поведение системы (до или после вышеуказанного изменения), запустите xev, наведите указатель мыши на окно xev и одновременно нажмите левую и правую кнопки. Если вы получаете «кнопку 2» (средняя кнопка мыши) в выводе терминала, эмуляция все еще активна. Вы должны получить отдельные события для «кнопки 1» (левая кнопка мыши) и «кнопки 3» (правая кнопка мыши). Обратите внимание, что если симуляция активна, событие нажатия кнопки мыши 1 или 3 будет задержано на 50 мс, что вызовет дополнительную задержку для всего в системе. Если вы действительно хотите использовать эмуляцию, но уменьшить задержку, вы можете изменить приведенный выше скрипт, чтобы он искал Тайм-аут эмуляции кнопки и настроил его по своему вкусу. Значение по умолчанию — 50, что означает 50 мс.

1
ответ дан 13 October 2020 в 08:36

Другие вопросы по тегам:

Похожие вопросы: