Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux

Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ввода как на Wayland, так и на X, а также может обрабатывать различные устройства ввода, включая сенсорные дисплеи и перья.

В этой статье объясняется изменение различных параметров для устройства ввода, обрабатываемого библиотекой libinput. Для проверки и настройки доступных параметров будет использоваться инструмент командной строки под названием «xinput».

Обратите внимание, что это руководство работает только с сервером X Display. Для Wayland вы должны полагаться на системные настройки, предоставленные дистрибутивом, или использовать централизованную утилиту конфигурации, такую ​​как gsettings.

Список устройств ввода

Xinput предварительно установлен по умолчанию в Ubuntu. Если по какой-то причине он не установлен в вашей системе, выполните следующую команду, чтобы установить его:

$ sudo apt install xinput

Чтобы вывести список всех встроенных и внешних устройств ввода, подключенных к вашей системе, выполните следующую команду:

$ xinput —list

В терминале вы увидите такой вывод:

Запись в разделе «Указатель виртуального ядра» (выделена красными стрелками) — это проводная USB-мышь, подключенная к моей системе. Вам нужно будет использовать точное имя или идентификатор, показанные на скриншоте выше, чтобы настроить параметры мыши или сенсорной панели с помощью инструмента командной строки xinput.

Обратите внимание, что на скриншоте выше xinput показывает свойства подключенных устройств в мою систему. Имена и идентификаторы устройств будут отличаться для вашей системы в зависимости от конфигурации вашего оборудования и внешних устройств, подключенных через USB, Bluetooth или беспроводные приемники.

Просмотр свойств подключенного устройства

Чтобы увидеть текущий статус и различные активные параметры для устройства, указанного выше, выполните команду в следующем формате:

$ xinput —list-props «id»

Для указанной выше мыши Dell команда будет выглядеть так:

$ xinput —list-props 8

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

$ xinput —list-props «PixArt Dell MS116 USB Optical Mouse»

Область, выделенная ниже красным прямоугольником, показывает текущую конфигурацию устройства. Вы можете изменять только те параметры, которые отображаются в выводе. В зависимости от возможностей вашего устройства некоторые дополнительные параметры могут быть указаны в списке, а другие можно вообще не указывать.

Изменить свойства подключенного устройства

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

Например, чтобы включить или отключить естественную прокрутку, вы должны выполнить команды в следующем формате:

$ xinput set -prop «PixArt Dell MS116 USB Optical Mouse» 285 0
$ xinput set-prop «PixArt Dell MS116 USB Optical Mouse» 285 1

«285» — это id для естественной прокрутки, как показано на скриншоте выше. «0» отключает естественную прокрутку, а «1» включает ее. Еще раз, использование идентификаторов не является надежным способом изменить эти настройки. Лучшим подходом является использование полного идентификатора свойства .

$ xinput set-prop «PixArt Dell MS116 USB Optical Mouse»
«libinput Natural Scrolling Enabled» 0
$ xinput set-prop «PixArt Dell MS116 USB Optical Mouse»
«libinput Natural Scrolling Enabled» 1

Обратите внимание, что вы не поддерживаете ed, чтобы коснуться идентификаторов свойств, содержащих слово «По умолчанию». Это ссылочные резервные значения, и любая попытка их изменения приведет к сбою xinput.

Чтобы узнать больше о других параметрах и параметрах, перечисленных в выходных данных терминала выше, посетите следующий page .

Сохранение изменений

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

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

Чтобы добавить команду в запускаемые приложения, запустите приложение «Запуск приложений» из средства запуска приложений. Нажмите кнопку «Добавить», чтобы добавить запись. Задайте описание и введите соответствующую команду xinput в соответствии с вашими потребностями. После сохранения записи убедитесь, что этот флажок установлен.

Вот и все, введенная вами команда xinput будет запускаться автоматически при запуске системы. Я добавил немного задержки к команде, чтобы дождаться правильной загрузки сеанса. Для справки, вот команда, используемая ниже на снимке экрана ниже:

$ sleep 3 && xinput set-prop «PixArt Dell MS116 USB Optical Mouse»
» libinput Естественная прокрутка включена «1

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

Выполните следующие команды, чтобы создать требуемый каталог и файл conf:

$ sudo mkdir -p/etc/X11/xorg.conf. d
$ sudo touch/etc/X11/xorg.conf.d/99-libinput.conf

Обратите внимание на часть «99» в имени файла. Он указывает порядок загрузки файлов, которые существуют в папке «xorg.conf.d». Файл с наивысшим номером в качестве префикса будет загружен последним, переопределив любые параметры, указанные в предыдущих файлах, в случае наличия дубликатов. Указав «99» или любое другое число в качестве префикса, вы можете гарантировать, что он загружается после других файлов.

Откройте файл «99-libinput.conf» с правами root в вашем любимом текстовом редакторе. . Введите нижеприведенный фрагмент кода после внесения необходимых изменений в соответствии с вашими требованиями.

Раздел «InputClass»
Идентификатор «Dell Mouse»
MatchProduct «PixArt» Оптическая USB-мышь Dell MS116 «
Параметр» NaturalScrolling «» true «
EndSection

Где:

  • Идентификатором «Мышь Dell» может быть любое имя, которое вы назначаете устройству для его идентификации (при необходимости измените).
  • MatchProduct «PixArt Dell MS116 USB Optical Mouse» — это точное имя устройства находится в команде «xinput –list», использованной выше (при необходимости измените).
  • Параметр «NaturalScrolling» «true» включает естественную прокрутку по всей системе (при необходимости измените)

Правильно указав «MatchProduct», вы сможете ограничить параметры конфигурации только определенным устройством. Изменения, внесенные в файл conf, вступят в силу при следующей перезагрузке. Вы можете добавить любое количество опций в разделе «InputClass». Список различных параметров, которые можно добавить в файл, доступен здесь .

Заключение

Метод, описанный выше, особенно полезно, когда вы хотите использовать правила конфигурации для каждого устройства. Интерфейс системных настроек по умолчанию в GNOME и KDE предоставляет только некоторые из наиболее часто используемых параметров, доступных для различных устройств ввода. Чтобы настроить дополнительные параметры для устройства ввода, у вас нет выбора, кроме как использовать «xinput» или создать специальный файл конфигурации.

Оцените статью
nanomode.ru
Добавить комментарий