Buscando una manera de mejorar la detección de palma sináptica / touchpad

17

Me parece que la detección de palma de mi touchpad es bastante horrible. Lo configuré con la sensibilidad mínima que no arruina el uso de mi panel táctil (PalmMinWidth = 5, PalmMinZ = 1), y todavía recibo golpes aleatorios cada vez que escribo en mi teclado.

Prefiero usar la detección de la palma de la mano que deshabilitar el teclado mientras escribo porque encuentro que el teclado está deshabilitado por un período demasiado largo (es decir, he terminado de escribir y tengo que esperar 2 segundos antes de volver a usar el teclado, lo cual es molesto) . Una posible estrategia sería reducir este retraso, aunque no estoy seguro de si el panel táctil podría seguir usándose (si sabe cómo hacerlo, publíquelo, mejor que nada :).

Cada vez que uso Windows, encuentro que no tengo tantos problemas con el panel táctil, ¿entonces debe haber una manera de mejorar la detección de palma?

Por último, estoy ejecutando Debian probando 64 bits en Linux kernel 3.2.0-rc7.

levesco
fuente
Esta pregunta es un duplicado de una pregunta que respondí en SuperUser en 2011. No tengo la reputación en Unix & Linux Stack Exchange de ser un engañado. superuser.com/questions/277427/…
downbeat

Respuestas:

17

He tenido problemas similares y he encontrado que la respuesta en este blog es bastante completa y he copiado los detalles relevantes:

Configurar la detección de palma:

Active la detección de palma, en un tipo de terminal:

$ synclient PalmDetect=1

Establezca el ancho máximo que debe interpretarse como un dedo en lugar de una palma. Elijo 4, la mayoría de los procedimientos usan 10, es bueno adivinar un poco y probar aquí:

$ synclient PalmMinWidth=4

Luego, establezca la altura mínima de una palma frente a un dedo:

$ synclient PalmMinZ=50 

Finalmente, en Ubuntu, el clic medio de 3 dedos no está habilitado de forma predeterminada, por lo que si desea habilitarlo, use:

$ synclient TapButton2=3 TapButton3=2

En teoría, esto debería habilitar el toque de 2 dedos para hacer clic con el botón central y el toque de 3 dedos para hacer clic con el botón derecho, pero en Ubuntu 13.04 el comportamiento resultante es exactamente lo contrario. Por lo tanto, si prefiere tocar con dos dedos para hacer clic con el botón central:

$ synclient TapButton2=2 TapButton3=3 

Para hacer esto permanente una vez que haya encontrado la configuración correcta, guárdela en la 50-synaptics.confque se encuentra /usr/share/X11/xorg.conf.d/50-synaptics.confen Debian / Ubuntu (Semplice) y /etc/X11/xorg.conf.d/50-synaptics.confen las distribuciones basadas en Arch Linux, (la primera parte "InputClass" es para la corrección de clic medio multitáctil , que ya está habilitado en Arch, por lo que no debería necesitar agregarlo):

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "TapButton1" "1"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
    Option "HorizTwoFingerScroll" "on"
    Option "VertTwoFingerScroll" "on"
EndSection


#synclient PalmDetect=1
Option "PalmDetect" "1"
#synclient PalmMinWidth=4
Option "PalmMinWidth" "4"
#synclient PalmMinZ=50
Option "PalmMinZ" "50"

Apagar temporalmente el panel táctil mientras escribe:

En lugar de usar comandos synclient, use syndaemon:

$ syndaemon -K -i 0.5 -R -d 

Las wiki arco afirmaciones de que si guarda este comando a su ~/.xinitrcarchivo para que se ejecutan automáticamente en su próximo inicio de sesión. Sin embargo, cuando hice esto, no sabía que el comando debía ocurrir antes del lanzamiento del escritorio ( exec DESKTOP.sessioncomando). Después de jugar con un montón de otros archivos de configuración y aprender mucho sobre el administrador de pantalla SLiM, finalmente me di cuenta de que el comando solo necesitaba moverse más arriba en el archivo, ya que los comandos después del inicio del escritorio no se ejecutarán hasta el escritorio es renunciar.

virtualxtc
fuente
5

Encontré la manera de modificar el período de tiempo durante el cual el panel táctil está deshabilitado mientras escribo. Para cualquier otra persona que lo busque aquí, es:

Nota: una búsqueda en Google produce la respuesta lo suficientemente rápido

Simplemente ejecute el programa syndaemon -dy agregue como una opción -i wait_timedonde wait_time es el tiempo de espera antes de volver a habilitar el panel táctil. Otros parámetros útiles para dar syndaemon incluyen -Knunca deshabilitar el panel táctil cuando las pulsaciones de teclas son del modificador de formato + tecla y -tsolo deshabilitar los clics y no los movimientos del mouse.

Entonces, en mi caso, agregué lo siguiente a un script que ejecuté al iniciar sesión:

#Get rid of previous syndaemon
killall syndaemon
#More aggressive behavior, allow for mod+key combos, enable mouse movements
syndaemon -i 0.2 -K -t -d

Con todas estas modificaciones, especialmente la -tbandera, ¡puedo vivir con el panel táctil como lo es por ahora!

levesco
fuente
Estoy descubriendo que necesito -t al menos (-t Desactivar solo el toque y el desplazamiento, no los movimientos del mouse, en respuesta a la actividad del teclado) o de lo contrario me he vuelto loco. Estoy en Fedora 16. ¿Cómo hace que sus cambios sean permanentes?
Philip Durbin
@PhilipDurbin Los puse en un script que se invoca al arrancar (usando gnome-session-properties), pero necesito hacerlo para cada usuario. La forma más tradicional es ponerlos en un archivo xorg.conf, pero no pude encontrar una manera de configurar las syndaemonopciones en él, solo las synclientopciones.
levesque
3

Tengo una computadora portátil moderna con un gran panel táctil y la mitad del tiempo, mi palma derecha estaba sentada en el borde y hacía falsos clics mientras escribía. El método synclient PalmDetect = 1 no funcionaba para mí (no importa lo que configuré PalmMinWidth y PalmMinZ). Tal vez fue el hecho de que mi palma estaba tocando la almohadilla desde la derecha y la detección de la palma puede estar buscando desde la parte superior. No estoy seguro.

Resolví el problema haciendo una zona muerta en el borde derecho. Así es como lo haces:

synclient 

le dará la configuración actual del panel táctil. Estos resultados son de interés aquí:

LeftEdge                = 1572
RightEdge               = 5370
TopEdge                 = 1376
BottomEdge              = 4480

Obviamente, los números variarán según el hardware. Busque el borde que desea. En mi caso, era el borde derecho. Elegí una cantidad que quería afeitarme. Desea eliminar el número más pequeño que puede salirse con la suya mientras bloquea los clics falsos de su palma. Una prueba muy fácil sería encontrar una imagen en la que se pueda hacer clic en la web, colocar el mouse sobre el centro y colocar la palma de la mano donde normalmente escribiría. Para simular la escritura, golpee (¡ligeramente!) El borde del panel táctil con la parte de la palma de la mano que generalmente sobresale cuando escribe. Si recibe clics, lo sabrá de inmediato. Será prueba y error, sigue jugando con él hasta llegar al punto óptimo. En mi caso, afeitarse 30 hizo el truco:

synclient AreaRightEdge=5340

Para modificar los otros bordes, cambie AreaBottomEdge, AreaLeftEdge o AreaTopEdge. Establecer estos valores nuevamente en 0 los deshabilitará.

thebunnyrules
fuente
La página de manual menciona que la función de detección de palma necesita soporte de hardware. Encontré discusiones en las que la gente discutía sobre los paneles táctiles, que en teoría tienen soporte de hardware, pero en la práctica simplemente no funcionó. Así que lo intenté PalmDetect=1pero no pude hacerlo funcionar. Configuré los parámetros para que todas las entradas deberían haber sido tratadas como golpes de palma accidentales, pero todas las entradas aún se realizaron. Por lo tanto, mi panel táctil no lo admite o tiene errores. Al final, utilicé los Area...Edgeparámetros para eliminar el área de mi panel táctil. Y eso funcionó.
Louis