habilitación de teclas adhesivas bajo xorg (impresionante administrador de escritorio)


12

Me gustaría habilitar "teclas de modificación adhesivas" en archlinux + impresionante, y no he encontrado la información correcta.


¿Qué son las "teclas adhesivas"?
Daniel Andersson

bien, quise decir "teclas modificadoras fijas", significa que presionar una tecla modificadora actúa como una palanca y, por lo general, la palanca se suelta la próxima vez que se presiona la tecla, por lo que no es necesario presionar las teclas simultáneamente, pero se pueden presionar en secuencia. Esta es una característica de accesibilidad para usuarios discapacitados en OS-X, Gnome y probablemente Windows, y me parece más cómoda y menos esfuerzo con la función activada.
Macario

Respuestas:


21

Lo tengo. Hay una utilidad llamada xbkeys para configurar las opciones de accesibilidad para xorg.

Del manual de xkbset ($ xkbset man):

To switch sticky keys on or off, and optionally set or reset:
() two keys pressed at the same time stops sticky keys;
() a modifier pressed twice will be locked:

    [-]{sticky|st} [[-]twokey|[-]latchlock]...

Corrí esto:

$ xkbset sticky -twokey -latchlock

Ese comando puede ir en .xinitrc

# turn on stickykeys. don't let two keys pressed at the same time disable it.
# don't turn on "latch lock", ie pressing a modifier key twice "locks" it on.
xkbset accessx sticky -twokey -latchlock

# don't expire these settings. (run xkbset q exp for details.)
xkbset exp 1 =accessx =sticky =twokey =latchlock

 


Aquí hay un enlace a xkbset: math.missouri.edu/~stephen/software/#xkbset

Esto está disponible en Debian en el paquete xkbset.
Jesse Hallett

3
¡Esta respuesta es muy útil! Ahora solo quiero encontrar una manera de limitar el comportamiento pegajoso a las teclas Shift.
Jesse Hallett

1
@JayeshBhoot Sí; xkb tiene variantes de "bloqueo" de algunas teclas. Obtengo un cambio fijo al asignar mis teclas de cambio a las ISO_Level2_Latchque actúa como cambio para fines de modificación. (Algunos programas que buscan el código de tecla Shift específicamente no funcionan ISO_Level2, especialmente los juegos). Tengo mi configuración en línea; pero deberá buscar documentación sobre los detalles específicos de la aplicación de asignaciones de teclas personalizadas. github.com/hallettj/dot-xmonad/blob/master/home/.config/X11/xkb/…
Jesse Hallett el

1
@JesseHallett gracias por el puntero! Probaré esto lo antes posible.
Jayesh Bhoot

5

Puede usar Xmodmap para establecer un bloqueo de teclas para las teclas de desplazamiento, Kana, Num, Mayúsculas y Mayús. También algunas claves de agrupación ISO se pueden reasignar de esta manera. Por ejemplo, en mi teclado, para configurar Mayúsculas Izquierda como una palanca, use esto:

xmodmap -e "keycode 50 = Shift_Lock"

use "xev" para obtener el código clave correcto.

Simplemente agregue el comando dentro de las comillas a un archivo llamado .Xmodmap y reinicie X para que los cambios sean permanentes.

Desafortunadamente, no creo que haya un código clave para bloquear las teclas Control, Alt o Meta. Si publica una pregunta más específica y agrega una recompensa decente, es posible que pueda elaborar un script de shell y / o un cambio de xorg para que esto sea posible.


Desafortunadamente no tengo más puntos para ofrecer, realmente me faltan modificadores fijos como en cntrl, window, alt, meta ...
Macario

XKB es una mejor manera de hacer esto. Check Arch wiki
phil pirozhkov

1

Una forma de habilitar las teclas adhesivas es presionar la StickyKeys_Enabletecla. Si no lo tiene asignado a su teclado, puede simular la pulsación de tecla con, por ejemplo, Xdotool:

> xdotool key StickyKeys_Enable

-1

Que yo sepa, Xorg no es compatible con esto. No es inconcebible que un controlador de teclado personalizado implemente esto, pero nunca me he encontrado con tal cosa.


Mmm ... Realmente me gustaría tener esto sin tener que recurrir a Gnome o XFCE ... ¡qué fastidio!
Macario
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.