Средний щелчок не эмулируется в версии 22.04

Вопрос или проблема

Я только что обновился с 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, он заметил, что функция эмуляции средней кнопки мыши перестала работать. Чтобы решить эту проблему, были предложены следующие шаги:

  1. Использование утилиты Gsettings:

    • Откройте терминал и выполните следующую команду для активации эмуляции средней кнопки на тачпаде:
      gsettings set org.gnome.desktop.peripherals.touchpad middle-click-emulation true
    • Если вы используете мышь, то команда будет следующей:
      gsettings set org.gnome.desktop.peripherals.mouse middle-click-emulation true
  2. Использование утилиты 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 требует выполнения настройки после каждого перезагрузки, так как изменения не сохраняются автоматически. Чтобы решение было постоянным, можно создать скрипт загрузки и добавить его в автозагрузку:

  1. Создайте скрипт с настройками:

    #!/bin/bash
    xinput set-prop 'Logitech M325' 'libinput Middle Emulation Enabled' 1
  2. Сделайте его исполняемым:

    chmod +x middle-click-emulation.sh
  3. Добавьте скрипт в автозагрузку:

    Откройте приложение "Программы автозагрузки" и добавьте новый элемент с вашей командой.

Таким образом, вы сможете обеспечить автоматическое применение этих настроек при каждой загрузке системы, избегая необходимости вручную их настраивать после каждого перезапуска системы.

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

Оцените материал
Добавить комментарий

Капча загружается...