Editado:
Eu edito minha resposta para mostrar uma abordagem muito mais simples. Você pode usar um dispositivo type:name
em vez de seu ID
da seguinte forma:
xinput set-prop "keyboard:Logitech K400 Plus" "libinput Middle Emulation Enabled" 1
Isso evita o conhecimento do campo volátil ID
.
Resposta antiga:
Eu não encontrei uma maneira de alterar os valores padrão de Xinput, mas você pode usar tubos de bash para obter o ID dinamicamente e usá-lo em uma inicialização Aplicação.
Como não tenho as especificidades do seu dispositivo, exemplifico com minhas informações pessoais caso. Desejo alterar algumas propriedades do Xinput do meu teclado K400 +.
Primeiro você tem que localizar univocamente a linha Xinput que identifica seu dispositivo.
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K400 Plus id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Logitech K400 Plus id=7 [slave keyboard (3)]
Para que eu possa usar o regex simplesK400.*keyboard
para obter a última linha
(não o ponteiro um). Próximo eu grep
este regex em um tubo, isolado
o id via cut
utility.
$ xinput | grep K400.*keyboard | cut -f2 | cut -c4-
7
Finnaly eu uso para mudar qualquer propriedade que eu quero. Neste caso, eu sou
interessado em libinput Middle Emulation Enabled
. O comando completo
que faz isso é:
xinput | grep K400.*keyboard | cut -f2 | cut -c4- |
xargs -I{} xinput set-prop {} "libinput Middle Emulation Enabled" 1
Agora você pode usá-lo como uma aplicação de inicialização.