Recientemente obtuve un nuevo Lenovo Y50 y estoy ejecutando Ubuntu 14.04. En mi Dell XPS 17 anterior, el panel táctil tenía una respuesta excelente incluso cuando movía el dedo ligeramente; al mover el dedo una distancia muy corta, podía mover el mouse un píxel a la vez, lo que fue muy útil, por ejemplo, para agarrar bordes estrechos de la ventana. Sin embargo, en esta nueva máquina, el mouse no responde hasta que moví el dedo medio centímetro, momento en el cual el mouse saltará una docena de píxeles más o menos. Una vez que el mouse se mueve de esta manera, estoy capaz de moverlo arbitrariamente distancias precisas moviendo mi dedo más lentamente. Me gustaría tener esta precisión estricta incluso si aún no estoy moviendo el mouse. (Nota:este problema no ocurren cuando se usa un mouse USB.)
Pensé en deshabilitar noise cancellation
en xinput
puede ayudar, así que configuré los valores de cancelación de ruido en cero, pero esto no ayudó. La detección de palma también se establece en cero. ¿Alguien sabe cómo lograr la precisión del mouse para pequeños movimientos del panel táctil?
¡Gracias!
Para referencia, xinput
propiedades:
$ 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"
Como referencia, synclient
parámetros:
$ 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
Respuesta aceptada:
Mi Lenovo t540p mostró los mismos síntomas con el perfil de aceleración predeterminado =1 (depende del dispositivo).
Relacionado:¿No se puede usar el comando 'iniciar' en 15.04?Esto parece estar relacionado con la aceleración del puntero de XOrg y el "perfil de aceleración" relacionado. Si configura el perfil de aceleración del dispositivo en -1 (ninguno), el síntoma del punto muerto parece desaparecer aunque el cursor del mouse se mueva distancias muy pequeñas en la pantalla, lo que lo hace muy preciso pero bastante inútil.
Cambié a un perfil de aceleración de dispositivo lineal (AccelerationProfile 6
) y vio una mejora inmediata. La vacilación del movimiento inicial sigue ahí, pero el cursor no salta como lo hacía anteriormente.
Se justifica una mayor investigación sobre la causa del "punto muerto", pero puede deberse al comportamiento del firmware. La página del manual de synaptics menciona la cancelación de ruido del firmware que puede ser difícil o imposible de controlar en la actualidad:
Cancelación de ruido
Synaptics tiene una cancelación de ruido incorporada basada en histéresis. Esto significa que las coordenadas entrantes en realidad desplazan un cuadro de dimensiones predefinidas de modo que cubra la coordenada entrante, y solo el propio centro del cuadro se usa como entrada. Obviamente, cuanto más pequeña sea la caja, mejor, pero la probabilidad de que se produzca ruido también aumenta.
Ajustar el perfil de aceleración y la configuración relacionada
Aquí hay una secuencia de comandos que uso para modificar la configuración de mi 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 vez que encuentre la configuración que le gusta, puede elegir agregarla a su /etc/X11/xorg.conf.d/51-synaptics-quirks.conf
archivo (copiado de /usr/share/X11/xorg.conf.d
) o cree un nuevo archivo .conf separado con un nombre como 99-your-config-file-name.conf
.
Option "AccelerationProfile" "6"
# May want to set "ConstantDeceleration" and "VelocityScale" or other
# values here as well