특정 입력 소스로 전환

특정 입력 소스로 전환

Mac OS X에는 전환할 수 있는 키보드 단축키가 있습니다.~ 사이활성화된 입력 소스.

대체 텍스트

전환이 가능한가요?에게특정 언어? 따라서 3가지 입력 방법이 있는 경우 Ctrl-1영어, Ctrl-2스페인어, Ctrl-3러시아어의 3가지 단축키를 사용할 수 있습니다 .

답변1

나는 가능한 가장 추악한 "해결책"을 여러분에게 제시합니다.

  • 다음에서 보조 장치에 대한 지원을 활성화합니다.시스템 환경설정 » 범용 액세스,
  • 메뉴바에 입력 소스 메뉴를 표시합니다.시스템 환경설정 » 언어 및 텍스트.
  • 바로가기가 Ctrl-F8정의되어 있는지 확인하세요.상태 메뉴로 포커스 이동~에시스템 환경설정 » 키보드 » 키보드 단축키 » 키보드 및 텍스트 입력.
  • 입력 소스 메뉴가 누른 상태에서 드래그하여 이동할 수 있는 가장 왼쪽 메뉴 항목인지 확인하세요 Cmd.

세 가지 스크립트를 사용 AppleScript Editor하고 작성합니다. 각 스크립트에는 다음 코드가 포함됩니다.

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

각 언어에 대해 한 번씩 저장하고 언어 이름을 변경하세요. 다른 키를 누르거나 와 다른 것을 지정하려면 Ctrl-F8키 코드로 대체하십시오.여기. 몇 가지를 삽입하여 입력 소스 메뉴를 가장 왼쪽 위치에서 이동할 수도 있습니다.오른쪽 화살표키 누르기.

원하는 대로 스크립트를 호출합니다. 예를 들어 응용 프로그램 실행기(Quicksilver, Launchbar 등)를 사용하거나 Automator를 사용하여 서비스에 래핑하고 키보드 단축키를 할당합니다.시스템 환경설정 » 키보드 » 키보드 단축키 » 서비스.

답변2

전환하려는 키보드 레이아웃의 이름을 알고 있다면 AppleScript에서 좀 더 멋진 솔루션을 생각해냈습니다. 다음과 같은 함수를 만듭니다.

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

그런 다음 다음으로 전화하십시오.

 changeKeyboardLayout("English")
 changeKeyboardLayout("German")

키보드 레이아웃의 이름은 현지화되어 있습니다. 즉, 독일 시스템에서는 위의 예에서 "Englisch" 및 "Deutsch"를 호출해야 합니다.

답변3

한 가지 옵션은 다운로드하는 것입니다.변경입력그리고쉘 명령에 단축키 지정좋다 changeInput U.S..

KeyRemap4MacBook을 사용할 수도 있습니다.

<?xml version="1.0"?>
<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
    <inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>change_inputsources</name>
    <identifier>change_inputsources</identifier>
    <autogen>__KeyToKey__ KeyCode::E, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH</autogen>
    <autogen>__KeyToKey__ KeyCode::H, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
  </item>
</root>

참조private.xml 문서.

VK_CHANGE_INPUTSOURCE_ENGLISH는 다음에 정의되어 있습니다.vkchangeinputsourcedef.xml. EventViewer.app에서 입력 소스의 ID를 확인할 수 있습니다. 예를 들어 첫 번째 설정이 없으면 | ModifierFlag::NONEoption-command-E에도 적용됩니다. 해당 내용은 소스를 참조하세요키 코드 값그리고사전 정의된 설정.

답변4

나는 그것이 오래된 질문이라는 것을 알고 있습니다. 하지만 2016년 말에도 여전히 간단하고 좋은 해결책을 찾지 못했습니다. 그러므로 내가 만든IME바로가기, Sierra에서 작동합니다. 특정 입력 방법에 대해 사용자 정의된 단축키를 할당할 수 있습니다. 한번 시도해 보세요. 버그를 발견하면 기꺼이 도와드리겠습니다.

또한,카라비너(KeyRemap4MacBook으로 알려져 있음)은 훌륭한 Mac용 키보드 커스터마이저입니다. 하지만 조금 복잡하고 현재 Sierra에서는 깨졌습니다. Yosemite나 El Capitan을 사용하고 있다면 또 다른 좋은 선택이 될 것입니다.

관련 정보