A atividade de toque inesperada é:
Após a interação, o ponteiro se move para o local equivalente na tela como se fosse uma tela sensível ao toque. Isso é exacerbado pelo intervalo entre o touchpad e a tela sendo calibrada incorretamente, portanto, tocar o canto superior direito do trackpad leva apenas 90% para o topo e 98% para a direita.
Por exemplo: se meu ponteiro do mouse estiver no canto inferior esquerdo da tela e movê-lo para o canto superior direito, não consigo acessar as guias na janela do Firefox, por isso coloco meu dedo no meio do trackpad, esperando mecanismo para armazenar a localização do ponteiro e retomar o movimento do último local em que o ponteiro estava, no entanto, isso não acontece. O ponteiro é redefinido de acordo com o local equivalente na tela.
Eu já passei pelas man pages aqui:
Libinput Manpages
Manpages Xorg
A documentação no site do Arch é bastante concisa, e outros sites que eu olhei, incluindo o site de libinput oficial do FAQ, não mencionam este problema ocorrendo.
Socorro? obrigado
Eu espero que haja um cenário para essas duas coisas. No entanto, aqui está o xinput e o xinput-list-props:
â¡ Virtual core pointer id=2 [master pointer (3)]
â â³ Virtual core XTEST pointer id=4 [slave pointer (2)]
â â³ AlpsPS/2 ALPS DualPoint TouchPad id=10 [slave pointer (2)]
â â³ AlpsPS/2 ALPS DualPoint Stick id=11 [slave pointer (2)]
⣠Virtual core keyboard id=3 [master keyboard (2)]
â³ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
â³ Video Bus id=6 [slave keyboard (3)]
â³ Power Button id=7 [slave keyboard (3)]
â³ Sleep Button id=8 [slave keyboard (3)]
â³ AT Translated Set 2 keyboard id=9 [slave keyboard (3)]
â³ Dell WMI hotkeys id=12 [slave keyboard (3)]
x-input -list-props 10
(meu touchpad)
Device 'AlpsPS/2 ALPS DualPoint TouchPad':
Device Enabled (152): 1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (280): 0
Device Accel Constant Deceleration (281): 1.000000
Device Accel Adaptive Deceleration (282): 1.000000
Device Accel Velocity Scaling (283): 10.000000
Device Product ID (273): 2, 8
Device Node (274): "/dev/input/event7"
Evdev Axis Inversion (284): 0, 0
Evdev Axis Calibration (285): <no items>
Evdev Axes Swap (286): 0
Axis Labels (287): "Abs X" (277), "Abs Y" (278), "Abs Pressure" (279)
Button Labels (288): "Button Left" (155), "Button Middle" (156), "Button Right" (157), "Button Wheel Up" (158), "Button Wheel Down" (159)
Evdev Scrolling Distance (289): 0, 0, 0
Evdev Middle Button Emulation (290): 0
Evdev Middle Button Timeout (291): 50
Evdev Third Button Emulation (292): 0
Evdev Third Button Emulation Timeout (293): 1000
Evdev Third Button Emulation Button (294): 3
Evdev Third Button Emulation Threshold (295): 20
Evdev Wheel Emulation (296): 0
Evdev Wheel Emulation Axes (297): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (298): 10
Evdev Wheel Emulation Timeout (299): 200
Evdev Wheel Emulation Button (300): 4
Evdev Drag Lock Buttons (301): 0
fonte
Respostas:
Isso geralmente significa que a libinput é não , de fato, instalado corretamente. Apenas tendo o
libinput
biblioteca presente não é suficiente para o Xorg usá-la - ela precisa do "driver de entrada"xf86-input-libinput
por isso.Existem vários drivers de entrada Xorg - junto com o baseado em libinput (que é muito novo, com planos de dominar o mundo) também tem um minimalista
xf86-input-evdev
motorista, bem como o anteriormente popularxf86-input-synaptics
para todos os tipos de touchpads.Os touchpads enviam coordenadas absolutas X, Y, para que coisas como clickpads ou gestos multi-touch podem ser interpretados por programas - cabe a libinput ou synaptics para convertê-los em eventos de movimento relativo. Mas a saída mostrada pelo seu
xinput list-props
indica que o touchpad tinha apenas o driver xf86-input-evdev conectado.O driver "evdev" foi a escolha padrão nos últimos anos até que a libinput viesse, já que ele pode manipular mouses, teclados e tudo o que o kernel lança nele (embora não necessariamente bem, como você percebeu). Enquanto isso, os drivers "libinput" e "synaptics" também usam o subsistema evdev do kernel, mas possuem lógica adicional para interpretar os eventos recebidos.
(Historicamente, antes mesmo do evdev, havia interfaces separadas para quase tudo - teclados, mouses PS / 2, mouses seriais, joysticks etc.) e drivers X separados para eles também, como "xf86-input-kbd" ou " -mouse "ou" -joy ", para não mencionar pré-KMS vídeo drivers, que por um longo tempo tiveram que lidar diretamente com coisas como PCI ou o BIOS de vídeo. O servidor X era praticamente um sistema operacional!
O arco
xorg-server
pacote é construído de modo que depende de alguns driver de entrada, mas não especifica qual (por exemplo, muitas pessoas ainda usam evdev + synaptics, não libinput). Normalmente, ao instalar o Xorg, o pacman perguntará qual dos vários pacotes de "provedores" instalar:Se você acabou de bater Retorna e aceite os padrões, o pacman escolherá o primeiro item alfabeticamente e você obterá o driver mínimo baseado em evdev, que praticamente não faz interpretação nos eventos de entrada - se o kernel enviar coordenadas absolutas para ele, então é isso que o Xorg vai ver.
Ah, e de acordo com o
xinput
produzir o seu Configurações Unicode estão quebrados.fonte
Resolvido Obrigado @grawity. Um rápido
pacman -Ss xf86-input-libinput
revelou quexf86-input-libinput
de fato não foi instalado. Eu instalei o pacote e reiniciei. Ao reiniciar o touchpad estava funcionando corretamente. Resposta correta para a pessoa que pode responder às perguntas de acompanhamento que eu fiz nos comentários para o post original.fonte