activer les touches rémanentes sous xorg (gestionnaire de bureau génial)


12

Je voudrais activer les "touches de modification persistantes" sous archlinux + awesome, et je n'ai pas trouvé les bonnes informations.


Qu'est-ce que les "clés collantes"?
Daniel Andersson

à droite, je voulais dire "touches de modification collantes", cela signifie que le fait d'appuyer sur une touche de modification agit comme une bascule et généralement la bascule est relâchée à la prochaine pression de touche, donc les touches ne doivent pas être pressées simultanément mais peuvent être pressées en séquence. Il s'agit d'une fonctionnalité d'accessibilité pour les utilisateurs handicapés sur OS-X, Gnome et probablement Windows, et je la trouve plus confortable et moins pénible avec la fonction activée.
Macario

Réponses:


21

J'ai compris. Il existe un utilitaire appelé xbkeys pour définir les options d'accessibilité pour xorg.

Depuis le manuel 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]...

J'ai couru ceci:

$ xkbset sticky -twokey -latchlock

Cette commande peut aller dans .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

 



Ceci est disponible dans debian dans le paquet xkbset.
Jesse Hallett

3
Cette réponse est très utile! Maintenant, je veux juste trouver un moyen de limiter le comportement collant aux touches Maj.
Jesse Hallett

1
@JayeshBhoot Oui; xkb a des variantes de «verrouillage» de certaines clés. J'obtiens un décalage collant en mappant mes touches de décalage sur ISO_Level2_Latchlesquelles agit comme décalage à des fins de modification. (Certains programmes qui recherchent spécifiquement le code de touche shift ne fonctionnent pas avec ISO_Level2, en particulier les jeux.) J'ai ma configuration en ligne; mais vous devrez rechercher de la documentation sur les détails spécifiques de l'application de mappages de touches personnalisés. github.com/hallettj/dot-xmonad/blob/master/home/.config/X11/xkb/…
Jesse Hallett du

1
@JesseHallett merci pour le pointeur! Je vais essayer cela dès que possible.
Jayesh Bhoot

5

Vous pouvez utiliser Xmodmap pour définir un verrouillage des touches pour les touches de défilement, Kana, Num, Caps et Shift. Certaines clés de regroupements ISO peuvent également être remappées de cette façon. Par exemple, sur mon clavier, pour définir le décalage gauche comme bascule, utilisez ceci:

xmodmap -e "keycode 50 = Shift_Lock"

utilisez "xev" pour obtenir le code clé correct.

Ajoutez simplement la commande à l'intérieur des guillemets dans un fichier nommé .Xmodmap et redémarrez X pour que les modifications soient permanentes.

Malheureusement, je ne pense pas qu'il existe un code de clé pour verrouiller les touches Contrôle, Alt ou Méta. Si vous postez une question plus spécifique et ajoutez une prime décente, je pourrai peut-être élaborer un script shell et / ou un changement de xorg pour rendre cela possible.


Malheureusement, je n'ai plus de points à offrir, il me manque vraiment des modificateurs collants comme dans cntrl, window, alt, meta ...
Macario

XKB est une meilleure façon de procéder. Voir Arch wiki
phil pirozhkov

1

Une façon d'activer les touches rémanentes consiste à appuyer sur la StickyKeys_Enabletouche. Si vous ne l'avez pas mappé à votre clavier, vous pouvez simuler la pression de touche avec par exemple Xdotool:

> xdotool key StickyKeys_Enable

-1

Pour autant que je sache, Xorg ne le supporte pas. Il n'est pas inconcevable qu'un pilote de clavier personnalisé implémente cela, mais je n'ai jamais rencontré une telle chose.


Mmm ... J'aimerais vraiment avoir ça sans avoir à recourir à Gnome ou XFCE ... bummer!
Macario
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.