Emular el clic del mouse con un teclado

13

Quiero hacer un botón en un teclado para que actúe como un clic del mouse, preferiblemente usando xmodmap. ¿Cómo lo hago?

Ejecutando Ubuntu 10.10.

Zona
fuente
setxkbmap -option keypad:pointerkeysHaría lo que quieras. Luego un turno-bloqueo numérico.
peterh - Restablecer Monica

Respuestas:

6

Los siguientes pasos lo ayudarán a reconectar las teclas del teclado a los botones del mouse.

  1. Identifique la tecla del teclado usando la xevutilidad.

    Ejecutar la utilidad xev y presionar la tecla del teclado para volver a cablear generará algo como esto

    KeyPress event, serial 37, synthetic NO, window 0x3e00001,
    root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

    Tenga en cuenta el código clave que se reasignará.

  2. Ejecute la utilidad xkbset

    xkbset m

  3. Remapear utilizando la utilidad xmodmap.

    En el siguiente caso, la tecla de menú se reasigna al botón derecho del mouse.

    xmodmap -e "keycode 135 = Pointer_Button3"

ramasamyz
fuente
vea mi script superuser.com/questions/313926/… Use las teclas para los botones del mouse en linux. ¿Alternativa a AHK?
Russo
4

Me imagino que podría lograr esto usando xmodmap y el mapa de teclas Pointer_Button1.

Busque en el archivo /usr/include/X11/keysymdef.h la ortografía y las mayúsculas exactas, pero debería ser posible asignar una tecla del teclado a un botón del mouse (1,2,3, etc.), incluso un doble clic ( ver el archivo de encabezado, cerca de la línea 460 más o menos)

keysym W = Pointer_Button1

PODRÍA funcionar, haciendo que la tecla W actúe como el botón izquierdo del mouse. Recomiendo usar una clave diferente, a menos que no use ninguna W, pero lo que sea que funcione para usted. (no, no lo voy a probar yo mismo, ¡necesito mis W!)

También eche un vistazo a la página de manual para xmodmap, y ciertamente los contenidos de /usr/include/X11/keysymdef.h para obtener la ortografía correcta. Suelta el prefijo XK_ para usar los nombres de claves para xmodmap.

Parece que está (keysymdef.h) en el paquete x11-proto-core-dev para mi sistema Debian ... es posible que desee buscar el archivo y su contenido en línea, dudo que desee instalar todos los archivos -dev involucrados en solo consigue ESO. GIYF

Algo me hace cosquillas en la cabeza sobre otra forma de hacer esto, pero nada me viene ahora.

¡OH! Dependiendo de sus necesidades, puede buscar en la Emulación de teclado y mouse, con lo que convierte el teclado numérico en un mouse de dos botones con todas las funciones (¡sin rueda de desplazamiento!).

lornix
fuente
1
Para información de los lectores, sobre "Emulación de mouse y teclado": en.linuxreviews.org/… La combinación de teclas para activar esto se ha deshabilitado de forma predeterminada desde hace un tiempo y ahora se necesita Option XkbOptions "keypad:pointerkeys". Pulsar teclas no es la única forma de activar esto: lo xkbset mhace según crunchbang.org/forums/viewtopic.php?id=27937 , y puede controlar el desagradable tiempo de espera y también desactivarlo desde la línea de cmd.
imz - Ivan Zakharyaschev
3

El modo integrado de "Emulación del teclado del mouse" puede hacer esto y / o tiene combinaciones de teclas preconfiguradas para emular varios clics y presiones del mouse (para arrastrar).

(Para su información: la combinación de teclas para activar esto se ha eliminado del mapa de teclas predeterminado desde hace un tiempo y ahora se necesita Option XkbOptions "keypad:pointerkeys").

Pulsar una tecla no es la única forma de activar este modo:

xkbset m

hace esto según http://crunchbang.org/forums/viewtopic.php?id=27937 , y puede controlar el desagradable tiempo de espera y también desactivarlo desde la línea de cmd. Para desactivar el tiempo de espera desagradable:

xkbset exp =m

Por lo tanto, xkbsetes realmente más útil (que tener una clave solo para activar este modo), porque xkbsetbrinda más control sobre el tiempo de espera preferido, etc.

Se usa el teclado numérico. Algunas combinaciones básicas (más en http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg :

  • /, *, -Son para seleccionar el botón central o derecha izquierda,;
  • 5es para hacer clic con el botón seleccionado ;
  • 0y .son para presionar y soltar el botón seleccionado (para arrastrar, etc.)

Notas sobre problemas para obtener la "Emulación de mouse y teclado" siempre activada

  1. No pude conseguir que "Emulación de mouse y teclado" siempre estuviera habilitada. Así que confié en una tecla especial (como en keypad:pointerkeys) para hacer esto.

  2. Descubrí que Xfce también estaba jugando con esta configuración al inicio, por lo que si xkbset mse ejecuta antes de Xfce, entonces la configuración no está activa. Por lo tanto, tuve que cambiar una configuración en la configuración de Xfce para que coincida con mi deseo general, a saber: Configuración de Xfce: Accesibilidad: Mouse: habilitar la emulación . (La fuente para aprender sobre la existencia de dicha opción Xfce fue: https://bugzilla.xfce.org/show_bug.cgi?id=3860 .) Esto parece haber ayudado. (También estoy deshabilitando mi panel táctil xinput float ...; esto se ve afectado al cambiar entre consolas de Linux, pero se puede solucionar de nuevo al deshabilitar este dispositivo en la configuración de Xfce al menos).

imz - Ivan Zakharyaschev
fuente