¿Cómo puedo desactivar el panel táctil mientras escribo? En Ubuntu 16.04 syndaemon no funciona

42

Quiero desactivar el panel táctil mientras escribo. Intenté esto:

syndaemon -i 1 -d -t -K

Debería desactivar el toque y el desplazamiento en el panel táctil durante 1 segundo e ignorar las combinaciones de modificador + teclas, pero después de configurar syndaemoncomo se describe, nada cambia. El touchpad siempre está activo y es muy molesto.

Estoy usando Ubuntu 16.04 en una Dell Precision 5510.

marsUbuntux
fuente
1
Tocar para hacer clic está deshabilitado de forma predeterminada mientras se escribe, el movimiento / desplazamiento del cursor no. Hay una manera de deshabilitar el panel táctil mientras se escribe pero no a través de syndaemon / synclient. Sin embargo, el método hará que desaparezca la configuración del sistema> Mouse y panel táctil> configuración del panel táctil. Alguna información aquí - bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/…
doug
44
Prueba -syndaemon -i 1.0 -d -K
doug
1
@doug lo probé y no cambió nada
marsUbuntux
@doug ¿debería intentar eliminar el controlador synaptics y el controlador libinput Xorg en su lugar?
MarsUbuntux
El problema con esto es que no tendrá configuraciones de panel táctil en la configuración del sistema y tendrá que agregarlas manualmente como en el informe de error. Lo que intentabas con syndaemon originalmente era en realidad el valor predeterminado, es decir. - deshabilite tocar para hacer clic mientras escribe, pero no deshabilite el movimiento del cursor. ¿Tocar para hacer clic está deshabilitado mientras escribe?
doug

Respuestas:

36

Es posible que tenga dos controladores de panel táctil en ejecución, donde syndaemon interactuaría con el incorrecto. Tuve el mismo problema en un Dell XPS 13, y este hilo ( http://ubuntuforums.org/showthread.php?t=2316240 ) me ayudó.

Si también ve dos dispositivos de panel táctil, intente deshabilitar uno. Como tiene una computadora diferente, las instrucciones en el enlace pueden o no ser literalmente aplicables para usted.

Desde el puesto mencionado, el procedimiento es:

abra el archivo /usr/share/X11/xorg.conf.d/51-synaptics-quirks.confcomo root con su editor de texto Inserte el siguiente texto:

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
      MatchProduct "SynPS/2 Synaptics TouchPad"
      MatchIsTouchpad "on"
      MatchOS "Linux"
      MatchDevicePath "/dev/input/event*"
      Option "Ignore" "on"
EndSection

Reinicie o reinicie Xorg con el comando El sudo systemctl restart lightdm crédito va a ddarling desde ubuntuforums.org.

Desde enero de 2018, Dell tiene una página oficial en su Base de conocimiento sobre problemas con el panel táctil / mouse de Ubuntu . La página describe esta solución para deshabilitar el "SynPS / 2 Synaptics TouchPad", y también sugiere pasar a libinput en lugar de synaptics como controlador del mousepad.

vanadio
fuente
tuvo la misma situación que usted:> DLL06E5: 01 06CB: 7A13 Touchpad id = 14 [puntero esclavo (2)]> SynPS / 2 Synaptics TouchPad id = 16 [puntero esclavo (2)] Hizo lo mismo que se describe en el enlace has publicado ¡Funcionó! Ahora el touchpad funciona como quiero. Gracias
marsUbuntux
La solución mencionada allí también funcionó para Dell Lattitude 3570.
chanux
Eso es asombroso, siempre pensé que esto no es reparable. Esto salva mi laptap. Muchas gracias. Esto es realmente útil.
realhu
Como esta respuesta merece más crédito, la actualicé para aclarar un poco más.
William S
2
Podría valer la pena sacar la solución del foro a la respuesta, en caso de que el enlace desaparezca.
BeepDog
30
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
  • Abra el indicador del panel táctil y haga clic en el icono del indicador.
  • Puede cambiar las preferencias (en la pestaña de acción) para "deshabilitar el panel táctil al escribir"

¡Aclamaciones!

cpn
fuente
1
Está disponible como una extensión gnome: extensiones.gnome.org/extension/131/touchpad-indicator
zamnuts
2
no funcionó para mí en Ubuntu Budgie-Remix 16.04.3
r3wt
para aclarar el comentario de zamnuts: solo puede acceder a las preferencias si instala esto desde una extensión gnome según el enlace que proporcionó (o al menos no pude hacerlo de otra manera). Sin embargo, no tengo la opción de desactivar el panel táctil al escribir.
glS
Inadvertidamente rechacé la votación (debe haber estado escribiendo en reposo) y ahora no puedo eliminarlo a menos que se actualice la respuesta. (Evidentemente, askubuntu.com está configurado de esta manera). Intenté agregar solo espacios, pero se necesitan un mínimo de 8 (¿diferentes?) Caracteres. Si desea editar la respuesta y agregar algo como "Sugerencia: configure la aplicación de panel táctil para que se inicie automáticamente, de modo que no necesite iniciarla manualmente en cada inicio de sesión", entonces debería ver una notificación y luego debería poder eliminarla Mi voto negativo.
st2000
10

Estoy usando ubuntu 17.10 y probé una solución diferente sugerida aquí, la mayoría de las veces no funciona. especialmente el software indicador de panel táctil cuando se inicia en ubuntu 17.10 simplemente deshabilita el panel táctil y no pude encontrar ninguna forma de volver a habilitarlo sin reiniciar la computadora portátil. ahora encontré esta solución, creo que todavía funciona bastante bien: solo use este comando,

synclient PalmDetect = 1

Esto al menos evitará golpes innecesarios de palma en el panel táctil que al final da una mejor vida.

tareqalam
fuente
Esta es una muy buena solución y es una solución de una línea. Tenía esto antes pero lo perdí. ¡Gracias por publicar!
Thomas Dignan
No es perfecto, pero ayuda mucho en 17.10, gracias.
Jack
Esto funciona perfectamente Me sorprende que no sea un valor predeterminado, pero supongo que es solo Linux.
Gunchars
@tareqalam: ¿Este comando persiste un reinicio?
Lonnie Best
2

Después de buscar opciones para 'xinput', encontré una solución efectiva y fácil para deshabilitar el panel táctil Synaptics usando Ubuntu 16.04 y Lubuntu 16.04

En una ventana de terminal, otórguese acceso administrativo ingresando 'sudo -s' e ingresando su contraseña.

Usando su editor favorito, como leafpad o gedit, cree un nuevo archivo de script:

leafpad /usr/local/bin/tpadoff

e inserte lo siguiente:

#!/bin/bash
#/usr/local/bin/tpadoff - turn off touchpad
xinput --disable  'SynPS/2 Synaptics TouchPad'

Guarde el archivo y salga del editor. Luego ingrese el comando:

chmod 755 /usr/local/bin/tpadoff

para hacer que el archivo sea ejecutable. Puede repetir para crear un archivo tpadon, simplemente cambie '--disable' a '--enable'.

Cuando termine, 'salga' de la ventana del terminal para deshabilitar el acceso del administrador.

Las entradas de escritorio se pueden crear abriendo una nueva ventana de terminal y usar su editor favorito (en este ejemplo, estoy usando leafpad nuevamente):

cd Desktop
leafpad tpadoff.desktop

e inserte el siguiente texto: [Entrada de escritorio] Nombre = TouchPad Off Comentario = Desactivar Touchpad Exec = / usr / local / bin / tpadoff Terminal = false Tipo = Aplicación

Guarde el archivo y salga del editor. Luego ingrese el siguiente comando:

 chmod 775 tpadoff.desktop 

También puede repetir para crear un tpadon.desktop, cambiando todas las referencias 'desactivadas' a 'activadas'.

Cuando termine, tendrá dos formas de apagar (y opcionalmente encender) el panel táctil haciendo doble clic en un icono del escritorio o ingresando 'tpadoff' en una ventana de terminal.

Si su panel táctil es diferente, es posible que tenga que usar 'xinput' en una ventana de terminal para encontrar la sintaxis exacta de su panel táctil. Luego edite el archivo '/ usr / local / bin / tpadoff' para que coincida con lo que informó xinput.

jakester
fuente
1
La pregunta es sobre cómo deshabilitar el panel táctil mientras se escribe (es decir, automáticamente), por lo que si bien no responde directamente, agradezco mucho la calidad de su respuesta.
guntbert
2

Después de meses de buscar una solución, decidí escribir un programa simple de Python para deshabilitar el panel táctil mientras escribía. Agregar el programa a las Aplicaciones de inicio para que se ejecute cada vez que inicie su computadora. Debe ejecutar xinput listpara determinar la identificación de su teclado, en mi caso es 17.

xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=11   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=12   [slave  pointer  (2)]
⎜   ↳ DLL082A:01 06CB:76AF Touchpad             id=14   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=18   [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)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=10   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=13   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=15   [slave  keyboard (3)]
    ↳ Intel HID events                          id=16   [slave  keyboard (3)]
    **↳ AT Translated Set 2 keyboard                id=17   [slave  keyboard (3)]**
    ↳ Dell WMI hotkeys                          id=19   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=20   [slave  keyboard (3)]

Aqui esta el programa

import time 
import subprocess
import threading

def main():
    subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
    p = subprocess.Popen('xinput test 17', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    clickTime = [0, 0]
    def checkTime():
        keys = [37, 50, 62, 64, 105, 108, 133]
        while True:
            out = p.stdout.readline()

            if len(out) < 1:
                break
            key = int(out.split()[-1])
            if key not in keys:
                clickTime[0] = time.time()

    t = threading.Thread(target=checkTime)
    t.start()

    lastTime = 0
    touchpad = True
    while True:
        inactive = time.time() - clickTime[0]
        # print ('inactive for', inactive)
        if inactive > 1:            
            if not touchpad:
                print ('Enable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
            touchpad = True
        else:
            if touchpad:
                print ('Disable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false', shell=True)
            touchpad = False
        time.sleep(0.5)

    retval = p.wait()

if __name__ == '__main__':
    main()
tunght_53
fuente
Impresionante solución, simplemente monitoreando la actividad del teclado usando xinput y sondeo para ver si ocurren nuevos eventos cada 0.5 segundos. Eso tiene un impacto bastante mínimo en la actividad de la CPU, pero aún sería bueno si hubiera una forma de activar el comportamiento para que solo ocurra en eventos de teclado. ¿Hay alguna razón por la que excluyó ciertas teclas como la flecha izquierda y el espacio, o es solo una preferencia personal?
theferrit32
2

En Ubuntu 19.04, encontré que era adecuado (para mis necesidades) simplemente deshabilitar la función "Tap to Click":

ingrese la descripción de la imagen aquí

Sin embargo, la consecuencia de esto es que, en realidad, tendrá que usar los botones del panel táctil (es de esperar que tenga botones) para hacer clic. Para mí, eso es una compensación justa.

Si no tiene botones de clic "izquierdo y derecho" (separados de su panel táctil), puede calibrar la sensibilidad de su panel táctil . Aprendí sobre esto de Peter Hutterer, en este informe de error .

Desearía que los fabricantes de computadoras portátiles no fabricaran computadoras portátiles con paneles táctiles sin retroceso. Estos paneles táctiles que están nivelados con las teclas del teclado (en lugar de retroceder) son un defecto de diseño.

Informe a los fabricantes de su computadora portátil sobre los problemas que le causaron por este mal diseño; de lo contrario, seguirán haciéndolo ciegamente en modelos futuros.

Lonnie Best
fuente
1
Confirmó que esto funciona muy bien. Noté una cosa menor que puedo ignorar: cuando mis palmas gordas tocan el panel táctil mientras escribo, puedo ver que el cursor del mouse se mueve un poco, pero al menos no lo dejo hacer clic en otro lugar, lo que es una pérdida de tiempo. Idealmente, aún podría tener el comportamiento Tap To Click, pero al menos en mi computadora portátil, esa funcionalidad nunca funcionó tan bien de todos modos. Por lo tanto, la compensación es justa.
bgoodr
1

Para los usuarios de Kubuntu ...

En Kubuntu 16.04, para deshabilitar el panel táctil mientras escribía, tuve que desactivar la casilla de verificación "Deshabilitar toques y desplazamiento solamente" en configuración-> dispositivos de entrada-> panel táctil-> Activar / desactivar panel táctil. Puede parecer obvio pero ...

usuario1806949
fuente
ubuntu 16.04 funcionando
Nazmul Hasan
No existe tal subopción en Ubuntu 18.04, ni Configuración ni Ajustes.
dskrvk
0
xinput list |
while read line; do
    if [[ $line == *Touchpad* ]]; then
        tid="$(echo $line | cut -d '=' -f 2 | cut -c 1-2)"
        xinput set-prop $tid "Device Enabled" 0
    fi
done

o más concisamente

xinput list | sed -nre 's/^.*Touchpad.*\sid=(\S+).*$/\1/p' | xargs -I{} -- xinput set-prop {} 'Device Enabled' 0
Nando
fuente
por favor arregle el formato
Pierre.Vriens
1
Bienvenido a Ask Ubuntu! Recomiendo editar esta respuesta para expandirla con detalles específicos sobre lo que hace este comando (secuencia). Un comando simple (secuencia) rara vez se considera una respuesta. (Consulte también ¿Cómo escribo una buena respuesta? Para obtener consejos generales sobre qué tipo de respuestas se consideran más valiosas en Ask Ubuntu.)
David Foerster,