Вопрос или проблема
Я только что обновился с Ubuntu 20.04 до Ubuntu 22.04 на своем Dell Latitude. На 20.04 я мог нажимать левую и правую кнопки одновременно, чтобы сымитировать средний щелчок, но после обновления это больше не работает. Какие-нибудь мысли?
Спасибо!
Благодаря комментарию от @craq, я следовал решению в этом ответе, и это сработало!
Все, что мне пришлось сделать, это открыть терминал и ввести команду для включения имитации средней кнопки мыши:
gsettings set org.gnome.desktop.peripherals.touchpad middle-click-emulation true
Вы также можете сделать это для мыши вместо тачпада
gsettings set org.gnome.desktop.peripherals.mouse middle-click-emulation true
Использование gsettings
не сработало, свойство уже было установлено в true
, но я смог заставить имитацию средней кнопки работать, используя xinput
, следуя предложению здесь.
Вот что я сделал, с некоторым выводом сокращенным как [...]
. Ваш вывод, конечно, будет другим.
Сначала выполните xinput
без аргументов, чтобы перечислить устройства, и найти мышь:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=10 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=12 [slave pointer (2)]
⎜ ↳ Logitech M325 id=15 [slave pointer (2)]
[...]
Обратите внимание, что для меня, id=15
это моя мышь.
Затем, перечислите конфигурацию для мыши:
$ xinput list-props 15
Device 'Logitech M325':
[...]
libinput Middle Emulation Enabled (324): 0
libinput Middle Emulation Enabled Default (325): 0
[...]
324
это идентификатор настройки имитации средней кнопки. Наконец, установите его в 1
, чтобы включить:
$ xinput set-prop 15 324 1
Обратите внимание, что это не сохраняется после перезагрузки, и идентификаторы устройства и настройки могут изменяться после перезагрузки. Команда xinput
поддерживает указание устройства и настройки по имени, так что, например, эта версия работает независимо от числовых идентификаторов (15 и 324) выше:
$ xinput set-prop 'Logitech M325' 'libinput Middle Emulation Enabled' 1
Ответ или решение
Обновление операционной системы с Ubuntu 20.04 до Ubuntu 22.04 может привести к изменению поведения ряда функций, в том числе таких, как эмуляция средней кнопки мыши. Эмуляция средней кнопки позволяет выполнять действия, обычно назначаемые средней кнопке мыши, нажатием одновременно левой и правой кнопок. В прошлом, на версии 20.04, эта функция работала безупречно, но после обновления до версии 22.04 некоторые пользователи столкнулись с проблемой невзаимодействия с этой функцией.
Теория
В Ubuntu (и других системах на основе Linux) существует возможность активировать эмуляцию средней кнопки на системном уровне, что позволяет обходиться без физической средней кнопки мыши. Это достигается с помощью установки определенных параметров конфигурации для устройств ввода. В Gnome, который часто используется в Ubuntu, это осуществляется через утилиту gsettings
, которая позволяет изменять особые параметры графического интерфейса.
Каждое обновление системы может повлечь изменения в настройках, и версия 22.04 не является исключением. Изменения могут касаться как самой утилиты, так и её взаимодействия с драйверами устройств (в данном случае с драйверами для мыши и трекпада).
Пример
После того как пользователь обновил систему до Ubuntu 22.04, он заметил, что функция эмуляции средней кнопки мыши перестала работать. Чтобы решить эту проблему, были предложены следующие шаги:
-
Использование утилиты Gsettings:
- Откройте терминал и выполните следующую команду для активации эмуляции средней кнопки на тачпаде:
gsettings set org.gnome.desktop.peripherals.touchpad middle-click-emulation true
- Если вы используете мышь, то команда будет следующей:
gsettings set org.gnome.desktop.peripherals.mouse middle-click-emulation true
- Откройте терминал и выполните следующую команду для активации эмуляции средней кнопки на тачпаде:
-
Использование утилиты Xinput:
- Если метод с использованием
gsettings
не работает (и ваше устройство не реагирует на изменения или настройки уже были выставлены в состояниеtrue
), вы можете воспользоваться более детальной настройкой черезxinput
. - Сначала, выполните команду
xinput
, чтобы получить список всех подключенных устройств и их идентификаторов. - Обратите внимание на идентификатор вашего устройства. Например, у вас это может быть
id=15
для вашей мыши. - Далее получите список свойств для вашего устройства, выполнив команду:
xinput list-props 15
Найдите строку
libinput Middle Emulation Enabled
. Если она установлена в0
, это значит, что эмуляция отключена. - Включите эмуляцию, выполнив:
xinput set-prop 15 324 1
(где
15
— ваш идентификатор устройства, а324
— идентификатор свойства).
- Если метод с использованием
Применение
Решение проблемы с помощью утилиты xinput
требует выполнения настройки после каждого перезагрузки, так как изменения не сохраняются автоматически. Чтобы решение было постоянным, можно создать скрипт загрузки и добавить его в автозагрузку:
-
Создайте скрипт с настройками:
#!/bin/bash xinput set-prop 'Logitech M325' 'libinput Middle Emulation Enabled' 1
-
Сделайте его исполняемым:
chmod +x middle-click-emulation.sh
-
Добавьте скрипт в автозагрузку:
Откройте приложение "Программы автозагрузки" и добавьте новый элемент с вашей командой.
Таким образом, вы сможете обеспечить автоматическое применение этих настроек при каждой загрузке системы, избегая необходимости вручную их настраивать после каждого перезапуска системы.
Подводя итог, стоит отметить, что взаимодействие с устройствами ввода на уровне системы может варьироваться в зависимости от используемых инструментов и утилит. Поэтому в случае обновления системы или изменения конфигурации устройства, настоятельно рекомендуется проверять настройки и, при необходимости, изменять их в соответствии с вашими предпочтениями.