Ponownie przełączanie języka układu bezstanowego / bezstanowego za pomocą Caps Lock (18,04 LTS Bionic Beaver)

12

Zadawano to niezliczoną ilość razy, więc postaram się mówić krótko.

Mam dwa układy wprowadzania danych , ukraiński i angielski, i chcę:

  • do Caps Lockszybkiego przełączania;
  • nie mam żadnych opóźnień , jestem szybki typer;
  • nie mają błędów trybu :
    • (dowolna liczba) CapsLockzestawów w języku angielskim,
    • (dowolna liczba) ShiftCapsLockzestawów ukraińskich;
  • zobacz bieżący układ w standardowym widżecie.

Próbowałem już trzy (!) GUI, aby to skonfigurować, ustawienia Gnome gnome-tweak-tool, the  dconf-editor/ gsettings. Nic nie działa. Tweaksulega awarii losowo.

Wystarczająco dużo pracy domowej

Zadałem to sobie 4 lata temu za 14,04 LTS. Od tego czasu pojawiło się to okienko interfejsu użytkownika i wszystko się zepsuło. Teraz mogę łatwo skonfigurować przełączanie stanowe CapsLock , ale nawet wtedy towarzyszy temu irytujące opóźnienie. Zasadniczo bezużyteczne w czasach, gdy potrzebuję zmiany języka 4-5 razy na zdanie.

Wątek ten sugeruje caps:noneopcję XKB jako obejście błędu. Próbowałem tego, zarówno z gsettingsCLI dconf-editor, jak i w połączeniu z grp:shift_caps_switchopcją XKB. Nie ma kości. Coś przebija te podstawowe funkcje XKB, jak się wydaje.

Wątek oferty caps:menuopcja XKB jak hack, aby móc związać CapsLocksię Gnome Settings→ → Urządzenia Klawiatury. To trochę działa, ale A) daje cykliczne / stanowe przełączanie; B) Muszę czekać przyzwoity limit czasu na każdym przełączniku.

Wątek ten pyta dokładnie, czego potrzebuję, ale jest bez odpowiedzi, a nawet gorzej: zamknięty jako duplikat dwóch innych pytań (???), z których żadne nie jest takie samo i żadne z nich nie daje mi działającego rozwiązania. Co się z wami dzieje?

Jest jeszcze jedno dokładne dopasowanie - niestety, również bez odpowiedzi!


Poszukiwany: czyste rozwiązanie

ulidtko
źródło
1
Co z reputacją zamiast $ za nagrodę, powiedzmy +50 punktów reputacji?
karel
@karel Nie widzę w tym nic złego, jednak „świeże” pytania nie kwalifikują się do nagrody za zamianę stosu. Nagrodę można rozpocząć od pytania dwa dni po zadaniu pytania ; proszę cofnąć głosowanie.
ulidtko
Nie przegłosowałem. Wszystko, co zrobiłem, zostało skomentowane.
karel
Ok. Niemniej jednak oferowałem i zdobywałem nagrody za reputację specjalnie na AskUbuntu. To pytanie też się pojawi, kiedy nadejdzie czas.
ulidtko
1
@ulidtko Spróbuję zdobyć szczyt gnome-tweaks-tool. Nie obiecuję, że mogę coś wykopać i będę potrzebować trochę czasu, ponieważ ostatnio jestem zajęty, ale opublikuję odpowiedź, jeśli wykopię coś związanego z gnome-tweak-tool. Zostaw mi komentarz tutaj lub skontaktuj się ze mną w inny sposób
Sergiy Kolodyazhnyy

Odpowiedzi:

5

W Ubuntu 18.04 domyślnie dostępna jest opcja wyboru Caps_Locki Shift+, Caps_Lockaby osiągnąć pożądane zachowanie, jest dostępne gnome-tweaks. Ale to nie działa i nie udało mi się znaleźć przyczyny.

wprowadź opis zdjęcia tutaj

Mógłbym osiągnąć to zachowanie, stosując poniższe obejście.

Zobacz ten link, aby obejrzeć film 20Sec. https://imgur.com/QNdrVqa

najpierw sprawdź poniższe polecenia w terminalu, czy zmieniają język wprowadzania.

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

i

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

oni pracują.

wprowadź opis zdjęcia tutaj

musimy powiązać te polecenia z naciśnięciami klawiszy + Caps_LockiShiftCaps_Lock

można to osiągnąć, xbindkeysjeśli xbindkeys nie jest jeszcze zainstalowany, zainstaluj gosudo apt install xbindkeys

  1. utwórz plik .xbindkeysrcw folderze $ HOME
    touch ~/.xbindkeysrc
  2. aby poznać kod / identyfikator, jak to się nazywa,
    uruchom xbindkeys --keypo pojawieniu się białego pola, naciśnij Caps_Lockprzycisk, zrób to Shiftrównież dla przycisku i skopiuj kody / identyfikatory, jak pokazano poniżej

wprowadź opis zdjęcia tutaj

  1. ten krok jest opcjonalny. Wyłącz Caps Lock. Zobacz poniżej gif. Jeśli Caps Lock nie jest wyłączony .. po kilkukrotnym naciśnięciu klawisza zmieni się on podczas próby zmiany języka. Wyłączyłem to. ale opiera się na twoich zainteresowaniach.

wprowadź opis zdjęcia tutaj

  1. Otwórz plik .xbindkeysrc
    gedit ~/.xbindkeysrci edytuj go jak poniżej na podstawie wyników powyższych kroków

Zmień wartości w poniższej treści zgodnie z wynikami uzyskanymi w kroku 2 powyżej. Zadowolony:

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()""
m:0x10 + c:66

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()""
Shift+Mod2 + Shift_L+m:0x10 + c:66
  1. Zapisz plik, zamknij i uruchom ponownie ..
PRATAP
źródło
2
OMG działało! Nie musiałem nawet się wylogowywać, nawet bez restartu ( xbindkeys --poll-rc). Zostawiłem też grp:shift_caps_switchwłączoną opcję XKB - która zmieniła sposób drukowania moich kodów kluczy ( m:0x0 + c:66 ISO_First_Group& m:0x1 + c:66 Shift + ISO_First_Group); bez żadnych problemów. Nawet dioda LED klawiatury świeci! Niesamowita robota, całkowicie powinieneś dostać tę nagrodę. (autorzy poprawiający gnome, kimkolwiek są, mają zrzędliwą
minę
5

Istnieje raport o błędzie, który możesz subskrybować:

Raport o błędzie brzmi:

Panel klawiatury ma opcje przełączania danych wejściowych, ale nie pozwala używać Caps jako przełącznika języka.

Kroki ku reprodukcji:

  1. klawiatura centrum sterowania gnome
  2. Przewiń w dół do sekcji „Pisanie”
  3. Kliknij Przełącz na następne źródło wejściowe
  4. Naciśnij Caps

Oczekiwany wynik: Klawisz Caps Lock jest akceptowany jako klawisz przełączania Rzeczywiste wyniki: Klawisz Caps jest ignorowany w oknie wyboru.

PS To samo dotyczy „Przełącz do poprzedniego źródła wejściowego” i kombinacji klawiszy Shift-Caps.

Obejścia błędów

Błąd znajduje się obecnie na „liście życzeń”. Proponowane są następujące obejścia:

Obejście 1

Znaleziono obejście tego błędu:

  1. Zainstaluj dconf-editor (sudo apt-get install dconf-editor)
  2. Idź do / org / gnome / desktop / wm / keybindings /
  3. Wybierz klucz-źródło wejścia, wyłącz „Użyj wartości domyślnej” i ustaw „Wartość niestandardowa” na [„Caps_Lock”]
  4. (Opcjonalnie) Możesz także zmienić wartość dla przełączania źródła wejściowego wstecz na coś takiego jak [„Caps_Lock”] (ponownie, wyłączając „Użyj wartości domyślnej”)

Obejście 2

Inny sposób: 1. Zainstaluj GNOME Tweaks (gnome-tweak-tool) 2. Otwórz aplikację Tweaks 3. Przejdź do panelu Klawiatura i mysz 4. Kliknij Dodatkowe opcje układu 5. Użyj sekcji „Przełączanie na inny układ”

Zapisz się do raportu o błędzie

Polecam zasubskrybowanie raportu o błędach i dodanie własnych doświadczeń. Im więcej osób subskrybuje raport o błędzie, tym szybciej przychodzi rozwiązanie (zwykle).

WinEunuuchs2Unix
źródło
Obejście 1 nie spełnia moich wymagań, zapewnia cykliczne przełączanie, czego nie chcę. Obejście 2 (gnome-Tweaks) zostało wypróbowane i pobite na śmierć; Mogę spowodować awarię, ale nie mogę sprawić, by działała. Dziękuję za (jeszcze) link.
ulidtko
Głosowałem za twoim pytaniem, aby, mam nadzieję, zwrócić większą uwagę. Pomocne może być opublikowanie wszystkich prób i błędów w raporcie o błędzie.
WinEunuuchs2Unix