Jestem programistą i obecnie używam Ubuntu Linux z PyCharm IDE do tworzenia stron internetowych. Aby poprawić wydajność pisania, rozważam zmianę CapsLock na Hyper_L i przypisanie go do mod3 za pomocą xmodmap. Po tym chcę zmapować mod3 dla klucza „i” do „Up”. Jak dotąd to, co zrobiłem, to:
xmodmap -e "keysym Caps_Lock = Hyper_L"
dane wyjściowe są takie:
shift Shift_L (0x32), Shift_R (0x3e)
lock Hyper_L (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
następnie usuwam Hyper_L z mod4
xmodmap -e "remove Mod4 = Hyper_L"
Następnie próbowałem przypisać Hyper_L do mod3
xmodmap -e "add Mod3 = Hyper_L"
Wystąpił jednak następujący błąd:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 11
Current serial number in output stream: 11
Więc w czym był problem? Jak mogę to zrobić? Czy moje podejście jest słuszne? Czy powinienem zastosować inne podejście, aby użyć mod3 do kluczy niestandardowych?
PS Używam klawiatury Microsoft Natural Ergonomic 7000
Wiem, że to pytanie jest dość stare, ale muszę podzielić się moim rozwiązaniem, ponieważ (frustrująco) odpowiedź heymantthew nie zadziałała dla mnie. Co ostatecznie dla mnie zadziałało:
Umożliwi to capslock jako klawisz mod3, ustawi układ na „nas” i ustawi wariant na „intl”. Jeśli używasz interaktywnej powłoki, takiej jak ryba, możesz nacisnąć tab po „-layout”, „-option” lub „-variant”, aby uzyskać pełną listę możliwych parametrów.
Dalsze tło: Wypróbowałem podejście xmodmap rok temu na maszynie Ubuntu z menedżerem okien i3, przełączając się ze standardowego środowiska gnome. Zmodyfikowałem układ klawiatury „us” xkb, szczególnie międzynarodowy z martwymi klawiszami - działał dobrze, gdy używałem gnome-desktop-manager (istnieje możliwość ustawienia Caps-Lock jako klawisza mod3), ale nie mogłem weź go do pracy z xmodmap. To był mój błąd: myślałem, że interfejs graficzny gdm używa xmodmap do mapowania Caps Lock na mod3, ale w rzeczywistości ustawia tę opcję X11. Teraz, kiedy przeszedłem na Arch, byłem zmuszony to rozgryźć.
Polecam każdemu, kto chce się tym zająć, aby przeczytać strony podręcznika localectl, xmodmap, setxkbmap i testować układy, dodając tryb uśpienia i przywracania:
zaoszczędziło mi to sporo czasu.
Nadal nie rozumiem, w jaki sposób podejście xmodmap nie działa. Mam nadzieję, że to komuś pomoże.
źródło