특정 입력 소스로 전환


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.