Mám to. Existuje nástroj s názvem xbkeys pro nastavení možností přístupu pro xorg.
Z příručky 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]...
Spustil jsem toto:
$ xkbset sticky -twokey -latchlock
Tento příkaz může jít do .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
Pomocí Xmodmap můžete nastavit zámek kláves pro klávesy Scroll, Kana, Num, Caps a Shift. Tímto způsobem lze také přemapovat některé klíče seskupení ISO. Například na mé klávesnici, chcete-li nastavit levý Shift jako přepínač, použijte toto:
xmodmap -e "kód klíče 50 =Shift_Lock"
použijte "xev" pro získání správného kódu klíče.
Stačí přidat příkaz do uvozovek do souboru s názvem .Xmodmap a restartovat X, aby byly změny trvalé.
Bohužel si nemyslím, že existuje kód pro uzamknutí kláves Control, Alt nebo Meta. Pokud odešlete konkrétnější otázku a přidáte slušnou odměnu, možná budu schopen vypracovat shell skript a/nebo změnu xorg, aby to bylo možné.