키보드 단축키로 키보드 뷰어를 표시하거나 숨기는 방법?


19

단축키를 사용하여 키보드 뷰어를 표시하거나 숨기고 싶습니다.

  • 키보드 단축키를 통해 키보드 뷰어를 표시하는 방법이 있습니까?
  • 특정 언어로 전환 한 후 키보드 뷰어를 자동으로 표시하는 방법이 있습니까?

이상적인 해결책은 키보드를 표시하는 Apple Script에 키보드 단축키를 지정하는 것입니다.
duci9y

답변:


15

서비스로 키보드 뷰어 시작 (개선)

Automator 및 OS X Services 기능을 사용하여 바로 가기로 키보드 뷰어를 시작할 수 있습니다.

키보드 뷰어 프로그램 /System/Library/Input Methods/KeyboardViewer.app은 Lion (라이온 이전 버전에서는 /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app)에 있습니다. Automator를 사용하여 간단한 실행기 서비스를 생성하여 핫키로 열 수 있습니다.

  1. Automator를 열고 새 문서 유형으로 서비스 를 선택하십시오 .
  2. 워크 플로 영역 상단에있는 옵션을 "서비스가 응용 프로그램 에서 입력 을 받지 않음 "으로 설정하십시오.
  3. AppleScript 실행 조치를 워크 플로우에 추가하고 텍스트를 다음 행으로 바꾸십시오.

    if application "KeyboardViewer" is running then
        quit application "KeyboardViewer"
    end if
    
    activate application "KeyboardViewer"
    
    -- wait until the window has been closed, then end the KeyboardViewer process
    set numberOfWindows to 1
    repeat until numberOfWindows = 0
        delay 5
        tell application "System Events"
            tell process "KeyboardViewer"
                set numberOfWindows to count windows
            end tell
        end tell
    end repeat
    quit application "KeyboardViewer"
    
  4. "키보드 뷰어 열기"와 같은 이름으로 저장 한 다음 키보드 단축키 탭 에서 키보드 환경 설정 을여 십시오. 왼쪽 창에서 서비스 를 선택 하고 맨 아래로 스크롤하면 일반 섹션 아래에 서비스 이름이 표시됩니다.
  5. 상자가 활성화되어 있는지 확인한 다음 선택하고 바로 가기 추가를 클릭 하여 단축키 를 설정하십시오.
  6. 핫키를 설정 한 후 응용 프로그램 (예 : Finder> 서비스)에서 서비스 메뉴를 연 다음 닫으십시오. 어떤 이유로 든 내가 할 때까지 내 단축키가 작동하지 않았습니다.

몇 가지 메모 :

  • 스크립트를 사용하려면 범용 액세스 환경 설정 창의 보조 장치에 대한 액세스 사용 상자를 선택해야합니다 .
  • Keyboard Viewer 창을 닫아도 실제로 응용 프로그램이 종료되지는 않으며 Lri가 지적한 것처럼 약간의 리소스 비호가 될 수 있으므로 repeatKeyboard Viewer에 열려있는 창이 있으면 5 초마다 루프를 확인하고 그렇지 않은 경우 방법.
  • 당신이 미리 라이온 OS를 실행하는 경우, 당신은 의 인스턴스를 교체 할 필요가 KeyboardViewerKeyboardViewerServer. 나는 이것을 시험해 볼 수있는 사전 라이온이 없다 (다른 사람이 의견에 다시보고 할 수 있다면 좋을 것이다.
  • 키보드 뷰어가 닫힐 때까지 스크립트가 반복되므로 Automator 회전 기어 아이콘이 닫힐 때까지 메뉴 막대에 표시됩니다.

예! 입니다 정확히 내가 무엇을 찾고 위해. 자동화 및 셸 스크립팅에 익숙하지만 힌트 만 필요합니다. 대단히 감사합니다 ... :)
jm666

창을 닫았는지 확인하고 성능이 저하되지 않도록 프로세스를 종료하는 검사를 실행하는 Applescript를 사용하여 이것을 업데이트했습니다. 이전 bash 기반 버전에 관심이있는 사용자는 여기에서 해당 개정을 찾을 수 있습니다 .
robmathers

최소한의 수정으로이 스크립트 는 뷰어를 토글 합니다. "end if"를 "else"로 바꾸고 "else if"를 끝으로 이동하십시오.
AdamAL

훌륭한 솔루션. 그러나 "키보드 뷰어 표시"메뉴 항목은 키보드 뷰어가 실행되고 있음을 인식하지 못합니까? 따라서 두 종류를 모두 사용하면 이러한 종류의 메뉴 항목이 중단됩니다.
매트 Sephton

4

Quicksilver추가 스크립트 플러그인Show Keyboard Viewer.scpt 를 제공하여이 기능을 제공 합니다 .

또한 Run 동작으로 Show Keyboard Viewer.scpt에 대한 Quicksilver 트리거를 만들면 전역 키보드 뷰어 단축키가 나타납니다.

스크립트 소스는 다음과 같습니다.

property theApplication : "KeyboardViewer"
property thePath : "/System/Library/Input Methods/KeyboardViewer.app"

set HFSPath to ((POSIX file thePath) as string)
tell application "System Events" to ¬
    set isRunning to 0 < (count (application processes whose name is theApplication))
if isRunning then
    tell application HFSPath to quit
else
    ignoring application responses
        tell application HFSPath to activate
    end ignoring
end if

KeyboardScript를 AppleScript로 또는 open메인 윈도우로 닫은 경우 키보드 뷰어 프로세스는 열린 상태를 유지하고 약 0-20 %의 CPU를 사용합니다.


나는 일반적으로 간단한 스크립트 가능한 것들을 위해 타사 앱을 설치하는 것을 좋아하지 않지만 예외 입니다. :) 매력처럼 일하면서 대단히 감사합니다. ;)
jm666

타사 소프트웨어를 피하려면 내장 소프트웨어로 동일한 작업을 수행하는 답변을 게시했습니다.
robmathers

sry mach, @CanuckSkier는 내가 더 좋아하는 답변을 게시 했으므로 그의 답변을 수락했습니다. 어쨌든 QuickSilver의 경우 +1입니다. ;)
jm666

4

이 스레드를 찾았습니다. 위의 답변을 바탕으로 키보드 뷰어를 전환하는 Alfred 확장 스크립트를 만들었습니다.

https://dl.dropbox.com/u/29440342/linkedFiles/Keyboard%20Viewer.alfredextension

다음 애플 스크립트를 실행하여 키보드 뷰어를 켜거나 끄는 alfred 키워드 "kv"를 제공합니다.

-- adapted from http://apple.stackexchange.com/a/62532
if application "KeyboardViewer" is running then
    quit application "KeyboardViewer"
else
    activate application "KeyboardViewer"
end if

(*
-- adapted from http://apple.stackexchange.com/a/59986
tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 where description is "text input") of menu bar 1
        click
        click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
    end tell
end tell
*)
-- icon ripped from osx /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

피해야 할 성능 문제가 발생하는 경우 대체 구현을 주석 처리했습니다.


1
링크가 끊어졌습니다. 다시 게시 할 수 있으면 좋겠습니까? 이것은 내가 사용할 Alfred Workflow입니다.
ddaa

여기 우리가 간다, 나는 그것을 재 구현 (또한 키보드 단축키 Cmd를 + Alt + Ctrl 키 + 시프트 + K 추가) : packal.org/workflow/toggle-keyboard-viewer-0
매트 Sephton

3

BetterTouchTool을 통해 다음을 수행하는 방법을 찾았습니다.

  • 단축키로 키보드 뷰어 활성화
  • 다른 단축키로 키보드 뷰어 닫기
  • 하나의 단축키로 키보드 뷰어를 전환합니다 (이전 단축키 필요 없음).
  • 또한 편의를 위해 AppleScript를 업로드했습니다.

플랫폼 : rMBP Mountain Lion OSX 10.8


단축키로 키보드 뷰어 활성화

  • BetterTouchTool 실행
  • 키보드 단축키 추가
  • 미리 정의 된 작업 추가 >> 응용 프로그램 / 파일 / 스크립트 열기 ...
  • Macintosh HD / 시스템 / 라이브러리 / 입력기 /로 이동
  • KeyboardViewer를 선택하십시오

이제 추가 스크립트없이 뷰어를 활성화하는 키보드 단축키가 있습니다.

그러나 빨간색 X 버튼을 눌러도 응용 프로그램이 실제로 종료되지는 않습니다. 즉, 키보드 뷰어가 한 번만 활성화됩니다. 따라서 프로그램을 종료하려면 스크립트를 작성해야합니다.

이 문제를 해결하려면 다음을 수행하십시오.


다른 키보드 단축키로 키보드 뷰어 닫기

  • 오토메이터 열기
  • 문서 유형으로 응용 프로그램을 선택하십시오.
  • RunAppleScript 추가
  • 그것이 (* 당신의 스크립트가 여기에 간다 *)라고 표시되면 quit application "KeyboardViewer"
  • 문서 또는 원하는 곳에서 컴파일하고 저장하십시오 (KeyboardViewer와 동일한 위치로 옮겼습니다)
  • BetterTouchTool 열기
  • 키보드 단축키 추가
  • 미리 정의 된 작업 추가 >> 응용 프로그램 / 파일 / 스크립트 열기 ...
  • 방금 저장 한 응용 프로그램 파일을 찾습니다

KeyBoard 뷰어를 종료 한 후에는 활성화 할 수 있습니다. 빨간색 X 버튼 대신 사용하십시오. X 버튼을 누를 때 키보드 뷰어가 완전히 종료되지 않는 이유를 알 때까지 이것이 해결책입니다.

편집하다

나는 키보드 뷰어를 토글하는 방법을 알아 냈습니다!


하나의 키보드 단축키로 키보드 뷰어보기

이전과 동일한 프로세스이지만 코드가 변경되었습니다.

  • 오토메이터 열기
  • 문서 유형으로 응용 프로그램을 선택하십시오.
  • RunAppleScript 추가
  • (* 스크립트가 여기에 간다 *)라고 표시되면
  if application "KeyboardViewer" is running then
      quit application "KeyboardViewer"
  else
      activate application "KeyboardViewer"
  end if
  • 문서 또는 원하는 곳에서 컴파일하고 저장하십시오 (KeyboardViewer와 동일한 위치로 옮겼습니다)
  • BetterTouchTool 열기
  • 키보드 단축키 추가
  • 미리 정의 된 작업 추가 >> 응용 프로그램 / 파일 / 스크립트 열기 ...
  • 방금 저장 한 응용 프로그램 파일을 찾습니다

이제 키보드 뷰어가 토글되고 여러 단축키를 지정할 필요조차 없습니다!


AppleScript 링크

위의 전체 코딩 단계를 수행하는 대신 빠른 액세스를 위해 온라인으로 앱을 업로드했습니다 (BetterTouchTool을 통해이 앱을 활성화하면 됨). 식별 된 게시자가 아니기 때문에 보안 환경 설정에 따라 OS에서이 앱 실행을 차단할 수 있습니다. 따라서 알 수없는 게시자의 앱을 실행하지 않으려면 위의 단계에 따라 자신 만의 앱을 만드십시오!

파일 링크 : https://www.box.com/s/e2461c91e30e0af025e7


그것이 나를 돕는 사람에게 도움이되기를 바랍니다 :)


환상적인 !! 런치 바 인덱스에 keyboardViewer 앱을 직접 추가하는 것이 나의 목적을 대신하는 좋은 방법이라고 생각했지만 일단 실행되면 kbv를 닫을 수있는 옵션이 없습니다! 따라서 두 번째로 호출 할 수 없습니다-이상합니다. 어쨌든 당신의 대본은 대접을합니다! (나는 나를 위해 작동하기 위해 스크립트 / 실행으로 저장해야했습니다.) Tx!
ptim

@memeLab 그것은 당신을 위해 일하게 기쁘다 :)
Render

3

닫기 버튼을 클릭하여 주 창을 닫은 후에도 작동합니다.

if application "KeyboardViewer" is running then
    tell application "System Events" to number of windows of process "KeyboardViewer"
    if result is 0 then
        quit application "KeyboardViewer"
        delay 0.1
        launch application "KeyboardViewer"
    else
        quit application "KeyboardViewer"
    end if
else
    launch application "KeyboardViewer"
end if

AppleScript로 키보드 뷰어를 열거 나 open -a KeyboardViewer주 윈도우가 닫히면 프로세스는 열린 상태로 유지되고 CPU를 약 15 % 정도 사용합니다. 입력 메뉴에서 키보드 뷰어 표시를 선택하면 발생하지 않습니다. 더 나은 옵션은 메뉴 항목을 클릭하는 것입니다.

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 where description is "text input") of menu bar 1
        click
        click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
    end tell
end tell

두 스크립트 모두 접근성 환경 설정 창에서 보조 장치를 활성화하려면 액세스가 필요합니다.


2

단일 입력 바로 가기는 아니지만 "마우스없는"솔루션은 Fn+ Ctrl+ F8로 메뉴 표시 줄의 오른쪽 에있는 " 상태 메뉴 "아이콘에 초점을 설정 합니다. ( 섹션 4 )

여기에 이미지 설명을 입력하십시오

화살표는 키보드 환경 설정 아이콘 및 표시 / 숨기기 옵션으로 이동합니다. Fn+ Ctrl+ 를 입력 F8하면 메뉴 표시 줄의 오른쪽 절반에있는 "상태 메뉴"아이콘의 가장 왼쪽에있는 아이콘이 강조 표시됩니다. 선택 Right Arrow →되면를 사용하여 원하는 항목으로 이동하십시오. 를 사용하여 Down Arrow ↓메뉴를 열고 원하는 옵션을 선택하십시오. 이 Option키를 사용하면 일부 "상태 메뉴"에서 다른 메뉴 옵션을 사용할 수 있습니다.

여기에 이미지 설명을 입력하십시오

참고로 Fn+ Ctrl+ F2는 왼쪽에있는 Apple 메뉴 아이콘 를 활성화합니다. 여기에서 Right Arrow →응용 프로그램 메뉴에 액세스 할 수 있습니다. 이 옵션은 시스템 환경 설정 >> 키보드 >> 바로 가기 :: 키보드에서 사용할 수 있습니다.

여기에 이미지 설명을 입력하십시오

기능 키 구성 방법에 따라 Fn는 옵션입니다.

여기에 이미지 설명을 입력하십시오

macOS Sierra에서는 Siri를 사용하여이를 도울 수 있습니다. 시스템 환경 설정 >> Siri :: 키보드 단축키에서 선택한 키보드 단축키를 사용하여 Siri를 호출하십시오 (예 : Option+Spacebar

여기에 이미지 설명을 입력하십시오

... "키보드 뷰어 켜기"라고 말합니다.

여기에 이미지 설명을 입력하십시오

... 그리고 짜잔 :

여기에 이미지 설명을 입력하십시오

불행히도 Siri는 키보드 뷰어를 닫지 않으며 Command⌘+w


0

Automator로 모든 것을 할 수 있습니다.

  1. Automator를 열고 "응용 프로그램"을 선택하십시오
  2. 라이브러리 상단에서 "시작 응용 프로그램"을 찾아 두 번 클릭하십시오.
  3. "기타"를 선택하고 / System / Library / Input Methods에서 KeyboardViewer 파일로 이동하십시오.
  4. "키보드 시작"과 같은 이름으로 저장하십시오. 그것을 테스트하십시오.

다음 부분은 키보드를 닫는 것입니다.

  1. Automator를 열고 "응용 프로그램"을 선택하십시오
  2. 라이브러리 상단에서 "응용 프로그램 종료"를 찾아 두 번 클릭하십시오.
  3. "기타"를 선택하고 / System / Library / Input Methods에서 KeyboardViewer 파일로 이동하십시오.

  4. "quit keyboard"와 같은 이름으로 저장하십시오. 그것을 테스트하십시오.

이제 두 개의 파일이 열려 있고 하나는 닫힐 것입니다.

이 두 파일을 시작하기 위해 마우스 버튼을 연결하기 만하면됩니다!

예를 들어, 저는 Microsoft Bluetooth Notebook Mouse 5000을 사용하고 있습니다.

10.9.1에서 나를 위해 위대한 일


0

활동 모니터, KeyboardViewer.app가

파인더 위치 : / System / Library / Input Methods / KeyboardViewer.app .

일반적인 사용 : 메뉴 표시 줄 에서 열기 , 마우스로 가리켜 서 닫기 (x) 닫기 버튼을 클릭 할 수있는 창 버튼보기 메뉴 막대 패널, 시스템 환경 설정 , 키보드 , 키보드 탭 을 활성화하려면 메뉴 막대 에서 키보드 및 이모티콘 뷰어 표시를 선택하십시오 .

KeyboardViewer 애플릿은 제한적인 동작을 나타냅니다.

  1. 애플릿 창이 ⌘-Q , ⌘-W에 응답하지 않습니다 .
  2. 이상하게도, Input Methods 폴더에서 열면 Activity Monitor는 창을 닫은 후에 애플릿이 계속 실행 중임을 표시합니다.
  3. 아래 표시된 Automator AppleScript는 백그라운드에서 느리게 실행되며 키보드 서비스는 활동 모니터에서 열기 및 닫기 조치를 등록하는 데 몇 초가 걸립니다.
  4. 아래의 키보드 단축키 스크립트는 오류없이 실행되지만 시스템은 무시하는 것으로 보입니다.
  5. Sierra Automator의 종료 응용 프로그램 은 KeyboardViewer.app를 닫지 않습니다

다음 Automator 스크립트는 한 번의 클릭으로 KeyboardViewer.app 를 열 수 있는 응용 프로그램으로 저장할 수 있으며 (활동 모니터는이 열림 활동도 표시합니다) Dock에 배치 할 때 잘 작동합니다.

Automator : New , Application , Run AppleScript ,이 스크립트를 저장하십시오

-- see above post, Render
    on run {input, parameters}
        if application "KeyboardViewer" is running then
            quit application "KeyboardViewer"
        else 
            activate application "KeyboardViewer"
        end if
        return input
    end run
-- icon /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

불행히도 이것은 키보드 단축키를 추가하지 않습니다. 그러나 한 번의 클릭으로 해결 방법을 제공합니다. Automator를 사용하여 키보드 단축키를 추가하는 방법이있을 수 있습니다. 일반적인 바로 가기 스크립트는 다음과 같습니다 (그러나 통합 방법은 확실하지 않음).

tell application "System Events"
    set application "KeyboardViewer" to keystroke "K" using control down
end tell

(MP 6,1의 macOS Sierra 10.12.6)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.