Jestem przyzwyczajony do używania US International jako układu klawiatury. Jednak implementacja wydaje się znacznie różnić między Windows i Linuxem (Gnome, w moim przypadku - może być problemem GTK, ponieważ GTK zachowuje się tak samo w systemie Windows).
Układ wykorzystuje martwe klawisze, na przykład do kluczy, takich jak ', ", ^, & c. umożliwiając łatwe wprowadzanie znaków za pomocą znaków diakrytycznych. W systemie Windows naciśnięcie klawisza martwego, a następnie klawisza niepowiązanego z parą, powoduje powstanie znaku martwego klawisza (w połączeniu ze spacją) i znaku z drugiego klawisza. Przykład: Po naciśnięciu ", awydajność „A”, jednakże, prasowanie ', swydajność „" S”, jak to ma parowania 'i s.
Teraz jest język o nazwie angielski, który często używa dokładnie tych dwóch znaków, a ponieważ w systemie Windows po prostu wpisuje je jak zwykle, to dla mnie teraz pamięć mięśni. Co prowadzi mnie do mojego problemu:
W systemie Linux (i GTK w systemie Windows), nie jest uwierzytelnienie za 'i s(wśród wielu innych), w wyniku czego ś
(co z kolei prowadzi do mnie często wpisując „ITS”). Więc pisanie „To” wymaga mnie do pisania ', , sna końcu.
Jest kilka innych kombinacji, do których jestem przyzwyczajony, które nie działają. Wśród nich jest to, że dla nieistniejących par po prostu nic nie jest wynikiem. Wpisanie „Chciałbym” skutkuje „Ja”. Dwukrotne naciśnięcie jednego z tych klawiszy powoduje, że diakrytyk nie jest odstępami, co łamie mój zwyczaj pisania ciągów, najpierw wpisując oba znaki cudzysłowu (które teraz skutkują ostrym akcentem lub makronem bez odstępów).
Krótko mówiąc: żaden z dostarczonych układów US International wydaje się nie działać tak samo jak w Windows - czy są jakieś, które działają identycznie? Czy jest jakaś szansa na skonfigurowanie go w ten sposób? Chociaż fajnie jest pisać z ostrym akcentem lub bezprzestrzennymi znakami diakrytycznymi, nie są to dla mnie częste potrzeby.
Odpowiedzi:
Jedną z możliwości jest uniknięcie martwych klawiszy i zamiast tego wpisywanie liter akcentowanych za pomocą klawisza Compose. Na przykład wpisz, Compose " aaby wprowadzić
ä
. Musisz wybrać opcję układu klawiatury zawierającą Composeklawisz; powszechnym wyborem jest klawisz po lewej stronie prawego Ctrlklawisza (który, jak myślę, Windows nazywa Menu). Zaletą Composejest to, że możesz wpisać wiele fantazyjnych postaci bez zmiany głównego układu. Wadą jest to, że potrzeba trzech pras zamiast dwóch na akcentowaną literę.Alternatywnie można skonfigurować efekt martwych kluczy, tworząc plik o nazwie
.XCompose
(uwaga CApitalizacja) w katalogu domowym i wyświetlając żądane kombinacje. Coś jak:Składnia jest dość prosta: sekwencja kluczy po lewej stronie
:
jest zamieniana na ciąg znaków""
po prawej stronie:
. Dodatkowym słowem po prawej stronie jest klawisz (tj. Nazwa klucza) odpowiadający tej sekwencji klawiszy; to nie jest strasznie ważne. Wszystko od a#
do końca linii jest ignorowane.Zmień pierwszy wiersz, aby wskazywał na plik systemowy, jeśli twoja dystrybucja umieszcza go w innym miejscu. W tym pliku można znaleźć więcej przykładów składni.
<Multi_key>
to inna nazwa Composeklucza.Po lewej stronie nazwy między
<
nawiasami kątowymi>
są skrótami klawiszowymi. Listę kluczy można znaleźć w/usr/include/X11/keysymdef.h
(ten plik znajduje się w pakiecie programistycznym, np.x11proto-core-dev
Na Ubuntu).Tak, to dużo pisania, ale powinieneś być w stanie zautomatyzować większość z nich, kopiując-wklejając fragmenty
keysymdef.h
i wykonując kilka sprytnych zamian mas. Coś, co pomoże, to to, że możesz ponownie użyć kodu szesnastkowego po prawej stronie, aby utworzyć łańcuch po prawej stronie dzięki składni „\ x dd ”: włącz np.w
Na koniec możesz skonfigurować układ klawiatury z martwymi klawiszami i Composeklawiszem. Będąc Niemcem, możesz ustawić tylko "jako martwy klucz. Jeśli idziesz tą drogą, najprostszą opcją jest użycie GUI do skonfigurowania klawiatury bez martwego klawisza i
.Xmodmap
pliku dla martwego klawisza, zawierającego coś w rodzajuźródło
<dead_acute> <s> : "'s"
GTK_IM_MODULE=xim
użycie sekwencji tworzenia zdefiniowanych w~/.XCompose
, a nie wbudowanych GTK (!).Wiem, że to pytanie zostało „rozwiązane” przez jakiś czas. Chcę jednak przedstawić moje rozwiązanie, które łączy wyniki z tej strony z dużą ilością testów i eksperymentów.
Win US Intl dla Linux to seria skryptów, które napisałem, aby rozwiązać problem z rodzimym układem klawiatury US Intl w Linuksie, tak jak napisał OP. Używam go głównie dlatego, że moim językiem ojczystym jest hiszpański, a nadal korzystam z wielu angielskich forów, tekstów, czatów itp. (Takich jak ta strona).
Uwaga: To jest w rzeczywistości podobne (nie do końca równe) do zachowania Windows XP US - międzynarodowy układ klawiatury.
Możesz przejść do strony http://tamh.info/en/win-us-intl-4-linux/, aby to sprawdzić. Jestem w trakcie ulepszania, dodając więcej wpisów XCompose dla kilku innych przypadków granicznych, między innymi zmianami.
źródło
Obecnie istnieje repozytorium github, które udostępnia plik .deb, który rozwiązuje ten problem:
Windows ™ US International XCompose dla systemu Linux
Opiera się na dostosowanym pliku .XCompose, jak sugerują inne odpowiedzi.
źródło
Jest więc rozwiązanie, ponieważ ktoś tutaj opublikował repozytorium github, które może sprawić, że to zadziała: https://github.com/raelgc/win_us_intl Oto, co chcesz zrobić:
pobierz plik zip
wypakuj gdziekolwiek chcesz, twoja uwaga powinna się skupić na pliku XCompose.
Otwórz plik XCompose za pomocą preferowanego edytora tekstu, a następnie umieść poniżej : „/usr/share/X11/locale/en_US.UTF-8/Compose” wiersz taki: dołącz „% L”
Przenieś plik XCompose do ~ / katalogu
EDYTOWAĆ:
EDYTOWAĆ:
Restart
Uwaga: Dla mnie to rozwiązanie nie działa bez kroku 5, więc jeśli wiesz, jak pomóc mi i innym w takiej samej sytuacji, jak ja, to jest to link do innego pytania, które podniosłem: Mój system nie czyta. X Skomponuj plik
źródło