X11: intercambiar tecla del teclado con el botón del mouse

X11: intercambiar tecla del teclado con el botón del mouse

Quiero que mi tecla Menú en el teclado (código clave 135) haga lo mismo que el botón derecho del mouse.

https://superuser.com/questions/336674/emular-clic-de-mouse-con-tecladohace eso pero sacrifica la región del teclado numérico en mi teclado, por lo que estas teclas ya no tienen su función normal. Como uso mi teclado, no me interesa sacrificarlo.

Entonces estoy buscando una solución quesolotoca el botón Menú (código clave 135).

Respuesta1

[NB: obviamente y a propósito, esto no"intercambio"una tecla del teclado con un botón del mouse; simplemente permite que una tecla del teclado actúe como un botón del mouse; pero el botón del mouse NO comenzará a actuar como la tecla del teclado a su vez]

xkbset m
xkbset exp =m  # keep the state unchanged after the AccessX timeout
xkbcomp "$DISPLAY" - |
  sed -e 's/ Menu / Pointer_Button3 /' -e '/interpret KP_/,/};/d' | 
  xkbcomp - "$DISPLAY"

También puedes vincular otra combinación de teclas para alternar los MouseKeyscontroles. P.ej. con Shift-Menu:

xkbcomp "$DISPLAY" - |
  sed -e 's/ Menu \| Pointer_Button3 / Pointer_Button3, MouseKeys_Enable /' -e '/interpret KP_/,/};/d' |
  xkbcomp - "$DISPLAY"

Esto supone que la Menuclave no estaba ya en otra cosa.

En lugar de xbksety xkbcomp, puedes escribir fácilmente un pequeño programa para hacer lo mismo (todas las operaciones que realizan pueden realizarse con cualquier cliente X11 normal).

Cómo integrar esto con "entornos de escritorio" intratables (que cambian ellos mismos la configuración de xkb según sus propias reglas) se deja como ejercicio para el lector.

información relacionada