Como alterar as configurações de mouse e touchpad usando o xinput no Linux

Como alterar as configurações de mouse e touchpad usando o xinput no Linux
A maioria das distribuições Linux envia com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar eventos de entrada em Wayland e X e pode lidar com uma variedade de dispositivos de entrada, incluindo telas de tela sensível ao toque e canetas de caneta.

Este artigo explica a alteração de várias opções para um dispositivo de entrada que está sendo tratado pela Biblioteca Libinput. Para verificar e configurar as opções disponíveis, uma ferramenta de linha de comando chamada "xinput" será usada.

Observe que este guia funciona apenas com o X Exibir servidor. Para Wayland, você deve confiar nas configurações do sistema fornecidas pela distribuição ou usar um utilitário de configuração centralizado como o GSETTINGS.

Listar dispositivos de entrada

Xinput vem pré-instalado por padrão no Ubuntu. Se, por algum motivo, não estiver instalado no seu sistema, execute o comando abaixo para instalá -lo:

$ sudo apt install xinput

Para listar todos os dispositivos de entrada internos e externos conectados ao seu sistema, execute o comando abaixo:

$ xinput -lista

Você verá alguma saída no terminal assim:

A entrada em “Ponteiro Core Virtual” (destacado por setas vermelhas) é um mouse USB com fio conectado ao meu sistema. Você terá que usar o nome exato ou ID mostrado na captura de tela acima para definir configurações de mouse ou touchpad através da ferramenta de linha de comando xinput.

Observe que na captura de tela acima, o Xinput está mostrando propriedades de dispositivos conectados ao meu sistema. Os nomes e IDs de dispositivos serão diferentes para o seu sistema, dependendo da configuração de hardware e dispositivos externos conectados via USB, Bluetooth ou receptores sem fio.

Visualize as propriedades de um dispositivo conectado

Para ver o status atual e várias opções ativas para o dispositivo listado acima, execute um comando no seguinte formato:

$ xinput-List-props "id"

Para o mouse Dell listado acima, o comando seria:

$ xinput-lista-props 8

Há uma limitação com o uso deste comando. Os IDs mostrados na saída do terminal tendem a mudar quando você conecta um dispositivo listado a uma porta diferente. À medida que os IDs continuam mudando, sempre há uma chance de alterar as configurações acidentalmente para um dispositivo diferente. Para superar esse problema, é melhor usar o nome completo do dispositivo como identificador em vez de seu id. Então, para o mouse Dell listado acima, o comando melhor seria:

$ xinput-List-props "Pixart Dell MS116 Mouse óptico USB"

A área destacada abaixo no retângulo vermelho mostra a configuração atual do dispositivo. Você só pode alterar as opções mostradas na saída. Dependendo dos recursos do seu dispositivo, algumas opções extras podem ser listadas enquanto outras podem ser omitidas por completo.

Alterar propriedades de um dispositivo conectado

Agora que você sabe como verificar as propriedades de um dispositivo de entrada conectado, as configurações para ele podem ser facilmente alteradas usando alguns comandos simples.

Por exemplo, para ativar ou desativar a rolagem natural, você deve executar comandos no seguinte formato:

$ xinput Set-Prop "Pixart Dell MS116 Mouse óptico USB" 285 0
$ xinput Set-Prop "Pixart Dell MS116 Mouse óptico USB" 285 1

"285" é o ID para rolagem natural, como mostrado na captura de tela acima. “0” desativa a rolagem natural enquanto “1” permite. Mais uma vez, usar IDs não é uma maneira confiável de alterar essas configurações. Uma abordagem melhor é usar o identificador de propriedade completo.

$ xinput Set-Prop "Pixart Dell MS116 Mouse óptico USB"
"Libinput Natural Rolling Habiled" 0
$ xinput Set-Prop "Pixart Dell MS116 Mouse óptico USB"
"Libinput Natural Rolling Habiled" 1

Observe que você não deveria tocar nos identificadores de propriedades com a palavra "padrão". Estes são os valores de fallback de referência e qualquer tentativa de alterá -los resultará em Xinput lançando um erro.

Para saber mais sobre outras opções e as listadas na saída do terminal acima, visite a página seguinte.

Tornando as mudanças persistentes

O método explicado acima muda as configurações apenas para sessão ativa. Quando você reinicia o sistema, essas mudanças desaparecerão. Para torná -los persistentes, duas abordagens podem ser usadas.

O primeiro método exige que você adicione esses comandos para iniciar aplicativos. Você pode adicionar quantas entradas quiser usar uma boa interface gráfica. Não são necessárias permissões de raiz para criar essas entradas, além de alterá -las mais tarde é super fácil.

Para adicionar o comando aos aplicativos de inicialização, inicie o aplicativo "Startup Applications" do lançador de aplicativos. Clique no botão "Adicionar" para adicionar uma entrada. Defina uma descrição e insira o comando Xinput apropriado conforme suas necessidades. Certifique -se de que a caixa de seleção seja verificada depois de salvar a entrada.

É isso, o comando xinput que você inseriu será executado automaticamente na inicialização do sistema. Eu adicionei um pouco de atraso ao comando para esperar que a sessão carregue corretamente. Para referência, aqui está o comando usado abaixo na captura de tela abaixo:

$ Sleep 3 && Xinput Set-Prop "Pixart Dell MS116 Mouse Optical USB"
"Libinput Natural Rolling Habiled" 1

O segundo método exige que você execute alguns comandos como root e edite um arquivo de texto. A vantagem de usar esse método é que você não precisa criar entradas separadas para cada opção em uma GUI e tudo reside em um arquivo de texto, facilitando o compartilhamento entre os dispositivos.

Execute os comandos abaixo para criar o diretório necessário e o arquivo conf:

$ sudo mkdir -p/etc/x11/xorg.conf.d
$ sudo toque/etc/x11/xorg.conf.D/99-Libinput.conf

Observe a parte "99" no nome do arquivo. Indica a ordem de carga dos arquivos que existem em “Xorg.conf.pasta D ”. Um arquivo que possui o número mais alto como prefixo será carregado por último, substituindo todas as opções especificadas em arquivos anteriores, caso haja duplicatas. Ao especificar “99” ou qualquer outro número como prefixo, você pode garantir que ele seja carregado após outros arquivos.

Abra “99-Libinput.arquivo conf ”com acesso root em seu editor de texto favorito. Digite o trecho de código abaixo depois de fazer as alterações necessárias de acordo com seus requisitos.

Seção "InputClass"
Identificador "Dell Mouse"
MatchProduct "Pixart Dell MS116 USB Optical Mouse"
Opção "naturalScrolling" "verdadeiro"
Endseção

Onde:

  • Identificador “Dell Mouse” pode ser qualquer nome que você atribua ao dispositivo para identificá -lo (altere conforme necessário)
  • MatchProduct “Pixart Dell MS116 USB Optical Mouse” é o nome exato do dispositivo que você encontrou no comando “xinput -list” usado acima (altere conforme necessário)
  • A opção “NaturalsCrolling” “True” permite o sistema de rolagem natural (alteração conforme necessário)

Ao especificar corretamente o "MatchProduct", você poderá limitar as opções de configuração a um dispositivo específico apenas. As alterações feitas no arquivo conf entrarão em vigor quando você reiniciar na próxima vez. Você pode adicionar qualquer número de opções na seção "Inputclass". Uma lista de várias opções que podem ser adicionadas ao arquivo está disponível aqui.

Conclusão

O método explicado acima é especialmente útil quando você deseja usar as regras de configuração do dispositivo. Configurações padrão do sistema Interface no gnome e kde fornece apenas algumas das opções mais usadas disponíveis para vários dispositivos de entrada. Para configurar opções avançadas para um dispositivo de entrada, você não tem escolha a não ser usar "xinput" ou criar um arquivo de configuração dedicado.