특정 입력 소스로 전환


23

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

대체 텍스트

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


키보드 레이아웃과 인터페이스 언어는 독립적입니다. 인터페이스 언어는 프로그램을 다시 시작한 후에 만 ​​적용되므로 바로 가기로 얻은 모든 내용은 응용 프로그램을 다시 시작해야한다는 요구 사항으로 인해 무효화됩니다.
Daniel Beck

인터페이스 언어 변경에 관심이 없습니다. 입력 언어 만 관심이 있습니다.
Nikem

귀하의 질문을 간소화하고 명확히했습니다. 내가 잘못했다고 생각되면 되돌려주십시오 (이 작업을 처음 사용합니다).
Daniel Beck

답변:


7

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

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


1
@Nikem 작동 했습니까?
Daniel Beck

1
그렇습니다.
Nikem

1
Anda, Daniel, 다른 솔루션을 선택했지만 Action Script and Services를 소개해 주셔서 감사합니다. :)
Nikem

@Nikem 천만에요. 이 답변이 유용하다고 생각되면 옆에있는 "위쪽 화살표 삼각형"을 클릭하여 답변을 올리십시오. 옆에있는 확인 표시를 클릭하여 답변을 수락 (가장 가장 좋아하는 답변임을 표시하고 문제가 해결 된 것으로 간주) 할 수 있습니다. 그건 그렇고, ActionScript는 Adobe이고, 이것은 AppleScript입니다.
Daniel Beck

@Daniel 사실, 어떤 대답을 추천해야할지 모르겠습니다. 나는 내 것을 선택했지만, 당신은 더 널리 사용할 수 있습니다 ...
Nikem

12

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


내 것보다 확실히 좋아. AppleScript를 제대로 배워야합니다.
Daniel Beck

이 몇 년 동안 완벽하게 작동하지만, 카탈로는 "입력 텍스트"메뉴 표시 줄에 더 이상 액세스 할 수 없습니다 것 같다
프랭크 Mittelbach 등

6

한 가지 옵션은 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에 적용됩니다. 키 코드 값사전 정의 된 설정에 대해서는 소스를 참조하십시오 .


4

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

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


IMEShortcuts에 감사드립니다! 아주 좋다. 활성 언어를 표시하기 위해 메뉴 표시 줄에 아이콘을 추가 한 경우 기꺼이 5 달러를 지불합니다 (따라서 IME 바로 가기와 메뉴 표시 줄의 응용 프로그램 아이콘 모두 공간을 차지하지 않아도 됨). 또한 사용 된 아이콘을 사용자 정의 할 수 있기를 원합니다. 예를 들어 캐나다 프랑스어 입력은 미국 QWERTY에 더 가깝기 때문에 캐나다 프랑스어 입력을 사용하고 싶지만 캐나다 국기는 "프랑스어"를 상징하지 않기 때문에 프랑스어 국기를보고 싶습니다. 나를. 그런 것들이 굉장합니다!
iconoclast

경고의 말씀 : 도메인 등록이 만료되어 Chrome 확장 프로그램 악성 코드가 포함 된 스쿼터 페이지로 대체되기 전에 이미 IMEShortcuts를 다운로드하지 않은 경우 rockcell.com에서 문제가 해결 될 때까지 아무것도 가져 가지 마십시오.
2

1

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

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

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


웹 사이트에서 입력 소스를 유연하게 사용하는 것과 관련이 없으며 러시아어 / 영어와 관련된 일부 하드 코딩 된 작업 만 발견했습니다. 정교하게 할 수 있습니까?
Daniel Beck

융통성이 없습니다. 그것은 내가 필요한 언어 인 영어와 러시아어 (현재 에스토니아어) 로의 전환을 지원한다는 것입니다. 또한 임의의 키 조합을 해당 작업에 매핑 할 수 있습니다. 내 경우에는 언어로 전환합니다.
Nikem

Karabiner로 설정하는 방법을 찾는 데 어려움을 겪고 있습니다.
Ivan Balashov

1

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

그리고 필요한 모든 것 :

    key code 49 using command down

49-AppleScript 용 ASCII의 'space'단추 코드

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


1

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


1
슈퍼 유저에 오신 것을 환영합니다. 읽어 보시기 바랍니다 소프트웨어가 추천하는 방법 다음 편집 적어도 최소한의 필요한 정보 (의 항목을 포함하는 답변을 굵게 ). 이 정보가없는 게시물은 삭제 될 수 있습니다. 기여해 주셔서 감사합니다.
나는

0

링크 에는 방법에 대한 비디오가 있습니다. 이미 "command + space"인 핫케익이 있지만 스포트라이트 단축 키는 "command + space"이기도합니다. 스포트라이트는 단축키를 오버 라이더하므로 언어 ​​전환이 발생하지 않습니다. 링크의 비디오는 단축키를 토글 할 수 있도록 단축키를 변경하는 방법을 보여줍니다.

행운을 빕니다,


1
그는 언어를 전환하는 방법을 이미 알고 있으며 , 아마도 2 개 이상이 활성화되어 있기 때문에 특정 언어로 전환하려고합니다 .
Daniel Beck

예, 다니엘이 말한 그대로입니다. 입력 언어가 3 개이므로 특정 언어를 선택해야합니다.
Nikem

죄송합니다. 질문을 오해했을 것입니다. 단축키로 언어를 전환하는 방법을 찾으려고 생각했습니다.
David
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.