Dodaj klucz Compose do OS X

10

Chcę zmienić jeden z moich klawiszy na klawiaturze na klawisz Compose, aby móc łatwo wpisywać typowe akcenty lub znaki, np .: Compose+ e+ '-> é.

Czy istnieje ustawienie, które mogę zmienić lub program, który mogę zainstalować, aby dodać tę funkcję? Na przykład chciałbym użyć Caps Lockjako Compose.

MikeyB
źródło
1
Jeśli korzystasz z systemu OS X Lion, przytrzymanie klawisza z literą domyślnie da ci listę typowych, akcentowanych znaków, z których możesz wybierać za pomocą klawiszy numerycznych.
Dan J
1
Tylko w niektórych aplikacjach. I tylko te, które Apple wybrał dla ciebie, które są zwykle niekompletne.
MikeyB,
1
To pytanie (i odpowiedź) jest również powiązane: superuser.com/questions/202695/real-compose-key-on-mac-os
elaichi
1
FWIW, wstępnie zatwierdzona lista Apple, z których znaków akcentowanych można wybrać, można zhakować .
Daniel

Odpowiedzi:

20

Napisałem kompletny artykuł wyjaśniający, jak założyć prawdziwy klucz tworzenia wiadomości ( tj. Right Option + '+ eéna przykład), używając kombinacji KeyRemap4MacBook i szczegółowych zasad wprowadzania kakao.

Krok 1: wybierz klucz tworzenia

Wybierz klawisz Utwórz, aby był łatwo dostępny, ale nie przeszkadza ci w robieniu niczego, co zwykle robisz. Używam tego Right Optionklucza jako mojego klucza tworzenia. Mam już Left Optionklucz, więc właściwy jest dla mnie trochę bezużyteczny. I w jakiś sposób pasuje do pozycji Composeklawisza na starych klawiaturach firmy Sun.

To byłoby Right Optionna klawiaturze komputera Mac. Polecam to.

Krok 2: Przypisz klucz Compose

Problem polega na tym, że preferencje klawiatury Mac OS X:

  • nie pozwalaj rozróżniać klawiszy Left Optioni Right Optionklawiszy
  • pozwala tylko mapować klawisze modyfikujące na inny klawisz modyfikujący (lub na nic)

Na szczęście istnieje KeyRemap4MacBook, który pozwala robić rzeczy na bardzo niskim poziomie za pomocą klawiatury. Zainstaluj to.

Teraz ponownie przypiszemy nasz klucz komponowania do czegoś, co zrozumie kolejna warstwa. Wybrałem Shift Control F13to. Jest bardzo mało prawdopodobne, że będziesz potrzebować tej kombinacji klawiszy.

W pliku ~/Library/Application Support/KeyRemap4MacBook/private.xmlumieść następujące informacje:

<?xml version="1.0"?>
<root>
  <item>
    <name>Send Shift-Ctrl-F13 for Right Option</name>
    <identifier>private.send_shift_ctrl_f13_for_ropt</identifier>
    <autogen>--KeyToKey-- KeyCode::OPTION_R,
                          KeyCode::F13, ModifierFlag::SHIFT_L
                                      | ModifierFlag::CONTROL_L
    </autogen>
  </item>
</root>

Na koniec w Preferencjach systemowych otwórz ustawienia KeyRemap4MacBook i kliknij przycisk ReloadXML . Następnie aktywuj nową opcję.

Krok 3: utwórz komponuj wiązania

Ostatnim krokiem jest utworzenie rzeczywistych powiązań. Zdecydowałem się zaimportować reguły z /usr/share/X11/locale/en_US.UTF-8/Composemojego systemu Debian.

Bob Kåres napisał skrypt, który pozwala przekonwertować reguły tworzenia X11 na powiązania klawiszy Cocoa.

Przekształć własny Composeplik za pomocą skryptu Boba lub pobierz plik DefaultKeyBinding.dict z tego artykułu . Zapisz to w ~/Library/KeyBindings/DefaultKeyBinding.dict.

Bądź ostrożny: domyślnie skrypt Boba używa F13zamiast tego, Shift Ctrl F13więc DefaultKeyBinding.dictmusisz zmienić:

"\UF710"

w:

"^$\UF710"

Jeśli z jakiegoś powodu zdecydowałeś się na inną kombinację, zapoznaj się z tym artykułem autorstwa Xah Lee, aby znaleźć właściwą składnię.

sam hocevar
źródło
Treść linku wygląda na świetne rozwiązanie tego problemu, ale odpowiedzi na pytanie Zadaj inne muszą być czymś więcej niż tylko linkiem. Można podać link, ale proszę streść go lub fragmentuj w odpowiedzi. Chodzi o to, aby odpowiedź była samodzielna.
Daniel
@DanielLawson na pewno, to ma sens; Zaktualizuję moją odpowiedź.
sam hocevar
Tam skopiowałem większość artykułu. Mogę to zrobić, ponieważ jestem właścicielem :-)
sam hocevar
Naprawdę niesamowita odpowiedź; +50 internetów. (Poważnie, daję temu nagrodę, gdy tylko pozwoli mi na to system)
Daniel
Cieszę się, że podłączyłeś link, ponieważ jest już martwy! (Możesz go zaktualizować, jeśli zostanie przeniesiony.)
wchargin
13

Domyślnie funkcja „martwych kluczy” podobna do tego, czego chcesz, już istnieje. Aby uzyskać literę é, naciśnij Option ⌥+ e, a następnie e.

Po naciśnięciu + ezobaczysz ´podświetlony znak (na moim komputerze jest żółty). Naciśnij dowolną literę, która przyjmie ten znak akcentu (będzie się różnić w zależności od języka klawiatury, dla EN-US to é, ú, í, ó i á), a otrzymasz akcentowaną wersję litery. Możliwe są inne akcenty: + `daje agresywny akcent (`` `), + edaje ostry akcent (´), + udaje diaeresis / umlaut (¨), + idaje akcent okrężny (ˆ), + + ndaje tyldę (˜). Układy klawiatury spoza USA (w szczególności walijskie) mają więcej akcentów i pozwalają na więcej liter dla tych samych akcentów. Przeglądarka klawiatury jest przydatna, aby dowiedzieć się, jakie kombinacje są obecnie obsługiwane w twoim układzie.

Jeśli korzystasz z Lion, jak wspomniał @djacobson, możesz przytrzymać kilka liter, aby zobaczyć różne akcentowane opcje tego listu.

Cajunluke
źródło
jeśli używasz innego układu klawiatury, może nie być ⌥+e. Aby zobaczyć, który to jest, otwórz Przeglądarkę klawiatury (z ikony zasobnika językowego) i naciśnij . Żółte klawisze oznaczają znaki kompozycyjne
Ciprian Tomoiagă,
2

Skomponuj klawisz na dedykowanym układzie klawiatury

Napisałem US custom , układ klawiatury, który implementuje klawisz komponowania.

W systemie Mac OS X istnieją dwa sposoby implementacji klawisza tworzenia: Każdy z nich można zaimplementować albo z systemem tekstowym Cocoa (jak już opisano w najbardziej pomocnej odpowiedzi Sama Hocevara), albo z dedykowanym układem klawiatury. Obie metody mają swoje zalety i wady:

  • Implementacja klucza komponowania w systemie tekstowym Cocoa będzie działać niezależnie od wybranego układu klawiatury. Dla DefaultKeyBinding.dictporównania, ustawienia systemowe tekstu kakao w pliku można łatwo modyfikować.
  • Implementacja klucza komponowania z układem klawiatury będzie działać w całym systemie operacyjnym w dowolnej aplikacji, nie tylko w aplikacjach Cocoa. Można go włączać i wyłączać za pomocą interfejsu użytkownika, wybierając inny układ klawiatury. Podczas wpisywania kombinacji tworzenia (wizualnie zmienia zachowanie) pojawia się wizualna informacja zwrotna.

Instalacja układu klawiatury jest łatwa:

  1. Pobierz i otwórz uscustom.2012-08-28.zip .
  2. Przenieś pliki UScustom.keylayouti UScustom.icnsdo jednego z:
    • /Library/Keyboard Layouts/ (dla wszystkich użytkowników)
    • ~/Library/Keyboard Layouts/ (tylko dla ciebie, żadne uprawnienia administratora nie są wymagane)
  3. Aktywuj niestandardowy układ klawiatury w USA w zakładce Źródła wejściowe w panelu Preferencje języka i tekstu , abyś mógł następnie wybrać go z paska menu źródeł wejściowych - jego ikona pokazuje flagę USA z małym C dla „niestandardowego” lub „ komponować ”: Ikona niestandardowa w USA.

Klawisz tworzenia niestandardowego układu klawiatury w USA jest odwzorowany na dwa różne klucze:

  • W ISO znajduje się klawisz komponowania §(to jest nadmiar klawisza ISO; klawiatury ISO to te, w których klawisz powrotu ma kształt odwróconej dużej litery L).
  • Istnieje inny klawisz komponowania w Shift+ Control+ F13. Jest to to samo mapowanie, które wybrał Sam Hocevar, więc jeśli chcesz ponownie przypisać klawisz komponowania do prawego klawisza opcji, możesz dokładnie postępować zgodnie z dokładnymi objaśnieniami opisanymi w jego odpowiedzi.

Przypisywanie komponuj do capslocka

Jeśli chcesz przypisać komponowanie do klawisza Capslock (jak w pierwotnym pytaniu), potrzebujesz KeyKemboard4ack Takayama Fumihiko PCK oprócz KeyRemap4MacBook:

  1. Zainstaluj PCKeyboardHack.
  2. Otwórz panel preferencji PCKeyboardHack.
  3. Zaznacz pole wyboru Zmień Caps Lock .
  4. DoubleClick na keycode of Change Caps Lock i wpisać 10(ISO §).

Działa to z klawiszem tworzenia niestandardowego układu klawiatury w USA . Aby przypisać system tekstowy kakao klawiszowi komponowania (dokładnie opisanemu przez Sama Hocevara) do capslocka, musisz wykonać kolejny krok:

Korzystając z KeyRemap4MacBook, zmień mapowanie ISO §na Shift+ Control+ F13(lub gdziekolwiek jest twój klawisz tworzenia). Aby to zrobić, wykonaj kroki dokładnie wyjaśnione przez Sama Hocevara, ale zmieniając kod, który ma zostać umieszczony w tym ~/Library/Application Support/KeyRemap4MacBook/private.xmlmiejscu:

<?xml version="1.0"?>
<root>
<item>
  <name>Send Shift-Ctrl-F13 for ISO Section</name>
  <identifier>private.send_shift_ctrl_f13_for_iso_section</identifier>
  <autogen>
    --KeyToKey--
    KeyCode::UK_SECTION, ModifierFlag::NONE,
    KeyCode::F13, ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
  </autogen>
</item>
</root>
mach
źródło
0

Jeśli chcesz ponownie przypisać jeden ze swoich kluczy, spójrz na KeyRemap4MacBook , do którego odwołuje się ten post SU . W dokumentacji zauważa, że Caps Lockmoże być ponownie odwzorowane i niestandardowe odwzorowania są również obsługiwane .

JW8
źródło