Você já tentou a configuração xinput
como o link mencionado neste tópico ? O dispositivo reconhecido TPPS/2 IBM TrackPoint
é exatamente o que está explicado lá.
Eu tenho um Lenovo ThinkPad Yoga equipado com um clickpad. Quero ativar a rolagem usando o botão do meio do teclado. Então, eu quero ser capaz de rolar, digamos, um editor pressionando e segurando o botão do meio e, em seguida, movendo o mouse na direção em que rolar. Eu configurei este clickpad de tal forma que os três botões suaves correspondentes aos botões 1, 2 e 3 do mouse são reconhecidos. A configuração de synaptics é a seguinte:
Section "InputClass"
Identifier "Default clickpad buttons"
MatchDriver "synaptics"
Option "SoftButtonAreas" "64% 0 1 42% 36% 64% 1 42%"
Option "AreaBottomEdge" "1"
EndSection
A listagem de dispositivos de xinput (xinput --list) é a seguinte:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=9 [slave pointer (2)]
⎜ ↳ Wacom ISDv4 EC Pen stylus id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ Wacom ISDv4 EC Pen eraser id=15 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Integrated Camera id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=14 [slave keyboard (3)]
A listagem de propriedades de xinput para o dispositivo de bastão apontador (xinput --list-props "TPPS / 2 IBM TrackPoint") é a seguinte:
Device 'TPPS/2 IBM TrackPoint':
Device Enabled (134): 1
Coordinate Transformation Matrix (136): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (262): 0
Device Accel Constant Deceleration (263): 1.000000
Device Accel Adaptive Deceleration (264): 1.000000
Device Accel Velocity Scaling (265): 10.000000
Device Product ID (251): 2, 10
Device Node (252): "/dev/input/event15"
Evdev Axis Inversion (266): 0, 0
Evdev Axes Swap (268): 0
Axis Labels (269): "Rel X" (144), "Rel Y" (145)
Button Labels (270): "Button Left" (137), "Button Middle" (138), "Button Right" (139), "Button Wheel Up" (140), "Button Wheel Down" (141), "Button Horiz Wheel Left" (142), "Button Horiz Wheel Right" (143)
Evdev Middle Button Emulation (271): 0
Evdev Middle Button Timeout (272): 50
Evdev Third Button Emulation (273): 0
Evdev Third Button Emulation Timeout (274): 1000
Evdev Third Button Emulation Button (275): 3
Evdev Third Button Emulation Threshold (276): 20
Evdev Wheel Emulation (277): 1
Evdev Wheel Emulation Axes (278): 6, 7, 4, 5
Evdev Wheel Emulation Inertia (279): 10
Evdev Wheel Emulation Timeout (280): 200
Evdev Wheel Emulation Button (281): 2
Evdev Drag Lock Buttons (282): 0
A listagem de propriedades xinput para o dispositivo clickpad (xinput --list-props "SynPS / 2 Synaptics TouchPad") é a seguinte:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (134): 1
Coordinate Transformation Matrix (136): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (262): 1
Device Accel Constant Deceleration (263): 2.500000
Device Accel Adaptive Deceleration (264): 1.000000
Device Accel Velocity Scaling (265): 12.500000
Synaptics Edges (308): 1768, 5414, 1638, 4466
Synaptics Finger (309): 25, 30, 0
Synaptics Tap Time (310): 180
Synaptics Tap Move (311): 235
Synaptics Tap Durations (312): 180, 180, 100
Synaptics ClickPad (313): 1
Synaptics Middle Button Timeout (314): 0
Synaptics Two-Finger Pressure (315): 282
Synaptics Two-Finger Width (316): 7
Synaptics Scrolling Distance (317): 107, 107
Synaptics Edge Scrolling (318): 0, 0, 0
Synaptics Two-Finger Scrolling (319): 1, 1
Synaptics Move Speed (320): 1.000000, 1.750000, 0.037293, 0.000000
Synaptics Off (321): 0
Synaptics Locked Drags (322): 0
Synaptics Locked Drags Timeout (323): 5000
Synaptics Tap Action (324): 2, 3, 0, 0, 1, 3, 0
Synaptics Click Action (325): 1, 3, 0
Synaptics Circular Scrolling (326): 0
Synaptics Circular Scrolling Distance (327): 0.100000
Synaptics Circular Scrolling Trigger (328): 0
Synaptics Palm Detection (329): 0
Synaptics Palm Dimensions (330): 10, 200
Synaptics Coasting Speed (331): 20.000000, 50.000000
Synaptics Pressure Motion (332): 30, 160
Synaptics Pressure Motion Factor (333): 1.000000, 1.000000
Synaptics Resolution Detect (334): 1
Synaptics Grab Event Device (335): 1
Synaptics Gestures (336): 1
Synaptics Capabilities (337): 1, 0, 0, 1, 1, 1, 1
Synaptics Pad Resolution (338): 55, 53
Synaptics Area (339): 0, 0, 0, 1
Synaptics Soft Button Areas (340): 4184, 0, 1, 2788, 2997, 4184, 1, 2788
Synaptics Noise Cancellation (341): 8, 8
Device Product ID (251): 2, 7
Device Node (252): "/dev/input/event10"
A saída xev
da amostra para o uso do botão é a seguinte:
ButtonPress event, serial 40, synthetic NO, window 0x5200001,
root 0x9e, subw 0x0, time 17803214, (103,77), root:(1845,126),
state 0x0, button 2, same_screen YES
ButtonRelease event, serial 40, synthetic NO, window 0x5200001,
root 0x9e, subw 0x0, time 17803294, (103,77), root:(1845,126),
state 0x200, button 2, same_screen YES
Agradeço qualquer orientação que você possa ter ao ativar a rolagem do botão do meio. Obrigado!
EDIT: Adquiri um teclado ThinkPad USB externo que apresenta um bastão apontador TrackPoint e três botões de mouse dedicados. Eu realizei as operações de rolagem para cima e rolagem para baixo com êxito usando este teclado e registrei a saída xev
relevante.
A seguir, a saída xev
para a operação de rolagem bem-sucedida:
ButtonPress event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x4c00002, time 53834970, (55,63), root:(1797,1083),
state 0x0, button 5, same_screen YES
EnterNotify event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x0, time 53834946, (55,63), root:(1797,1083),
mode NotifyGrab, detail NotifyInferior, same_screen YES,
focus YES, state 4096
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ButtonRelease event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x4c00002, time 53834970, (55,63), root:(1797,1083),
state 0x1000, button 5, same_screen YES
LeaveNotify event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x0, time 53834946, (55,63), root:(1797,1083),
mode NotifyUngrab, detail NotifyInferior, same_screen YES,
focus YES, state 0
A seguir, a saída xev
para a operação de rolagem para baixo com êxito:
ButtonPress event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x4c00002, time 53829778, (55,63), root:(1797,1083),
state 0x0, button 5, same_screen YES
EnterNotify event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x0, time 53829754, (55,63), root:(1797,1083),
mode NotifyGrab, detail NotifyInferior, same_screen YES,
focus YES, state 4096
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ButtonRelease event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x4c00002, time 53829778, (55,63), root:(1797,1083),
state 0x1000, button 5, same_screen YES
LeaveNotify event, serial 40, synthetic NO, window 0x4c00001,
root 0x9e, subw 0x0, time 53829754, (55,63), root:(1797,1083),
mode NotifyUngrab, detail NotifyInferior, same_screen YES,
focus YES, state 0
Então, com essa informação adicional, algum de vocês, pessoas inteligentes, tem alguma orientação sobre como instalar esse tipo de rolagem no meu pequeno ThinkPad? :)
Você já tentou a configuração xinput
como o link mencionado neste tópico ? O dispositivo reconhecido TPPS/2 IBM TrackPoint
é exatamente o que está explicado lá.