włączanie lepkich klawiszy pod Xorg (niesamowity menedżer pulpitu)


12

Chciałbym włączyć „lepkie klawisze modyfikujące” w Archlinux + Awesome i nie znalazłem poprawnych informacji.


Co to są „lepkie klucze”?
— Daniel Andersson,

tak, miałem na myśli „lepkie klawisze modyfikujące”, oznacza to, że naciśnięcie klawisza modyfikującego działa jak przełącznik i zwykle przełącznik jest zwalniany przy następnym naciśnięciu klawisza, więc klawisze nie muszą być naciskane jednocześnie, ale mogą być naciskane sekwencyjnie. Jest to dostępna dla niepełnosprawnych użytkowników funkcja na OS-X, Gnome i prawdopodobnie Windowsie, i uważam, że jest wygodniejsza i mniej obciążająca dłoń przy włączonej funkcji.
— Macario,

Odpowiedzi:


21

Mam to. Istnieje narzędzie o nazwie xbkeys do ustawiania opcji accessibiltiy dla xorg.

Z instrukcji 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]...

Uruchomiłem to:

$ xkbset sticky -twokey -latchlock

To polecenie może przejść 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

 



Jest to dostępne w pakiecie debian xkbset.
— Jesse Hallett

3
Ta odpowiedź jest bardzo pomocna! Teraz chcę tylko znaleźć sposób na ograniczenie lepkiego zachowania do klawiszy Shift.
— Jesse Hallett

1
@JayeshBhoot Tak; xkb ma warianty „zatrzaskowe” niektórych kluczy. Dostaję lepką zmianę, mapując moje klawisze Shift, na ISO_Level2_Latchktórych działa jak shift dla celów modyfikatora. (Niektóre programy, które szukają kodu shift nie działają ISO_Level2, szczególnie gry). Mam konfigurację online; ale musisz zapoznać się z dokumentacją dotyczącą szczegółowych szczegółów stosowania niestandardowych mapowań kluczy. github.com/hallettj/dot-xmonad/blob/master/home/.config/X11/xkb/…
— Jesse Hallett

1
@JesseHallett dziękuję za wskaźnik! Spróbuję to jak najszybciej.
— Jayesh Bhoot

5

Za pomocą Xmodmap można ustawić blokadę klawiszy dla klawiszy przewijania, Kana, Num, Caps i Shift. W ten sposób można również odwzorować niektóre klucze grupowania ISO. Na przykład na klawiaturze, aby ustawić lewy Shift jako przełącznik, użyj tego:

xmodmap -e "keycode 50 = Shift_Lock"

użyj „xev”, aby uzyskać poprawny kod dostępu.

Wystarczy dodać polecenie w cudzysłowie do pliku o nazwie .Xmodmap i zrestartować X, aby zmiany były trwałe.

Niestety nie sądzę, aby istniał kod blokujący klawisze Control, Alt lub Meta. Jeśli opublikujesz bardziej szczegółowe pytanie i dodasz przyzwoitą nagrodę, być może uda mi się opracować skrypt powłoki i / lub zmianę xorg, aby to umożliwić.


Niestety nie mam już więcej punktów do zaoferowania, naprawdę brakuje mi lepkich modyfikatorów, takich jak cntrl, window, alt, meta ...
— Macario,

XKB jest lepszym sposobem na to. Sprawdź Arch wiki
— phil pirozhkov

1

Jednym ze sposobów włączenia lepkich klawiszy jest naciśnięcie StickyKeys_Enableklawisza. Jeśli nie masz go zmapowanego na klawiaturze, możesz symulować naciskanie klawiszy za pomocą np. Xdotool:

> xdotool key StickyKeys_Enable

-1

O ile mi wiadomo, Xorg tego nie obsługuje. Nie jest nie do pomyślenia, aby niestandardowy sterownik klawiatury zaimplementował to, ale nigdy nie spotkałem się z czymś takim.


Mmm ... Naprawdę chciałbym to mieć bez konieczności uciekania się do Gnome'a ​​lub XFCE ... śmieciarza!
— Macario
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.