Jak sprawić, by IBus nie ignorował ~ / .XCompose?


14

Ponieważ UIM nie chciał grać w piłkę po zainstalowaniu od podstaw Ubuntu 12.04, wypróbowałem IBusa, ponieważ jest to framework IME domyślnie dostarczany z Ubuntu.

Jednak ibus-table-compose jest kłopotliwy w użyciu, ponieważ aby wprowadzić tylko jeden znak, muszę najpierw nacisnąć kombinację klawiszy, aby najpierw wyzwolić IBus, wprowadzić odpowiednią sekwencję tworzenia, a następnie ponownie nacisnąć kombinację klawiszy IBus, aby ją wyłączyć. Zamiast tego wolałbym zachować moją kluczową funkcjonalność, jaką zapewnia XIM, ponieważ wymaga to mniejszej liczby naciśnięć klawiszy.

Problem polega jednak na tym, że gdy domyślna metoda wprowadzania jest ustawiona na IBus, a IBus jest dezaktywowany, to (AIUI, odkąd uruchomiłem go z ibus-daemon --xim ) jest pomijany na korzyść XIM, ustawienia w ~ / Wygląda na to, że .XCompose zostało zastąpione przez własną wersję IBusa, więc np. Compose ca nie podaje ą (a-ogonek), jak zdefiniowałem w pliku .XCompose w moim katalogu domowym, ale ǎ (a-hacek), jak zdefiniowali niektóre inne ustawienia.

Przyzwyczaiłem się do własnej mnemnoniki, więc czy istnieje sposób, aby mój system używał własnego pliku ~ / .XCompose z domyślną metodą wprowadzania danych ustawioną na IBus, dzięki czemu IBus będzie nadal działał np. W OpenOffice i innych aplikacjach które nie pozwalają wybrać metody wprowadzania za pomocą menu kontekstowego?

Uwaga: To nie jest duplikat pytania Jak mogę odzyskać komponowanie na ibus?


To pytanie wydaje się być porzucone i bez odpowiedzi. Jeśli to rozwiązałeś, prosimy o opublikowanie odpowiedzi wyjaśniającej, w jaki sposób zostało rozwiązane (udzielanie odpowiedzi na własne pytania jest nie tylko dozwolone, ale zachęcane, gdy nie ma innej odpowiedzi, która spełnia tę funkcję ). Jeśli pytanie nie ma zastosowania, możesz dobrowolnie je usunąć / zamknąć.
Eric Carvalho

Odpowiedzi:


6

Jak stwierdził @von, NIE MOŻESZ na razie korzystać .XComposez IBUS.

Możesz użyć uimjako metody wprowadzania, która obsługuje Unicode, zarówno moduły GTK +, jak i Qt ze starszą XIMobsługą.

Dobrym sposobem na obsługę .XComposei zachowanie istniejącego globalnego komponowania jest:

  1. Zainstaluj uim:

    sudo apt-get install uim

  2. Ustaw jako domyślną metodę wprowadzania:

    im-config -n uim

  3. Edytuj .XComposei dodaj bieżące ustawienia narodowe klawiatury (w moim przypadku en_US) jako pierwszy wiersz :

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Gotowy! Uruchom ponownie programy, które chcesz uruchomić, aby uzyskać .XComposeplik.

Znane problemy

Ubuntu Unity Dash nigdy nie stworzy cedilli.

Inne dystrybucje

Grałem trochę z .XComposemetodami wprowadzania na współczesnych dystrybucjach, jednocześnie starając się, aby Linux zachował takie same zachowanie klawiatury jak Windows (TM) dla języków łacińskich ( çzamiast wyjściowych ć, bez akcentowanych spółgłosek itp.).

Utworzyłem repozytorium z tymi instrukcjami (dla Ubuntu i innych dystrybucji również): https://github.com/raelgc/win_us_intl


4
Co dokładnie oznacza „NIE MOŻESZ na razie używać swojego .XCompose z IBUS”? Co się zmieniło? Czy była to zmiana w samym Ubuntu, czy w czymś, z czego korzysta Ubuntu?
andrybak

@AndreyRybak IBUS jest wtedy najnowszy XIMi uimnie obsługuje .XComposejeszcze plików (i nie jestem pewien, czy to się zmieni, ponieważ rok później nadal ten sam status). Nie, to nie jest specyficzne dla Ubuntu.
Rael Gugelmin Cunha,

Wydaje się, że działa dla mnie w 16.04 (z Gnome).
Wstrzymano do odwołania.

@DennisWilliamson Masz na myśli, IBUS i .XCompose? Po prostu trzymam kciuki, że to naprawiono 4 lata od mojej powyższej odpowiedzi.
Rael Gugelmin Cunha

1
Tak. Miałem małe ~/.Xcomposez działającymi wpisami. Dodałem kilka nowych wpisów, one nie działały, potem zrobiłem ibus restarti wszystkie nowe działały.
Wstrzymano do odwołania.

1

Problem polega jednak na tym, że gdy domyślna metoda wprowadzania jest ustawiona na IBus, a IBus jest dezaktywowany, to (AIUI, odkąd uruchomiłem go z ibus-daemon --xim) jest pomijany na korzyść XIM, ustawienia w ~ / Wygląda na to, że .XCompose zostało zastąpione przez własną wersję IBusa, więc np. Compose ca nie podaje ą (a-ogonek), jak zdefiniowałem w pliku .XCompose w moim katalogu domowym, ale ǎ (a-hacek), jak zdefiniowali niektóre inne ustawienia.

Wygląda na to, że nie jest zdefiniowany przez inne ustawienia w sensie pliku konfiguracyjnego, który możesz edytować. Wygląda na to, że jest wkompilowany, zapisany na stałe w pliku gtkimcontextsimpleseqs.h. Wydaje się ponadto, że dostosowanie gtk_compose_seqs_compacttablicy w tym pliku i dodanie własnych sekwencji klawiszy Compose nie jest łatwe . Tabela jest zoptymalizowana pod kątem miejsca, a nie łatwej edycji. Dlatego strategia „wystarczy zmienić źródło i ponownie skompilować” może być trudniejsza niż myślałem.

Przyzwyczaiłem się do własnej mnemnoniki, więc czy istnieje sposób, aby mój system używał własnego pliku ~ / .XCompose z domyślną metodą wprowadzania danych ustawioną na IBus, dzięki czemu IBus będzie nadal działał np. W OpenOffice i innych aplikacjach które nie pozwalają wybrać metody wprowadzania za pomocą menu kontekstowego?

Raport o błędzie znajduje się na stronie https://bugzilla.gnome.org/show_bug.cgi?id=155010, który zawiera łatkę, która (jak twierdzą) umożliwia dostosowanie tabeli tworzenia. Nadal nie używałby pliku ~ / .XCompose, a składnia byłaby inna, ale to coś. Ale zauważam, że omawiany błąd jest nadal otwarty, więc sądzę, że nie dotarł on jeszcze do oficjalnych wydań.


1

Ponieważ Dennis Williamson powiedział, że zadziałało w 16.04 w powyższym komentarzu, przetestowałem w tej świeżej instalacji 18.04 z krótkim .XComposeskopiowaniem z mojej poprzedniej instalacji 16.04.

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Potem uruchomiłem ibus restartterminal i mogę wpisać ʁ.


0
  1. Ustawić globalnie (czyli dla Ubuntu w /etc/environment) z QT_IM_MODULE, GTK_IM_MODULEzmiennych (ostatni niepotrzebnych dla GNOME) do ibusi XMODIFIERSna @im=ibus.

  2.α Wykonaj setxkbmapz, -optionaby wybrać klucz tworzenia. Np użyć prawego klawisza logo: setxkbmap -option compose:rwin. Zostanie to zastąpione przy ponownym uruchomieniu.

  2.β Aby zachować ustawienie przy ponownym uruchomieniu, utwórz /etc/X11/xorg.conf.d/00-keyboard.confnastępującą zawartość:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Testowane i działa zarówno na X11, jak i (przynajmniej na setxkbmapsposób) Waylanda.

Dzięki za podpowiedź do Fujiwarat , zaktualizowaną w tej dyskusji .


1
Zmiana konfiguracji systemu jest jednak szalona. Wystarczy umieścić 2alpha i te zmienne środowiskowe w pliku .xprofile lub .xinitrc, niezależnie od tego, którego używasz.
enigmatyczny

@enigmaticPhysicist err… lol, what ?? Spraw, żebym tego nie widział - najpierw stworzyłeś zredukowaną wersję mojej odpowiedzi, a potem głosowałeś na moją, do dodania której nie ma twojej odpowiedzi (jak zamierzasz zachować konfigurację przy ponownym uruchomieniu, koleś?) , I która jest opcjonalna (jak ty można zobaczyć przez wyliczenie i wyjaśnienie) .
Cześć Angel

Ktoś nie może krytykować ... Czy przypadkiem masz pomarańczowe włosy?
enigmatyczny

@enigmaticPhysicist lol nie zrobiłeś krytyki. Skopiowałeś moją odpowiedź, a następnie zrewidowałeś moją, aby być na szczycie. Mogłoby nawet zadziałać, gdybyś nie zostawił komentarza, więc zauważyłem i oznaczyłem twoją odpowiedź. Co do treści twojego komentarza - już odpowiedziałem. I przepraszam, nie rozumiem - o czym jest żart o pomarańczowych włosach?
Cześć Angel
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.