Wybierz znaki, przytrzymując klawisz w systemie Linux (jak w OSX)


18

Zastanawiam się, czy jest dostępny jakiś dodatek, który działa podobnie jak Mac OS X. Moim językiem ojczystym jest hiszpański, a teraz mieszkam w środowisku frankofońskim, często też angielski, więc potrzebuję różnych akcentów , szczególnie w języku francuskim, używam Linuksa od dwóch lat i od czasu do czasu używam również Mac OS X do celów testowych.

Uważam, że naprawdę przydatna jest funkcjonalność dostępna w systemie Mac OS X, w którym ciągle naciskasz klawisz i wyświetla listę dostępnych opcji dla tego samego znaku, różnych akcentów lub znaków interpunkcyjnych. Czy mogę to zrobić w systemie Linux?

Na przykład:

wprowadź opis zdjęcia tutaj


1
To byłoby rad. Czy możesz zamieścić zrzut ekranu tej funkcji? Myślę, że dobrze byłoby zilustrować, jak wspaniale to jest ...
Jonathan Komar

Odpowiedzi:


3

Obawiam się, że nie znam żadnej aplikacji, która to robi. Opracowanie jednego z nich prawdopodobnie wymagałoby stworzenia własnej metody wprowadzania danych (w celu zastąpienia XIM).

Mogę jednak zaoferować alternatywę, która może okazać się o wiele bardziej pomocna niż zwykła zmiana układu klawiszy. X (przez XIM) już od pewnego czasu oferuje narzędzie o nazwie XCompose. XCompose pozwala wpisywać „egzotyczne” znaki, naciskając klawisz wiodący (który wyznaczasz), a następnie dostosowując sekwencje klawiszy. Na przykład Composee'daje znak é. Sekwencje domyślne są w większości intuicyjne, ale najpotężniejszą częścią XCompose jest to, że możesz dodawać (lub modyfikować) sekwencje, aby teoretycznie wygenerować dowolny znak Unicode, który uznasz za odpowiedni.

Konfiguracja sekwencji odbywa się za pomocą zwykłych plików tekstowych (które wstawiasz $HOME/.XComposelub umieszczasz gdzie indziej, ale mają $HOME/.XComposeźródło ( możesz zainteresować się całą moją konfiguracją tutaj, jeśli jesteś zainteresowany; spójrz konkretnie XComposei pliki poniżej compose/). Poniżej znajduje się fragment mojego osobistego $HOME/.XCompose:

include "%L"     # This enables all the default bindings
include "/home/halosghost/.compose/greek.compose" # some greek characters

A teraz fragment greek.composepowyższego (uważaj, że z pewnością nie są to najbardziej ergonomiczne lub wydajne sekwencje, których możesz użyć, są tylko przykładem):

# Lower case
<Multi_key> <a> <l> <p> <h> <a>     : "α"   U03B1   # Alpha
<Multi_key> <b> <e> <t> <a>         : "β"   U03B2   # Beta
<Multi_key> <d> <e> <l> <t> <a>     : "δ"   U03B4   # Delta
<Multi_key> <g> <a> <m> <m> <a>     : "γ"   U03B3   # Gamma
<Multi_key> <l> <a> <m> <b> <d> <a> : "λ"   U03BB   # Lambda
<Multi_key> <p> <i>                 : "π"   U03C0   # Pi
<Multi_key> <m> <u>                 : "µ"   U03BC   # Mu

Widzisz, że format tych plików jest w rzeczywistości bardzo prosty (choć jest kilka przypadków, w których nie używasz samego znaku, ale raczej jego nazwę (np. <period>Zamiast <.>)).

W związku z powyższym mogę teraz pisać, Capsmuaby wygenerować µ(zwróć uwagę, że mój klucz tworzenia jest ustawiony na Caps).

Nie wspomniałeś, z której dystrybucji korzystasz (lub której szukasz), ale XCompose jest dostarczany z Xorg, więc wszystko, co powinieneś zrobić, to go skonfigurować. Powiązaną lekturę dotyczącą konfigurowania XIMmożna znaleźć tutaj , ale należy również pamiętać, że XIMostatnio robi się już dość i może nie być to najlepsza opcja. Ponadto istnieje co najmniej jeden inny edytor IME, który obsługuje sekwencje tworzenia (choć używa nieco innej implementacji): IBus .

Osobiście używam XIMi mam nadzieję, że zrobię to, dopóki nie przestawię się na wayland (gdzie mam nadzieję, że czeka na mnie ogólnie lepszy edytor IME²), ale to jest Linux; jeden rozmiar nie pasuje do wszystkich i powinieneś użyć tego, co najlepiej pasuje do twojego przepływu pracy ( w granicach rozsądku ).


  1. Z tego linku przekonasz się, że możesz łatwo ustawić, którego klawisza używasz do tworzenia (zakładając, że twoja klawiatura nie jest wystarczająco ezoteryczna, aby mieć dedykowany klawisz tworzenia) za pomocą następującego polecenia (dla Caps):

    setxkbmap -option compose:caps
    
  2. Mogę śnić, prawda?

Jako fajna uwaga końcowa, wszystkie „egzotyczne” postacie w tym poście (w tym é, „,”, µ, ¹ i ²) zostały wygenerowane przy użyciu XCompose.


Które, powiedzielibyście, byłyby różnice między XIM a używaniem klawisza tworzenia ?, Proszę, nie zrozumcie mnie źle, ale wygląda na to, że skonfigurowanie niestandardowego mapowania sekwencji klawiszy zamiast korzystania z tego już istnieje trochę narzutu, dla mnie oczywiste jest posiadanie własnych kluczy, ale wierzę, że możesz to osiągnąć również przy użyciu klucza komponowania, używam mennicy Linuxa w Debian Base jako Distro. Prawdopodobnie skończyłbym z konfigurowaniem czegoś, jak sugerujesz, jednak nauczenie się różnic byłoby pedagogiczne., Dziękujemy za odpowiedź.
ximbal

Myślę, że jesteś trochę zdezorientowany co do konfiguracji (co może być bardzo moją winą). XIMto edytor IME, który oferuje klucz tworzenia. Niestandardowe sekwencje, o których wspomniałem i zademonstrowałem, nie są oddzielne od klawisza Compose, są to rozszerzenia, które osobiście dodałem. Tak więc, z pierwszym includewierszem, który pokazałem z tego .XComposefragmentu, otrzymujesz wszystkie domyślne sekwencje Komponuj, a następnie dodam więcej według własnego uznania (czasami zastępując niektóre domyślne).
HalosGhost

1
Spróbuję, skontaktuję się z tobą, dzięki za pomoc
ximbal

0

Możesz włączyć klucz tworzenia wiadomości . Umożliwia to komponowanie znaków przy użyciu symboli, które „wyglądają jak” części kompozytu. Używam Alt Grjako mojego klucza tworzenia, ale zazwyczaj można wybrać dowolny odpowiednio nieużywany klucz.

Na przykład Compose o /da ø, Compose a `da a i tak dalej.

Różni się to bardzo od używania Dead Keys , gdzie znaki akcentowane nie pojawiają się jako samodzielne znaki, chyba że zostaną dwukrotnie trafione kolejno; jest to zwykle bardzo frustrujące dla programistów.

Funkcja Compose Key istnieje już od dawna (wydaje mi się, że pojawiła się na „prawdziwych” terminalach Sun). Jest wbudowany w większość (wielu? Wszystkich?) GUI w systemach Linux. Znam i używam odpowiedniego oprogramowania dla systemu Windows.


1
Wiem o użyciu Compose Key, jednak nie wydaje mi się oczywiste, aby zapamiętać 15 różnych sekwencji klawiszy dla wszystkich możliwych znaków, wiem, że to rozwiązanie działa i istnieje już od dłuższego czasu, ale Próbowałem i ostatecznie zapomniałem o kluczowych sekwencjach i wielu innych rzeczach, na których można się skupić. Dzięki za próbę odpowiedzi.
ximbal

1
Komponuj, jak wspomniano w moim poście, jest cechą XIMedytora IME (X Input Module). Kilka innych edytorów IME oferuje podobną funkcjonalność (jak IBus), ale każdy GUI, który wykorzystuje XIMdane wejściowe (możesz ustawić oba GTKi Qtużywać XIM), będzie obsługiwał Compose, jeśli masz taką konfigurację.
HalosGhost
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.