Tôi muốn hiển thị và ẩn Trình xem bàn phím bằng phím tắt.
- Có cách nào để hiển thị Trình xem Bàn phím qua phím tắt không?
- Có cách nào để tự động hiển thị Trình xem Bàn phím khi tôi chuyển sang một ngôn ngữ cụ thể không?
Tôi muốn hiển thị và ẩn Trình xem bàn phím bằng phím tắt.
Câu trả lời:
Bạn có thể khởi chạy Trình xem bàn phím bằng phím tắt bằng cách sử dụng chức năng Automator và OS X Services.
Chương trình Trình xem Bàn phím hoạt động tại /System/Library/Input Methods/KeyboardViewer.app
(trong các phiên bản trước Lion, có thể là tại /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app
). Bạn mở nó bằng một phím nóng bằng cách sử dụng Automator để tạo một dịch vụ launcher đơn giản.
Thêm hành động Run AppleScript vào quy trình công việc của bạn và thay thế văn bản bằng các dòng sau:
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"
Một vài lưu ý:
repeat
vòng lặp sẽ kiểm tra cứ sau 5 giây nếu Trình xem Bàn phím có bất kỳ cửa sổ đang mở nào và nếu không, hãy thoát khỏi quá trình.KeyboardViewer
bằng KeyboardViewerServer
. Tôi không có bất cứ điều gì trước Lion để kiểm tra điều này (nếu ai đó có thể báo cáo lại trong các bình luận, điều đó sẽ rất tuyệt./System/Library/Input Methods/KeyboardViewer.app
không tồn tại trên Catalina. Tôi đã mở tất cả các ứng dụng /System/Library/Input Methods
và không ai trong số họ mở trình xem bàn phím. Có ý kiến gì không?
Các Scripts tắm Plugin của Quicksilver cung cấp chức năng này bằng cách cung cấp Hiển thị bàn phím Viewer.scpt .
Ngoài ra, khi bạn tạo Trình kích hoạt Quicksilver để hiển thị Trình xem bàn phím.scpt với hành động Chạy , thì bạn sẽ nhận được phím nóng Trình xem bàn phím toàn cầu.
Đây là nguồn của kịch bản:
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
Nếu KeyboardViewer được mở bằng AppleScript hoặc với open
và cửa sổ chính bị đóng, quá trình Trình xem bàn phím vẫn mở và tiếp tục sử dụng khoảng 0-20% CPU.
Vui mừng tôi tìm thấy chủ đề này. Dựa trên các câu trả lời ở trên, tôi đã tạo một tập lệnh mở rộng Alfred bật tắt Trình xem bàn phím.
https://dl.dropbox.com/u/29440342/linkedFiles/Pal%20Viewer.alfredextension
Nó cung cấp một từ khóa alfred "kv" để bật và tắt Trình xem bàn phím, bằng cách chạy các applescript sau:
-- 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
Tôi đã để lại một triển khai thay thế nhận xét, trong trường hợp tôi gặp vấn đề về hiệu suất mà nó có nghĩa là phải tránh.
Tôi đã tìm thấy một cách thông qua BetterTouchTool để làm như sau:
Nền tảng: rMBP Mountain Lion OSX 10.8
Kích hoạt Trình xem Bàn phím bằng phím tắt
Bây giờ bạn có một phím tắt để kích hoạt trình xem mà không cần một tập lệnh bổ sung.
TUY NHIÊN, tôi nhận thấy rằng việc nhấn nút X màu đỏ không thực sự thoát khỏi ứng dụng, điều đó có nghĩa là trình xem bàn phím sẽ chỉ được kích hoạt một lần. Vì vậy, bạn cần phải tạo một kịch bản để thoát khỏi chương trình.
Để khắc phục sự cố này:
Đóng Trình xem bàn phím bằng một phím tắt khác
quit application "KeyboardViewer"
Bây giờ bạn có một cách để thoát khỏi trình xem KeyBoard ngay khi được kích hoạt. Sử dụng nó thay vì nút X màu đỏ. Cho đến khi tôi tìm ra lý do tại sao trình xem bàn phím không thoát hoàn toàn khi bạn nhấn nút X, đây sẽ là giải pháp của bạn.
BIÊN TẬP
Tôi đã tìm ra một cách để TOGGLE trình xem bàn phím !!
XEM TỪ KHÓA XEM BÀN PHÍM bằng một phím tắt
cùng quy trình như trước nhưng mã được thay đổi:
if application "KeyboardViewer" is running then quit application "KeyboardViewer" else activate application "KeyboardViewer" end if
Bây giờ Trình xem Bàn phím đã được bật và bạn thậm chí không cần gán nhiều phím tắt!
Liên kết cho AppleScript
Tôi đã tải lên ứng dụng trực tuyến để truy cập nhanh hơn thay vì thực hiện toàn bộ các bước mã hóa ở trên (chỉ kích hoạt ứng dụng này thông qua BetterTouchTool) Tuy nhiên, vì tôi không phải là nhà xuất bản được xác định, hệ điều hành của bạn có thể chặn chạy ứng dụng này, tùy thuộc vào sở thích bảo mật của bạn. Vì vậy, nếu bạn không muốn chạy ứng dụng từ các nhà xuất bản không xác định, chỉ cần làm theo các bước trên để tạo ứng dụng của riêng bạn!
Liên kết đến tệp: https://www.box.com/s/e2461c91e30e0af025e7
Hy vọng nó sẽ giúp được ai vì nó đã giúp tôi :)
Điều này cũng sẽ hoạt động sau khi cửa sổ chính đã được đóng bằng cách nhấp vào nút đóng:
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
Nếu Trình xem bàn phím được mở bằng AppleScript hoặc open -a KeyboardViewer
và cửa sổ chính bị đóng, quá trình vẫn mở và tiếp tục sử dụng khoảng 0-15% CPU. Điều đó không xảy ra khi chọn Hiển thị Trình xem Bàn phím từ menu nhập. Vì vậy, một lựa chọn tốt hơn có thể là nhấp vào mục menu:
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
Cả hai tập lệnh đều yêu cầu quyền truy cập cho các thiết bị trợ giúp được bật trong ngăn tùy chọn trợ năng.
Đây không phải là một phím tắt một nét, mà là một giải pháp "không di chuyển" là Fn+ Ctrl+ F8để đặt tiêu điểm vào các biểu tượng " Menu trạng thái " ở bên phải của thanh menu. ( Mục 4 )
Mũi tên sẽ điều hướng bạn đến biểu tượng Tùy chọn bàn phím và tùy chọn Hiển thị / Ẩn. Khi bạn nhập Fn+ Ctrl+ F8biểu tượng ở phía bên trái xa nhất của biểu tượng "Menu trạng thái" ở nửa bên phải của thanh menu sẽ được tô sáng. Khi nó được chọn, sau đó sử dụng Right Arrow →để điều hướng đến cái bạn muốn. Sử dụng Down Arrow ↓để mở menu và chọn tùy chọn bạn muốn. Lưu ý rằng Optionphím này sẽ cung cấp các tùy chọn menu khác nhau trong một số "menu trạng thái".
Lưu ý, Fn+ Ctrl+ F2sẽ kích hoạt biểu tượng menu Apple ở phía bên tay trái. Từ đó Right Arrow →sẽ cung cấp cho bạn quyền truy cập vào menu Ứng dụng. Các tùy chọn này khả dụng trong Tùy chọn hệ thống >> Bàn phím >> Phím tắt :: Bàn phím:
Tùy thuộc vào cách bạn có các phím chức năng được cấu hình, Fntùy chọn.
Trong macOS Sierra, bạn cũng có thể sử dụng Siri để trợ giúp việc này. Gọi Siri với bất kỳ phím tắt nào bạn chọn từ Tùy chọn hệ thống >> Siri :: Phím tắt, ví dụ Option+Spacebar
... sau đó nói "Bật trình xem bàn phím"
...và Voila:
Thật không may, Siri sẽ không đóng Trình xem bàn phím, cũng sẽ không Command⌘+w
bạn có thể làm mọi thứ bằng Automator:
phần tiếp theo là đóng bàn phím:
chọn "khác" và điều hướng đến tệp KeyboardViewer trong / Hệ thống / Thư viện / Phương thức nhập
Lưu với một tên như "thoát khỏi bàn phím". kiểm tra nó
bây giờ bạn sẽ có hai tệp một để mở, một cho đóng.
tất cả những gì bạn cần là liên kết các nút chuột để khởi chạy hai tệp này!
ví dụ: tôi đang sử dụng Microsoft Bluetooth Notebook Mouse 5000 và nó
làm việc tuyệt vời cho tôi trong 10.9.1
Trình giám sát hoạt động, KeyboardViewer.app khởi chạy từ
Vị trí tìm kiếm: / Hệ thống / Thư viện / Phương thức nhập / KeyboardViewer.app .
Sử dụng bình thường: mở từ Thanh Menu , đóng từ chuột di chuột để xem các nút cửa sổ nơi có thể nhấp vào nút đóng (x) . Để bật bảng Menu Bar , Tùy chọn hệ thống , Bàn phím , tab Bàn phím , chọn Hiển thị Bàn phím và Trình xem biểu tượng cảm xúc trong thanh menu .
Applet KeyboardViewer thể hiện hành vi hạn chế.
Tập lệnh Automator sau đây có thể được lưu dưới dạng một ứng dụng để đóng KeyboardViewer.app bằng một cú nhấp chuột (Activity Monitor cũng hiển thị hoạt động đóng mở này) và nó hoạt động tốt khi được đặt trong Dock.
Máy tự động: Mới , Ứng dụng , Chạy AppleScript , lưu tập lệnh này
-- 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
Thật không may, điều này không thêm một phím tắt. Tuy nhiên, nó cung cấp một cách giải quyết bằng một cú nhấp chuột. Có thể có một số cách để thêm phím tắt bằng Automator. Một kịch bản phím tắt chung trông giống như thế này (nhưng không chắc chắn cách kết hợp).
tell application "System Events"
set application "KeyboardViewer" to keystroke "K" using control down
end tell
(macOS Sierra 10.12.6 trên MP 6,1)