Di recente ho ricevuto un nuovo Lenovo Y50 e sto utilizzando Ubuntu 14.04. Sul mio precedente Dell XPS 17, il touchpad aveva una risposta eccellente anche quando muovevo leggermente il dito:spostando il dito a una distanza molto breve, sono stato in grado di spostare il mouse di un pixel alla volta, il che è stato molto utile, ad esempio, per afferrare bordi stretti della finestra. Su questa nuova macchina, tuttavia, il mouse non risponde finché non ho spostato il dito di circa mezzo centimetro, a quel punto il mouse salterà di una dozzina di pixel circa. Una volta che il mouse si muove in questo modo, io sono in grado di spostarlo a distanze arbitrariamente precise muovendo il dito più lentamente. Vorrei avere questa precisione assoluta anche se non sto già muovendo il mouse. (Nota:questo problema non si verificano quando si utilizza un mouse USB.)
Ho pensato di disabilitare la noise cancellation
in xinput
può aiutare, quindi ho impostato i valori di cancellazione del rumore su zero, ma questo non ha aiutato. Anche il rilevamento del palmo è impostato su zero. Qualcuno sa come ottenere la precisione del mouse per piccoli movimenti del touchpad?
Grazie!
Per riferimento, xinput
proprietà:
$ xinput list-props 'ETPS/2 Elantech Touchpad'
Device 'ETPS/2 Elantech Touchpad':
Device Enabled (155): 1
Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (278): 1
Device Accel Constant Deceleration (279): 1.750000
Device Accel Adaptive Deceleration (280): 1.000000
Device Accel Velocity Scaling (281): 12.500000
Synaptics Edges (282): 127, 3061, 112, 1973
Synaptics Finger (283): 1, 1, 0
Synaptics Tap Time (284): 180
Synaptics Tap Move (285): 10
Synaptics Tap Durations (286): 180, 180, 100
Synaptics ClickPad (287): 1
Synaptics Middle Button Timeout (288): 0
Synaptics Two-Finger Pressure (289): 282
Synaptics Two-Finger Width (290): 7
Synaptics Scrolling Distance (291): 45, 45
Synaptics Edge Scrolling (292): 0, 0, 0
Synaptics Two-Finger Scrolling (293): 1, 1
Synaptics Move Speed (294): 1.000000, 1.750000, 0.052507, 0.000000
Synaptics Off (295): 0
Synaptics Locked Drags (296): 0
Synaptics Locked Drags Timeout (297): 5000
Synaptics Tap Action (298): 2, 3, 0, 0, 1, 3, 0
Synaptics Click Action (299): 1, 3, 0
Synaptics Circular Scrolling (300): 0
Synaptics Circular Scrolling Distance (301): 0.100000
Synaptics Circular Scrolling Trigger (302): 0
Synaptics Circular Pad (303): 0
Synaptics Palm Detection (304): 0
Synaptics Palm Dimensions (305): 1000, 1000
Synaptics Coasting Speed (306): 20.000000, 50.000000
Synaptics Pressure Motion (307): 30, 160
Synaptics Pressure Motion Factor (308): 1.000000, 1.000000
Synaptics Resolution Detect (309): 1
Synaptics Grab Event Device (310): 1
Synaptics Gestures (311): 1
Synaptics Capabilities (312): 1, 0, 0, 1, 1, 1, 1
Synaptics Pad Resolution (313): 32, 32
Synaptics Area (314): 0, 0, 0, 0
Synaptics Soft Button Areas (315): 1594, 0, 1709, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (316): 0, 0
Device Product ID (271): 2, 14
Device Node (272): "/dev/input/event5"
Per riferimento, synclient
parametri:
$ synclient
Parameter settings:
LeftEdge = 127
RightEdge = 3061
TopEdge = 112
BottomEdge = 1973
FingerLow = 1
FingerHigh = 1
MaxTapTime = 180
MaxTapMove = 100
MaxDoubleTapTime = 180
SingleTapTimeout = 180
ClickTime = 100
EmulateMidButtonTime = 0
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = 45
HorizScrollDelta = 45
VertEdgeScroll = 0
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 1
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0525072
TouchpadOff = 0
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 2
RBCornerButton = 3
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 1
TapButton2 = 3
TapButton3 = 0
ClickFinger1 = 1
ClickFinger2 = 3
ClickFinger3 = 0
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 0
PalmMinWidth = 1000
PalmMinZ = 1000
CoastingSpeed = 20
CoastingFriction = 50
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
ResolutionDetect = 1
GrabEventDevice = 1
TapAndDragGesture = 1
AreaLeftEdge = 0
AreaRightEdge = 0
AreaTopEdge = 0
AreaBottomEdge = 0
HorizHysteresis = 0
VertHysteresis = 0
ClickPad = 1
RightButtonAreaLeft = 1594
RightButtonAreaRight = 0
RightButtonAreaTop = 1709
RightButtonAreaBottom = 0
MiddleButtonAreaLeft = 0
MiddleButtonAreaRight = 0
MiddleButtonAreaTop = 0
MiddleButtonAreaBottom = 0
Risposta accettata:
Il mio Lenovo t540p ha mostrato gli stessi sintomi con il profilo di accelerazione predefinito =1 (dipendente dal dispositivo).
Correlati:non è possibile utilizzare il comando "start" in 15.04?Questo sembra essere correlato all'accelerazione del puntatore di XOrg e al relativo "profilo di accelerazione". Se imposti il profilo di accelerazione del dispositivo su -1 (nessuno), il sintomo del punto morto sembra scomparire sebbene il cursore del mouse si sposti per distanze molto ridotte sul display, rendendolo molto preciso ma abbastanza inutile.
Sono passato a un profilo di accelerazione del dispositivo lineare (AccelerationProfile 6
) e ha visto un miglioramento immediato. L'esitazione del movimento iniziale è ancora presente ma il cursore non salta come prima.
Sono necessarie ulteriori ricerche sulla causa del "punto morto", ma potrebbero essere dovute al comportamento del firmware. La pagina man di synaptics menziona la cancellazione del rumore del firmware che potrebbe essere difficile o impossibile da controllare al momento:
Cancellazione del rumore
Il synaptics ha una cancellazione del rumore integrata basata sull'isteresi. Ciò significa che le coordinate in entrata spostano effettivamente una casella di dimensioni predefinite in modo tale da coprire la coordinata in entrata e solo il centro della casella viene utilizzato come input. Ovviamente, più piccola è la scatola, meglio è, ma aumenta anche la probabilità che si verifichi un movimento di rumore.
Modificare il profilo di accelerazione e la relativa configurazione
Ecco uno script che utilizzo per modificare le impostazioni del mio sistema:
#!/bin/bash
DEVICE="SynPS/2 Synaptics TouchPad"
xinput --set-prop "$DEVICE" "Device Accel Profile" 6
xinput --set-prop "$DEVICE" "Device Accel Constant Deceleration" 12
xinput --set-prop "$DEVICE" "Device Accel Velocity Scaling" 20
Una volta trovate le impostazioni che ti piacciono, puoi scegliere di aggiungerle al tuo /etc/X11/xorg.conf.d/51-synaptics-quirks.conf
file (copiato da /usr/share/X11/xorg.conf.d
) o crea un nuovo file .conf separato con un nome come 99-your-config-file-name.conf
.
Option "AccelerationProfile" "6"
# May want to set "ConstantDeceleration" and "VelocityScale" or other
# values here as well