Przypisz kombinację klawiszy dla każdego języka wejściowego [duplikat]

1

Wiem, że mogę „przełączać się między językami” i „przełączać się między ostatnio używanymi dwoma językami” za pomocą kombinacji klawiszy. Te opcje nie są tak wygodne, jeśli masz zainstalowane co najmniej trzy języki wprowadzania.

Czy jest jakiś sposób przypisania kombinacji klawiszy dla każdego języka, a nie jazdy na rowerze lub przełączania? Na przykład, jeśli mogę nacisnąć Command + 1, wówczas tryb wprowadzania zmieni się na angielski, jeśli Command + 2, to japoński, jeśli Command + 3, a następnie koreański. Coś w tym stylu.

Cholerne warzywa
źródło

Odpowiedzi:

1

Najpierw włącz wszystkie niezbędne układy w Preferencjach systemowych -> Klawiatura -> Źródła wejściowe

  1. Pobierz, zainstaluj i otwórz Karabiner
  2. Otwórz w menulecie Karabiner -> Preferencje
  3. Otwórz zakładkę Różne i odinstaluj
  4. Naciśnij przycisk Open private.xml
  5. Otwórz plik private.xml w odpowiednim edytorze
  6. Wprowadź niestandardowe definicje źródeł wejściowych i kody klawiszy

    Przykład:

    <?xml version="1.0"?>
    <root>
    
      <vkchangeinputsourcedef>
        <name>KeyCode::VK_CHANGE_INPUTSOURCE_US</name>
        <inputsourceid_equal>com.apple.keylayout.US</inputsourceid_equal>
      </vkchangeinputsourcedef>
    
      <item>
        <name>Change input source to US by right shift key + U</name>
        <identifier>private.change_input_source_to_us</identifier>
        <autogen>
          __KeyToKey__
          KeyCode::U, ModifierFlag::SHIFT_R,
          KeyCode::VK_CHANGE_INPUTSOURCE_US
        </autogen>
      </item>
    
      <vkchangeinputsourcedef>
        <name>KeyCode::VK_CHANGE_INPUTSOURCE_GERMAN</name>
        <languagecode>de</languagecode>
      </vkchangeinputsourcedef>
    
      <item>
        <name>Change input source to German by right shift key + D</name>
        <identifier>private.change_input_source_to_german</identifier>
        <autogen>
          __KeyToKey__
          KeyCode::D, ModifierFlag::SHIFT_R,
          KeyCode::VK_CHANGE_INPUTSOURCE_GERMAN
        </autogen>
      </item>
    
      <vkchangeinputsourcedef>
        <name>KeyCode::VK_CHANGE_INPUTSOURCE_UNICODEHEXINPUT</name>
        <inputsourceid_equal>com.apple.keylayout.UnicodeHexInput</inputsourceid_equal>
      </vkchangeinputsourcedef>
    
        <item>
        <name>Change input source to HEX by right shift key + H</name>
        <identifier>private.change_input_source_to_hex</identifier>
        <autogen>
          __KeyToKey__
          KeyCode::H, ModifierFlag::SHIFT_R,
          KeyCode::VK_CHANGE_INPUTSOURCE_UNICODEHEXINPUT
        </autogen>
        </item>
    
    </root>
    

    W tym przykładzie uderzenie right shiftuwłączy układ amerykański, right shiftgniemiecki i right shifthheksadecymalny.

    Pełna lista vkchangeinputsourcedefs jest dostępna tutaj .

  7. Zapisz plik

  8. Otwórz w menulecie Karabiner -> Preferencje zakładkę Zmień klucz
  9. Naciśnij przycisk ReloadXML
  10. Włącz wszystkie „skróty”. Są wymienione na początku.
klanomath
źródło
Próbowałem i wydaje się, że działa. Mam jeszcze jedno pytanie. Nie używam japońskiego wkładu Apple, ale japońskiego wkładu Google (edytor IME innych firm tools.google.com/dlpage/japaneseinput/... ). Jak mogę uzyskać „identyfikator” i „inputourceid_equal” oraz „languagecode” dla Google IME w języku japońskim?
Cholerne warzywa
@ SinJeong-hun Dobre pytanie. Najpierw muszę to zbadać.
klanomath
@ SinJeong-hun Identyfikator elementu, a także nazwa elementu i prawdopodobnie nazwa klucza VKchangeinputsourcedef KEYCODE (np. VK_CHANGE_INPUTSOURCE_UNICODEHEXINPUT) oraz odpowiedni element KEYCODE (np. VK_CHANGE_INPUTSOURCE_UNICODEH są zdefiniowane jako unikalne i zdefiniowane przez użytkownika). Więc tylko inputsourceid_equal i być może kod języka brakuje
klanomath
Mój błąd. Wpisałem „jp” jako „languagecode”, ale powinno to być „ja”. Teraz przejście na Google IME japoński działa. Jedyny problem polega na tym, że czasami (jeszcze nie znalazłem dokładnego warunku) edytor IME wydaje się być przełączany (flaga i znacznik wyboru zmieniane na pasku stanu) na koreański, ale angielski jest nadal wpisany.
Cholerne warzywa
@ SinJeong-hun Możesz wypróbować inne ustawienia w private.xml
klanomath