Jak sprawić, aby klawisz Caps Lock działał tak jak inny klawisz Shift?
Tutaj jest mnóstwo pytań dotyczących ponownego przypisania lub uruchomienia niestandardowego polecenia. Chcę tylko, żeby działało jak kolejny klawisz Shift. Nie chcę, aby inne klucze zmieniały to, co robią, tylko ten jeden.
Układ klawiatury / Caps Lock nie działa, nie rozumiem, jak zmienić mapowanie w CCSM.
Używam teraz klawiatury brytyjskiej, ale nauczyłem się pisać na klawiaturze amerykańskiej, mniejszy lewy klawisz Shift to DRIVING ME NUTS.
xmodmap
że nie działa.Odpowiedzi:
Rozwijanie odpowiedzi @ Zacharee1:
wykonaj kopię zapasową za pomocą
cp /usr/share/X11/xkb/symbols/pc ~/pckeybak
następnie edytuj za pomocą
gksu gedit /usr/share/X11/xkb/symbols/pc
lub swojego ulubionego edytora.Znajdź linię (22), która mówi:
key <CAPS> { [ Caps_Lock ] };
i zmień na
key <CAPS> { [ Shift_L ] };
oraz wiersz (36), który mówi:
modifier_map Lock { Caps_Lock };
i zmień na
//modifier_map Lock { Caps_Lock };
(co powinno to skomentować, w efekcie wyłączając blokadę)Testy wskazują, że Num Locknadal działa zgodnie z oczekiwaniami. Dalsze testy wskazują, że wskaźniki klawiatury wydają się być nieco dysleksyjne w 16.04 nawet w niezmodyfikowanym systemie. Wskaźnik Scroll Lock włączony przy logowaniu, ale Scroll Lock wyłączony i Num Lock zgaszony, ale Num Lock włączony. Stuknięcie w lewy Ctrlklawisz wydaje się rozwiązać ten problem i nie jestem pewien, czy jest to związane z moim użyciem przełącznika KVM (co jest możliwe)
Uwaga: dalsze testy pokazują, że lampka kontrolna NumLock jest niestabilna nawet bez przełącznika KVM i musi zostać dwukrotnie stuknięta, aby ponownie zsynchronizować się z NumLock. Jeśli zawsze ją pozostawisz, możesz zignorować lampkę lub jeśli przeszkadza, możesz ją stuknąć dwa razy, aby odzyskać synchronizację. Dlaczego tak się dzieje, prawdopodobnie stanowi podstawę nowego pytania ...
Innym prostym rozwiązaniem oryginalnego problemu byłoby po prostu uzyskanie niedrogiej klawiatury amerykańskiej i użycie mapowania klawiatury amerykańskiej.
Źródła: @ Zacharee1 odpowiedź i analiza
/usr/share/X11/xkb/symbols/pc
oraz testy i testy błędówźródło
Shift_L
, by całkowicie wyłączyć dla mnie Capslock.Możesz się tam dostać, dostosowując Jak zmienić klawisz CapsLock, aby uzyskać „a”? (na przykład).
Usuń
Lock
modyfikator (= Caps Lock) z Caps Lockklucza i zadeklaruj, że ten klucz wysyła kluczShift_L
.Alternatywnie możesz usunąć
Lock
modyfikator i dodaćShift
modyfikator.Tak czy inaczej, te wiersze przechodzą do pliku
~/.Xmodmap
. Przetestuj, ładując goxmodmap ~/.Xmodmap
; plik jest odczytywany automatycznie, gdy logujesz się w domyślnym środowisku (lub przynajmniej w dniach Gnome).źródło
xmodmap -e "clear Lock" -e "keysym Caps_Lock = Shift_L"
i cofnąćsetxkbmap -option
, co nie zapisuje do~/.Xmodmap
pliku, ale można go użyć w razie potrzeby i dodać do aplikacji startowych. Bardzo dobra odpowiedź!Ignorując moje poprzednie próby odpowiedzi, które nie powiodły się, znalazłem coś, co całkowicie zamienia Capslock w lewą zmianę. Bez przełączania, myślę, że jest trwały i całkiem prosty.
Po pierwsze, zalecam wykonanie kopii zapasowej, zanim przedstawię, jak to zmienić.
Biegać
sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak
Teraz, gdy jest kopia zapasowa, przejdźmy do edycji.
Użyj swojego ulubionego edytora tekstu, aby edytować ten plik jako root:
Znajdź segment, który wygląda tak (jest u góry, linia 22 dla mnie):
edytować
być
zamiast. (
Caps_Lock
PóźniejShift_L,
może być niepotrzebne).Zrestartuj menedżera ekranu (zwykle
sudo service lightdm restart
), a Capslock zostanie teraz przesunięty w lewo. ( Uwaga: moja maszyna testowa używa GNOME, więc musiałem zrestartowaćgdm
. Jednak spowodowało to dziwne migotanie w rezerwowym TTY igdm
nigdy się nie zrestartowałem. Musiałem całkowicie zrestartować.)Ten, który faktycznie mogłem przetestować i mogę potwierdzić, że działa.
Zaadaptowano z Permanent xmodmap w Ubuntu 13.04
źródło
/usr/share/X11/xkb/symbols/capslock
ingerowała również w Num Lock. Jest coś innego w 16.04, na przykład lampka Num Lock pozostawała włączona podczas uruchamiania, ale teraz gaśnie przy logowaniu LightDM. Kiedy testuję twoje rozwiązanie, zmienia Caps Lock na Shift, ale po pierwszym naciśnięciu Caps Lock Num Lock wyłącza się i muszę nacisnąć Num Lock DWUKROTNIE, aby go ponownie włączyć (tylko za pierwszym razem). Dziwaczny. Naprawdę doceniam dotychczasową pomoc.xkbset nullify lock
?Shift_L
wstawićShift_L, Caps_Lock
. Upewnij się, że wsporniki są wyrównane.14.04
Jednowarstwowy:
ALE , w nieoczekiwanym przypadku
66
kod nie jest prawidłowy, najpierw uruchomxev
konsolę i naciśnij CapsLock. Wtedy zobaczysz coś takiego:Prawidłowy kod to ten wskazany w
XX
.źródło
Xmodmap trick no longer works and xkb handles this now.
.xev
widzi je jako różne klawisze.