Układ klawiatury i język interfejsu są niezależne. A ponieważ język interfejsu ma zastosowanie tylko po ponownym uruchomieniu programu, wszystko, co zyskujesz dzięki skrótowi, byłoby negowane przez wymóg ponownego uruchamiania aplikacji.
Przedstawiam wam najbrzydsze możliwe „rozwiązanie”:
Włącz obsługę urządzeń pomocniczych w Preferencjach systemowych »Universal Access ,
i wyświetlenie menu Źródła wejściowe w pasku menu w Preferencjach systemowych »Język i tekst .
Upewnij się, że skrót Ctrl-F8jest zdefiniowany dla Przenieś fokus do menu statusu w Preferencjach systemowych »Klawiatura» Skróty klawiaturowe »Klawiatura i wprowadzanie tekstu .
Upewnij się, że menu Źródła wejściowe jest najbardziej wysuniętym w lewo elementem menu, które można przenosić, przeciągając i przytrzymując Cmd.
Użyj AppleScript Editori napisz trzy skrypty, każdy z następującym kodem:
tell application "System Events"
key code 100 using control down # press Ctrl-F8
delay 0.5 # wait a bit, UI might be slow
key code 125 # press down to open the menu
keystroke "german" # name of your desired language, in my case tested using German
key code 36 # press enter
end tell
Zapisz jeden raz dla każdego języka, zmieniając jego nazwę. Jeśli chcesz naciskać różne klawisze lub przypisać coś innego Ctrl-F8, zastąp je kodami klawiszy tutaj . Możesz także przesunąć menu Źródła wejściowe z jego skrajnej lewej pozycji, wstawiając kilka naciśnięć prawej strzałki .
Wywoływaj skrypty w dowolny sposób, np. Użyj programu uruchamiającego aplikacje (Quicksilver, Launchbar itp.) Lub zawiń je w Usługach za pomocą Automatora i przypisz im skróty klawiaturowe w Preferencjach systemowych »Klawiatura» Skróty klawiaturowe »Usługi .
@Nikem Nie ma za co. Proszę głosować w górę moją odpowiedź, klikając „trójkąt ze strzałką w górę” obok niej, jeśli uznasz tę odpowiedź za przydatną. Możesz także zaakceptować odpowiedź (wskazując, że jest to odpowiedź, którą lubisz najbardziej i uważasz, że problem został rozwiązany), klikając znacznik wyboru obok niej. Nawiasem mówiąc, ActionScript to Adobe, to jest AppleScript.
Wymyśliłem nieco ładniejsze rozwiązanie w AppleScript, biorąc pod uwagę nazwę układu klawiatury, na który chcesz się przełączyć. Utwórz taką funkcję:
on changeKeyboardLayout(layoutName)
tell application "System Events" to tell process "SystemUIServer"
tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
end tell
end changeKeyboardLayout
VK_CHANGE_INPUTSOURCE_ENGLISH jest zdefiniowany w vkchangeinputsourcedef.xml . Możesz zobaczyć identyfikatory źródeł wejściowych z EventViewer.app. Bez | ModifierFlag::NONEna przykład pierwsze ustawienie dotyczyłoby również opcji-Command-E. Zobacz źródło kluczowych wartości kodu i predefiniowanych ustawień .
Wiem, że to stare pytanie. Ale nawet pod koniec 2016 roku wciąż nie znalazłem prostego i miłego rozwiązania. Dlatego zrobiłem IMEShortcuts , działa na Sierra. Możesz przypisać niestandardowy skrót do dowolnej określonej metody wprowadzania. Proszę spróbować. A jeśli znajdziecie jakieś błędy, chętnie pomogę.
Ponadto Karabiner (znany jako KeyRemap4MacBook) jest świetnym narzędziem do dostosowywania klawiatury dla komputerów Mac. Ale to jest trochę skomplikowane i obecnie zepsute na Sierra. Jeśli używasz Yosemite lub El Capitan, byłby to kolejny dobry wybór.
Dzięki za IMEShortcuts! To bardzo miłe. Z przyjemnością zapłaciłbym za to około 5 USD, jeśli dodałeś ikony do paska menu, aby pokazać aktywny język (więc nie potrzebowałbym ZARÓWNO OBRAZÓW skrótu, jak i ikony aplikacji w moim pasku menu zajmującej miejsce). Chciałbym również móc dostosować używaną ikonę - na przykład chcę użyć danych z kanadyjskiego francuskiego, ponieważ jest bliżej amerykańskiej QWERTY, ale chcę zobaczyć flagę francuską, ponieważ kanadyjska flaga nie symbolizuje „francuskiego” na mnie. Te rzeczy sprawiłyby, że byłby niesamowity!
Słowo ostrzeżenia: jeśli w przeszłości nie pobrałeś jeszcze IMEShortcuts (przed wygaśnięciem rejestracji domeny i zastąpieniem strony zawierającej złośliwe oprogramowanie ze złośliwym rozszerzeniem chrome), nie pobieraj niczego z rockcell.com, dopóki nie zostanie to rozwiązane.
Mam inne rozwiązanie, które najbardziej mnie usatysfakcjonowało. KeyRemap4MacBook to aplikacja, która pozwala na mapowanie przycisków klawiatury. Między innymi pozwala na pewne, wcale nie wyczerpujące, wsparcie na zmianę języka. Mamy więc niestandardową konfigurację, która robi to, co chcę.
Minusy: - aplikacja innej firmy - na razie ograniczona obsługa języków
Plusy: - Koncepcyjnie trochę ładniejsze niż uruchamianie skryptu w interfejsie użytkownika
Na stronie nie znalazłem nic związanego z elastycznym wykorzystaniem źródeł wejściowych, tylko niektóre zakodowane działania związane z rosyjskim / angielskim. Czy możesz rozwinąć?
To nie jest elastyczne. Zdarza się, że obsługuje przejście na angielski i rosyjski (a teraz estoński), czyli tych języków, których potrzebowałem. I pozwala mapować dowolne kombinacje klawiszy na te akcje. W moim przypadku przejście na język.
Znaleziono kawa - dość prosta aplikacja, która dokładnie spełni Twoje potrzeby. Ustaw skróty, aby bezpośrednio przełączyć się na wymagane źródło wejściowe.
Witamy w Super User. Przeczytaj Jak polecić oprogramowanie, a następnie edytuj swoją odpowiedź, aby zawierała co najmniej minimalne wymagane informacje (elementy pogrubione ). Posty bez tych informacji mogą zostać usunięte. Dzięki za wkład.
Ten link zawiera wideo, jak to zrobić. Ma już skrót „komenda + spacja”, ale skrót klawiszowy w centrum uwagi to także „polecenie + spacja”. Podkreśl nad klawiszami skrót klawiszowy, aby zmiana języka nie wystąpiła. Film w linku pokaże, jak zmienić klawisz skrótu, aby można było go przełączać.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.