¿Cómo emular un clic con el botón derecho del mouse en la pantalla táctil?

9

Mi nueva computadora portátil con pantalla táctil no tiene el botón de menú (es decir, el que se comporta como un clic derecho del mouse), el que generalmente está al lado del Ctrl derecho.

como no puede hacer clic con el botón izquierdo, estoy intentando crear un método abreviado de teclado personalizado para Alt GR para esta función (en Sistema> Teclado> Métodos abreviados> Métodos abreviados personalizados)

Al usar el xevcomando con un teclado integrado (que tiene el botón de menú), descubrí que la información del botón es:

KeyRelease event, serial 42, synthetic NO, window 0x4800001,
    root 0xab, subw 0x0, time 2544690, (1236,607), root:(1302,1050),
    state 0x0, keycode 135 (keysym 0xff67, Menu), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Sin embargo, no tengo idea de qué hacer con esta información ...

por cierto estoy usando un Ubuntu 13.04.

Cualquier ayuda sería muy apreciada...

Ismail Moghul
fuente
Tengo exactamente el mismo problema con mi aspire p3, ubuntu 14.04, las funciones de clic derecho no funcionan con la pantalla táctil :(
user65390
@ user65390 has intentado la respuesta de freddi schiller ...
Ismail Moghul
1
deberías editar esta pregunta para eliminar el geek. Simplemente diga, ¿cómo hacer clic derecho en pantallas táctiles? La pregunta, ahora respondida, parece demasiado técnica para coincidir con las respuestas
Bhikkhu Subhuti

Respuestas:

12

Debe habilitar el clic secundario (como comentó AliNa) con gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"o con el editor dconf.

Entonces es posible que Ubuntu maneje la pantalla táctil parcialmente como un panel táctil, donde un toque no activa la presión del mouse. En su lugar, debe tocar brevemente + tocar y mantener.

Freddi Schiller
fuente
Lamentablemente, esta técnica se limita a los entornos de escritorio basados ​​en Gnome3, como el stock de Ubuntu. Mantener presionado para hacer clic con el botón derecho también funciona en Chrome / Chromium fuera de la caja, pero solo porque maneja sus propios eventos táctiles.
Tanius
6

Simplemente siga tocando la pantalla durante 2 o 3 segundos y debería aparecer lo que se llama "menú derecho". Esta es la forma normal de emular un clic derecho en cualquier pantalla táctil.

Radu Rădeanu
fuente
1
Probablemente deberías habilitar primero el clic secundario, solo a gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"través de Dconf Editor.
AliN
Ingresé el comando anterior en el terminal y luego incluso fui a la configuración universal y reduje el retraso de aceptación al mínimo. sin embargo, esto todavía no resuelve el problema: cuando uso un mouse, aparece el menú pero cuando uso la pantalla táctil no funciona ...
Ismail Moghul
1
@IsmailM Entonces, creo que debería hablar sobre esto con su vendedor / fabricante ...
Radu Rădeanu
@ RaduRădeanu Traje este portátil de John Lewis con Windows 8 (y la función de pantalla táctil funciona correctamente en Windows 8). ¿Todavía crees que debería chatear con ellos porque instalé ubuntu yo mismo ...
Ismail Moghul
@IsmailM Sí, deberías.
Radu Rădeanu
1

Si tiene una pantalla táctil Wacom (que utiliza un controlador xf86-input-wacom) y es capaz de al menos multitáctil con dos dedos, lo siguiente producirá un clic derecho:

  1. Toca y sujeta con el primer dedo.
  2. Ahora toque con el segundo dedo.

Si aún no funciona, busque el nombre del producto de su pantalla táctil xinput --listy luego habilite esta función con:

xsetwacom --set "[your touchscreen product id]" Gesture on

Para hacer que este cambio sea permanente, vea mi otra respuesta para la técnica.

A diferencia de los clics con el botón derecho bajo Gnome / Ubuntu Shell, esto funciona en todos los entornos de escritorio porque es una característica de nivel de controlador (heredado). Solo tenga en cuenta que puede causar problemas al hacer clic izquierdo con la pantalla táctil en algunos programas, por lo que tuve que desactivarlo en mi sistema.

Tanius
fuente
0

Para aquellos que tienen la tecla Menú en su teclado, la nota en la pregunta sobre cómo usarla para crear un clic derecho es realmente una gran idea. Como no es obvio, así es como funciona:

  1. Mantenga presionada la pantalla con un dedo. No suelte el dedo, ya que eso provocaría un clic izquierdo, lo que podría tener efectos no deseados en su aplicación. Sin embargo, tocar y mantener es como presionar y no soltar el botón izquierdo del mouse, y generalmente no se produce ninguna acción en una aplicación. Pero, la posición del puntero del mouse ya ha cambiado a donde queremos hacer clic derecho, razón por la cual hacemos este paso.

  2. Presione y suelte la tecla Menú. Ya en el evento de presionar una tecla, se activa un clic derecho.

Obviamente, esta técnica necesita dos manos y es completamente imposible en portátiles convertibles en modo tableta. Por lo tanto, es de uso práctico limitado.

Tanius
fuente
0

De mis respuestas a esta pregunta, este es mi favorito personal.

Si tiene una pantalla táctil que admite al menos la entrada multitáctil con dos dedos, puede instalarla toucheggy configurarla para interpretar (por ejemplo) un toque con dos dedos como un clic derecho. Intenté esto en Lubuntu 18.10 y funciona.

1. Instalación

touchegg está disponible en los repositorios de Ubuntu 18.10, por lo que puede instalarlo simplemente así:

sudo apt install touchegg

Para comenzar, ejecute touchegg. Al ejecutarlo en un terminal, puede verificar desde su salida si detecta sus gestos multitáctiles correctamente.

Para touchegginiciar automáticamente cada sesión LXQt, simplemente agréguela al inicio automático (menú LXQt → Preferencias → Configuración LXQt → Configuración de sesión → Inicio automático).

2. Formas de configurar touchegg

Puede configurar toucheggde dos formas alternativas:

  • Configuración con un archivo de configuración. Edita el archivo ~/.config/touchegg/touchegg.conf. Para que los cambios sean efectivos, ejecute lo siguiente en una terminal o mediante el cuadro de diálogo Alt+ F2ejecutar:

    killall touchegg; touchegg
    
  • Configuración con una GUI. toucheggtiene una buena interfaz gráfica de usuario llamada touchegg-gui, que se ve aquí . Sin embargo, no es parte del toucheggpaquete de Ubuntu. Alternativamente, puede instalar la GUI touchegg-gce como se describe aquí . touchegg-gcefunciona, pero debe reiniciar manualmente toucheggdespués de guardar los cambios en su archivo de configuración, nuevamente ejecutando:

    killall touchegg; touchegg
    

3. Configuración para emular un clic derecho

Para configurar un clic derecho con dos dedos, puede usar este archivo de configuración para ~/.config/touchegg/touchegg.conf:

<touchégg>
        <settings>
                <property name="composed_gestures_time">0</property>
        </settings>

        <application name="All">
                <gesture type="TAP" fingers="2" direction="">
                        <action type="MOUSE_CLICK">BUTTON=3</action>
                </gesture>
        </application>
</touchégg>

Comentarios sobre la toucheggconfiguración:

  • El clic derecho con dos dedos como se muestra arriba ya está contenido en el archivo de configuración predeterminado que viene con touchegg. (Ubuntu 18.10 aquí.)

  • El programa esperará composed_gestures_time(dado en milisegundos) para que complete sus acciones para los gestos que consisten en múltiples partes (como toques dobles), y solo luego los interpretará. Entonces, cuando se usa toucheggsolo para gestos de una sola parte, como hacer clic con el botón derecho del mouse con dos dedos, podemos configurar esto 0para evitar cualquier retraso notable en las acciones. Este también es el valor predeterminado en el archivo de configuración creado por touchegg.

  • Al menos con mi pantalla táctil, no se reconoce tocar dos dedos al tocar la pantalla con ambos dedos exactamente al mismo tiempo. Pero cuando hay incluso un intervalo de tiempo muy pequeño (para que se puedan escuchar dos toques, probablemente ≥10 ms), funciona de manera confiable. Así que solo muevo mi dedo índice y dedo medio con un pequeño espacio vertical hacia la pantalla, y funciona de manera confiable.

  • El clic derecho se activará en la ubicación de ese dedo (de los dos en este gesto) que toca la pantalla primero.

  • toucheggpermite que todos los eventos que no se configuraron para aparecer en la aplicación debajo del cursor se interpreten allí. Esto es bueno porque el pinch-zoom nativo, etc. implementado en Chromium, Chrome, Evince, por ejemplo, funciona de manera más suave que a través de touchegg.

  • toucheggse puede utilizar junto con el (! muy recomendable) software de reconocimiento de un solo toque gesto easystrokesin interferencias. Por supuesto, no deben configurarse para ser activados por los mismos eventos.

4. Solución de problemas

  • toucheggpuede dejar de funcionar después de un ciclo de suspensión y reanudación. Todavía tengo que encontrar una manera para que se reinicie automáticamente.

  • Al menos para mí y para otros , toucheggsolo interpretaremos eventos táctiles en la pantalla táctil, no en el panel táctil. En este caso esto se desea. Puede deberse a que mi panel táctil utiliza un controlador que no expone los eventos multitáctiles al servidor X (en synapticslugar de libinput). Puede verificar a qué dispositivos se toucheggune comenzándolo GEIS_DEBUG=3 touchegg.

  • Si toucheggcausa una especie de "medio clic atascado" para todos los programas, donde los grifos moverán el puntero del mouse pero ya no activarán los clics izquierdos: este no es su comportamiento normal. Bajo Ubuntu 18.10 con LXQt, no tenía esto al principio, pero luego lo tuve en varios reinicios touchegge incluso reinicios de toda la computadora. Desapareció después de iniciar el escritorio predeterminado de Ubuntu y luego regresar a LXQt.

    Una solución en el toucheggarchivo de configuración mediante la configuración de un gesto adicional para tocar con un dedo solucionará el "medio clic atascado", pero toucheggsigue habiendo otro mal comportamiento con este error, por lo que no es una solución real. Ese mal comportamiento incluye que (1) toucheggahora también consumirá todos los eventos para los que no está configurado, al menos aquellos para un dedo, y (2) algunos programas basados ​​en Java ( freemindpor ejemplo) ahora sufrirán un problema inverso con "mitad atascada clics ", donde la posición del cursor se bloqueará pero se registrarán los clics del botón izquierdo del mouse. Esto se soluciona temporalmente haciendo una acción de dos dedos en el programa basado en Java, para toucheggreconocer.

Tanius
fuente
0

Puede usar easystrokepara crear clics con el botón derecho con un modificador más toque, como Ctrl+ Alt+ toque. Con una configuración adicional, se puede acceder a este solo con una pantalla táctil, ver más abajo.

Esto es bastante bueno, ya que "modificador más toque" como un clic derecho no se puede configurar con ninguno de touchegg(no reconoce los modificadores), mouseemu(no reconoce los grifos porque carecen de códigos de escaneo) o xsetwacom "…" set Button 1 …(no reconoce los grifos ya que la entrada del dedo no es un evento de botón en el controlador).

1. Instalación

easystrokeel programa solo se mantiene mínimamente en este momento, pero en las notas de la versión se vinculan a un paquete de Ubuntu reciente, construido en Ubuntu 18.04. Funcionó bien para mí (Ubuntu 18.10 aquí). Puede instalarlo de la siguiente manera:

wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_amd64.deb
sudo apt install ./easystroke_0.6.0-0ubuntu8_amd64.deb

2. Configuración

  1. Comience el programa con easystroke.

  2. En la segunda pestaña "Preferencias", haga clic en "Botón de gestos" y toque Ctrl+ Alt+ en el campo gris. Ctrl+ Altparece ser la mejor opción de modificador, al menos bajo LXQt, porque:

    • Tanto Shift+ clic como Ctrl+ clic ya se utilizan para la selección múltiple y no estarán disponibles para eso si se les asigna easystroke.
    • Alt, Supery cualquier combinación que implique Superno será vista por easystroke. Este es probablemente un problema de configuración de LXQt o Openbox, pero no pude resolverlo hasta ahora.
  3. En la primera pestaña "Acciones", haga clic en "Agregar acción".

  4. Configure su acción con "Tipo: Comando" y "Detalles: xdotool keyup ctrl alt; xdotool click 3". Adaptarse según sus modificadores elegidos.

    Dependiendo de los modificadores, borrar los modificadores primero es importante para evitar efectos secundarios. Por ejemplo Shift, hacer clic con el botón derecho en Chrome llevaría a la selección de texto. Además, es necesario borrar los modificadores explícitamente para evitar que los modificadores se bloqueen al activar estas pulsaciones de teclas con el software (consulte la sección 3 a continuación). No borrar los modificadores por sí solo antes de ejecutar el comando podría considerarse un error easystroke.

  5. Haga clic en "Grabar trazo" y grabe un solo toque.

  6. Puede deshabilitar las ventanas emergentes (aquí bastante inútiles) en "Preferencias → Apariencia → Mostrar ventanas emergentes".

  7. Puede limitar este reconocimiento de gestos solo a su pantalla táctil y quizás al dispositivo de entrada con lápiz en "Avanzado → Dispositivos".

Ahora, Ctrl+ Alt+ toque creará un clic derecho.

Tenga en cuenta que easystroketiene un excelente reconocimiento de gestos para gestos de un solo toque ("dibujar formas en la pantalla") que puede usar para automatizar muchas tareas mientras usa la pantalla táctil. Ese es su propósito principal, mientras que la emulación con el botón derecho es solo un efecto secundario.

3. Mejora: clics con el botón derecho del mouse solo

Ahora, mejoremos esta configuración para que pueda activar los clics con el botón derecho con solo una mano y una pantalla táctil al (1) tocar un botón especial en la pantalla que significará "el siguiente toque es hacer clic con el botón derecho" y (2) luego tocar en la pantalla normalmente.

Aquí hay una receta para Lubuntu (LXQt) y el uso del modificador Ctrl+ Altelegido anteriormente, pero el principio es el mismo en todos los entornos de escritorio y con todos los modificadores: una entrada personalizada de inicio rápido en el panel.

  1. Cree un icono personalizado para su entrada de inicio rápido y guárdelo como ~/.icons/default/rightclick.png.

  2. Cree un .desktoparchivo personalizado y guárdelo como .local/share/applications/rightclick.desktop, con el siguiente contenido. Tenga en cuenta que debe suministrar usernamela ruta absoluta.

    [Desktop Entry]
    Name=Rightclick
    Comment=Next tap is a rightclick via Ctrl + Alt + easystroke gesture.
    Icon=/home/matthias/.icons/default/rightclick.png
    Exec=xdotool keydown ctrl alt
    Type=Application
    Categories=System;Utility;
    StartupWMClass=localdomain.rightclick
    
  3. Agregue otro widget de inicio rápido a su panel LXQt. Si bien, en principio, también puede modificar su existente, descubrí que uno ubicado en la esquina inferior derecha de la pantalla es el más natural para la operación con la mano derecha y también los clics erróneos accidentales solo mostrarán la fecha (si eso es lo que está al lado del izquierda, como en mi caso) en lugar de comenzar una aplicación grande.

  4. Abra ~/.config/lxqt/panel.confy ajuste la nueva [quicklaunch2]sección para hacer referencia a su .desktoparchivo personalizado . De nuevo, tienes que abastecer username. Ejemplo de cómo puede verse:

    [quicklaunch2]
    alignment=Left
    apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
    apps\size=1
    type=quicklaunch
    
  5. Reinicie el panel LXQt para que los cambios sean efectivos. Para eso:

    1. Vaya a "Menú LXQt → Preferencias → Configuración LXQt → Configuración de sesión".
    2. Seleccione "Configuración básica → Módulos LXQt → Panel".
    3. Haga clic en "Parar".
    4. Haga clic en "Inicio".

     

    (También puede ejecutar killall lxqt-panel && lxqt-panelen el cuadro de diálogo Alt+ F2inicio, pero eso interferirá con el estado del panel reconocido en el cuadro de diálogo mencionado anteriormente, y si combina ambas técnicas, tendría dos paneles ejecutándose uno encima del otro, uno de los cuales falta algún panel iconos. Así que mejor no. Esto todavía tiene errores.)

Además, si tiene botones especiales de hardware al costado de la pantalla táctil, puede asignar el xdotool keydown ctrl altcomando a uno de ellos.

4. Otras mejoras y solución de problemas

  • Como buen efecto secundario, la técnica anterior para hacer clic con el botón derecho del mouse solo permite el acceso con una sola mano a todos los demás gestos que haya configurado easystroke. Esa es una característica bastante poderosa para la automatización del uso de la pantalla táctil.

  • Cuando configure otros gestos easystroke, tenga en cuenta el siguiente error: easystrokeno borra nuestros modificadores elegidos antes de realizar la acción configurada. Los tipos de acción "Clave" y "Texto" resultan en combinaciones de teclas junto con Ctrl+ Alten el caso anterior, lo que los hace inutilizables. Como solución alternativa, elija el tipo de acción "Comando" en su lugar y borre los modificadores usted mismo de la misma manera que anteriormente. Entonces, para activar Ctrl+ V, el comando sería:

    xdotool keyup ctrl alt; xdotool key "ctrl+v"
    

    (La xdotoolopción --clearmodifiersno ayuda aquí ya que solo deshabilita los modificadores durante la combinación de teclas para ejecutarlos y los vuelve a aplicar después. Lo que en este caso haría que el siguiente toque sea un clic derecho según la técnica anterior, pero no querríamos que en este caso)

  • Si alguna vez ha bloqueado los modificadores durante la prueba, al presionar y soltar las teclas modificadoras en el teclado físico se solucionará la condición.

  • A veces, durante la prueba de estas cosas, mi LXQt mis eventos de teclado y mouse se vuelven muy desordenados. En tal caso, solo el cierre de sesión del entorno gráfico y el inicio de sesión nuevamente ayudaron.

  • La forma más limpia de implementar una operación táctil de una sola mano easystroke, incluido el caso de hacer clic con el botón derecho como se requiere aquí, sería presionar el easystrokeícono del panel en el mismo estado interno que nuestro ícono de panel personalizado configurado anteriormente, pero sin cambiar realmente el estado del modificador del teclado porque eso puede conducir a modificadores atascados, etc. Para mostrar la easystrokeventana, uno tendría que usar el menú contextual del icono de su panel. Obviamente, eso requiere algunos cambios en el easystrokecódigo.

Tanius
fuente