xinput mostra dois trackpoints em vez de um

2

Eu tenho usado um script para configurar o trackpoint por muito tempo. Ele funcionou no meu laptop Lenovo x230 atual com o Gentoo, mas parou de funcionar provavelmente devido a algumas atualizações de software.

#!/bin/bash
trackpoint="TPPS/2 IBM TrackPoint"

xinput set-prop "$trackpoint" "Device Accel Profile" 3
xinput set-prop "$trackpoint" "Device Accel Velocity Scaling" 30
xinput set-prop "$trackpoint" "Evdev Wheel Emulation" 1
xinput set-prop "$trackpoint" "Evdev Wheel Emulation Button" 2
xinput set-prop "$trackpoint" "Evdev Wheel Emulation Timeout" 200
xinput set-prop "$trackpoint" "Evdev Wheel Emulation Axes" 6 7 4 5

A mensagem de erro é mais do que clara.

Warning: There are multiple devices matching 'TPPS/2 IBM TrackPoint'.
To ensure the correct one is selected, please use the device ID, or prefix the
device name with 'pointer:' or 'keyboard:' as appropriate.

unable to find device TPPS/2 IBM TrackPoint

É fácil verificar se a mensagem de erro está correta.

$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=12   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]

Portanto, as perguntas são (1) por que há agora dois registros de trackpoint e (2) como corrigi-lo. No passado, xinput só via um trackpoint e tudo funcionava.

Existe uma solução alternativa para usar 12 em vez do nome do dispositivo, mas não há garantia de que o ID seria estável, especialmente quando existe apenas devido a um erro.

Não encontrei nenhum recurso útil na Web.

Eu percebi que há dois drivers de entrada Xorg diferentes, um chamado evdev , o outro chamado libinput . Estou usando o evdev no Gentoo e não tenho nenhum outro driver de entrada compilado. Eu não sei como verificar corretamente a lista de dispositivos do kernel e como evdev e libinput os tratam.

Links relacionados:

por Pavel Šimerda 21.02.2016 / 13:41

0 respostas