Como alterar os valores padrão de Xinput?

1

Desejo desativar a aceleração do mouse no meu mouse e gostaria de alterá-lo alterando o valor de libinput Accel Profile Enabled Default de 1, 0 para 0, 1 com o comando xinput --set-prop [ID] [id of the value] 0, 1 , mas retornando um erro:

X Error of failed request:  BadAccess (attempt to access private resource denied)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  19
  Current serial number in output stream:  20

Não consigo criar um aplicativo de inicialização porque o ID do meu mouse muda constantemente sem nenhum motivo. Eu também não consigo alterar o valor global da variável porque preciso ativar a aceleração de ponteiro para meu touchpad.

    
por kiroma 21.05.2017 / 00:33

1 resposta

1

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.

    
por Susensio 08.12.2017 / 13:39