특정 입력 소스로 전환 활성화 된 입력 소스 사이 를 전환하는

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

대체 텍스트

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



답변

가장 추악한 “솔루션”을 제시합니다.

  • 의 보조 장치에 대한 지원을 활성화 손쉬운»시스템 환경 설정 ,
  • 시스템 환경 설정»언어 및 텍스트의 메뉴 표시 줄에 입력 소스 메뉴 표시 .
  • 시스템 환경 설정»키보드»키보드 단축키»키보드 및 텍스트 입력 에서 상태 메뉴초점 이동에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를 사용하여 서비스에서 스크립트를 래핑하고 시스템 환경 설정»키보드»키보드 바로 가기»서비스 에서 키보드 바로 가기를 지정하십시오 .


답변

전환하려는 키보드 레이아웃의 이름을 알면 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”를 호출해야합니다.


답변

한 가지 옵션은 changeInput 을 다운로드 하고와 같은 쉘 명령에 단축키를 지정하는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::NONE예를 들어 첫 번째 설정은 옵션-명령-E에 적용됩니다. 키 코드 값사전 정의 된 설정에 대해서는 소스를 참조하십시오 .


답변

나는 그것이 오래된 질문이라는 것을 안다. 그러나 2016 년 말에도 여전히 간단하고 좋은 해결책을 찾지 못했습니다. 따라서 IMEShortcuts을 만들고 Sierra 에서 작업했습니다. 특정 입력 방법에 대해 사용자 정의 된 바로 가기를 지정할 수 있습니다. 기회를주세요. 여러분이 버그를 발견하면 기꺼이 도와 드리겠습니다.

또한 Karabiner (KeyRemap4MacBook이라고도 함)는 Mac을위한 훌륭한 키보드 사용자 정의 프로그램입니다. 그러나 약간 복잡하고 현재 Sierra에서 고장났습니다. Yosemite 또는 El Capitan을 사용하는 경우 또 다른 좋은 선택입니다.


답변

가장 만족스러운 다른 솔루션이 있습니다. KeyRemap4MacBook 은 키보드 버튼을 다시 매핑 할 수있는 응용 프로그램입니다. 무엇보다도 언어 변경에 대한 철저한 지원이 아닌 일부를 허용합니다. 그래서 우리는 내가 원하는 것을하는 커스텀 구성입니다.

단점 :-타사 응용 프로그램-현재 제한된 언어 지원

장점 :-개념적으로 UI에서 스크립트를 실행하는 것이 조금 더 좋습니다.


답변

AppleScript에서는 cmd + “space”(또는 키보드 소스를 변경 한 것) 만 가져와야합니다.

그리고 필요한 모든 것 :

    key code 49 using command down

49-AppleScript 용 ASCII의 ‘space’단추 코드

PS : 시스템 환경 설정에서 AppleScript 유틸리티에 액세스하는 것을 잊지 마십시오.


답변

kawa를 발견했습니다 -귀하의 요구를 정확하게 충족시키는 매우 간단한 응용 프로그램. 필요한 입력 소스로 직접 전환하기위한 설정 바로 가기.