題:
如何為我編寫的AppleScript分配鍵盤快捷鍵?
Tom
2015-03-03 23:31:28 UTC
view on stackexchange narkive permalink

如何為AppleScript分配鍵盤快捷鍵?我找到了一個腳本,可以自動返回到Office 2011中的收件箱。

如[此答案](http://apple.stackexchange.com/questions/175215/how-do-i-assign-a-keyboard-shortcut-to-an-applescript-i-wrote/276839?= 1#answer-276839)通過服務分配的鍵盤快捷方式並不總是一致的。
六 答案:
MegaCookie
2016-07-25 17:40:54 UTC
view on stackexchange narkive permalink

沒有付費的第三方應用程序也是可能的!
1.打開Automator。
2.進行新的快速操作。
3.確保它在所有程序中都收到“無輸入”。
4.選擇“運行Apple腳本”,然後輸入您的代碼。
5.保存!

現在轉到系統偏好設置>鍵盤>快捷方式。從邊欄中選擇服務,然後找到您的服務。通過雙擊(無)添加快捷方式。

最後,進入“系統偏好設置”>“安全性”>“隱私”>“可訪問性”,並添加Automator和首選應用程序以運行快捷方式。

最後的“最後”很重要–錯過它,您會得到一個令人困惑的“操作遇到錯誤”對話框,只是為您提供Show Workflow,可能不會使您變得更明智。
解決了問題,最後一步在我的操作系統上有所不同http://mizage.com/help/accessibility.html#10.7
您首選的應用程式是什麼意思?
如果有一種方法可以自動化“現在”進入“系統偏好設置”>“鍵盤”>“快捷方式。從側邊欄中選擇“服務”並找到您的服務。雙擊(無)來添加快捷方式。”可能,不知道如何...
@William就像您在Finder中為其編寫了AppleScript一樣,只需在“輔助功能”設置中選擇“自動器”和“查找器”即可。
我正在嘗試分配F1,F2等來啟動應用程序,並且此方法“幾乎”有效。由於某種原因,在啟動新應用程序時,直到我第一次完成cmd + F1時才註冊F鍵快捷方式。就像服務沒有加載。有任何想法嗎?
對於MacOS 10.13(“高Sierra”)用戶:在“安全和隱私”下找到“可訪問性”
對於某些版本的MacOS(例如,我的10.13.6“ High Sierra”),如果桌面或Finder處於焦點狀態,則熱鍵不起作用,但是當其他任何應用程序處於焦點時,該熱鍵均起作用。好吧,這是可以接受的,因為MacOS總是充滿許多錯誤,這些錯誤大部分不會影響正常使用。
我收到了一個要求,將[我的答案](https://apple.stackexchange.com/a/375627/123184)的鏈接留給[相關問題](https://apple.stackexchange.com/questions)/ 262098 /)。它涉及在Automator中使用AppleScript重新定位/調整應用程序窗口的大小。
Monomeeth
2017-03-20 04:07:55 UTC
view on stackexchange narkive permalink

摘要,您將需要使用:

  • 自動創建運行Apple腳本的服務
  • 系統偏好設置,為該服務分配鍵盤快捷鍵

以下是每個步驟所涉及的步驟。

1。使用Automator創建服務

  1. 啟動自動化器(通常在“應用程序”文件夾中找到)
  2. 轉到文件>新建
  3. 選擇服務,然後單擊選擇
  4. 在出現的窗口的右上角,確保從服務接收下拉列表中選擇“無輸入”
  5. 確保 In 下拉列表中顯示“任何應用程序”
  6. 在包含長列表的第二列中,找到“運行AppleScript”並雙擊它。
  7. 這將在右側添加“運行AppleScript”窗口
  8. 現在,replace((*您的腳本在這裡*)帶有您想要的腳本
  9. 使用有意義的名稱(例如GoToInbox)保存服務。
  10. ol>

    現在進入下一步。

    2。創建快捷方式

    1. 轉到系統偏好設置>鍵盤>快捷方式
    2. 從側邊欄中選擇服務
    3. 找到您的服務(它將在右側的列表中)
    4. 通過雙擊服務名稱來添加快捷方式
    5. 現在轉到系統偏好設置>安全性&隱私>隱私
    6. 在側邊欄中選擇可訪問性
    7. 單擊+號(如果鎖已鎖定,則可能需要解鎖)
    8. 添加Automator。
    9. 添加查找器(要找到此查找器,您將需要導航到 /System/Library/CoreServices/Finder.app )。
    10. 退出系統偏好設置。
    11. ol>

      N現在您應該能夠做兩件事:

      1.轉到任何應用程序菜單(例如Finder>服務,Safari>服務,TextEdit>服務等)中的“服務”列表,從 any 應用程序運行該服務,然後選擇您要使用的服務剛剛創建。

      2.使用鍵盤快捷鍵運行服務。

      NOTE:我知道,對於某些用戶,即使將快捷鍵分配給了某項服務,它們的快捷鍵也似乎不起作用。這是另一個主題,但是如果您遇到這種情況,則至少可以從正在使用的任何應用程序中運行服務。

      讓我知道你的生活。

為什麼我必須手動添加finder,並且一般無法在哪些應用程序上運行?似乎有時我必須在服務下運行腳本才能進行註冊,然後才能註冊鍵盤快捷鍵,這是一個遺憾。
是的,我在_Note_最後提到的問題通常(但並非總是)可以通過在識別鍵盤快捷方式之前先運行服務(有時僅訪問“服務”菜單就足夠了)來解決。這是一個非常煩人的錯誤,已經存在了很長時間,我當然建議您[將錯誤報告發送給Apple](http://www.apple.com/feedback/macos.html)。至於為什麼必須_manually_添加Finder的原因,僅僅是因為默認情況下未添加。最後,我不明白您的意思是_什麼應用程序在general_上不起作用?
忽略了有關該應用程序在某些應用程序中無法運行的問題。一旦在“服務”菜單下糾正了此問題,似乎正在運行腳本,並且您的解釋說明了我遇到的問題。為什麼我必須在“輔助功能”列表下添加Automator Finder,它在運行命令時似乎沒有什麼不同(這是我的基本問題)?
好問題!如果您不需要上面創建快捷方式的第5步到第9步,那就太好了。但是,我已經幫助很多人創建了用於運行自定義腳本的鍵盤快捷鍵,並且發現包括這些步驟通常可以避免出現錯誤消息(不記得現在是什麼或在什麼情況下會出現)。也許我不應該默認包含這些步驟,但這就是我已經做了很多年了(儘管具體步驟會因您的macOS版本而有所不同-上面我根據您的要求包括了El Capitan的步驟)賞金)。
步驟5至9對於分配快捷方式應該是完全不必要的,儘管如果使用_UI Automation_功能(模擬的鼠標單擊和按鍵)來使觸發的腳本平穩運行,則可能需要它們。但是,最後一種情況完全是另一個問題。您不應通過在回答中包含以下步驟來混淆兩個問題。
@kopischke嗯,謝謝!您可能剛剛了解了_why_有時而不是其他時候需要執行步驟5-9。我會在以後的測試中牢記這一點,並將在必要時更新此答案(和其他答案)。:)
至少在MacOS 10.14.6中,必須控制每個* other *應用程序,然後才能控制您的瀏覽器。
FWIW僅在我選擇包含Command(Apple)鍵的快捷鍵組合時對我有用。有一些有關此錯誤的報告:https://apple.stackexchange.com/questions/260683/keyboard-shortcut-for-service-only-works-after-i-manually-run-the-service
kopischke
2015-03-04 02:58:05 UTC
view on stackexchange narkive permalink

您不能直接為AppleScripts分配鍵盤快捷鍵。但是,您可以:

  1. 使用支持設置全局熱鍵和執行AppleScript的啟動器( Alfred Keyboard Maestro FastScripts-隨便您怎麼看),或者
  2. 將腳本放入 Automator服務中的 Run AppleScript 操作中。請注意,它必須是服務,而不是應用程序或普通的工作流程:可以在“系統偏好設置”鍵盤設置中為服務分配熱鍵。
  3. ol>
只需按照[@MegaCookie的答案](http://apple.stackexchange.com/a/247183/11948)中的步驟進行即可。
您擁有什麼操作系統版本,我的10.6.5 Mac似乎沒有“選擇運行Apple腳本並鍵入代碼”選項?
正如我的回答所述,它不是“選擇運行AppleScript”,而是您需要添加到Automator服務中的_Run AppleScript_操作;只需將其從庫中拖到操作區域中,這將為您提供一個帶有功能支架的文本字段,您可以在其中添加代碼。另外,我懷疑是否需要@MegaCookie答案中的輔助功能設置-這些設置與UI自動化有關。
在測試了該協議棧中提出的幾乎所有〜解決方案之後,這就是我學到的。Automator執行腳本非常慢。不管是Python腳本還是Shell腳本都沒關係。它們都需要1-3秒才能在Mac上運行(腳本模擬了在屏幕上的點擊)。我測試了FastScripts,並遇到了相同的問題,比Automator更快,但仍然很慢(1-2秒)。無法測試Alfred,因為它是一項付費功能。但是,我確實測試了Keyboard Maestro,而且速度很快。沒有明顯的延遲!最好的解決方案。
spencer.sm
2018-12-30 02:02:03 UTC
view on stackexchange narkive permalink

注意:在macOS Mojave中,它已在Automator中從“服務”重命名為“快速操作”。

  1. cmd kbd> + space kbd>並鍵入“ automator”
  2. 選擇:文件>新建
  3. 選擇“快速操作”
  4. 在左側部分的頂部搜索“ applescript”或“ shellscript”或“ javascript”
  5. 將所需操作拖到右側工作流程
  6. 文件>使用所需名稱保存
  7. ol>

    要將擊鍵添加到您的工作流程中:

    1. 打開系統偏好設置
    2. 選擇鍵盤>快捷方式
    3. 選擇左側的服務
    4. 找到新創建的服務,然後雙擊“無”以添加鍵盤快捷鍵
    5. ol>
注意:如果您不將其設置為快速操作(例如,將其設置為“工作流程”),則“快捷方式”列表將不會檢測到它。
我做的!它仍然無法檢測到鍵盤快捷鍵。我需要在自動化器中手動運行快速操作!
John T.
2019-12-11 01:28:32 UTC
view on stackexchange narkive permalink

只需重申一個非常重要的觀點,即@MegaCookie在帖子中首先指出的:

在創建模擬鼠標或鍵盤活動的腳本時,不僅必須將Automator添加,而且還必須將每個以及每個您希望在其中使用腳本的應用程序添加到系統偏好設置>安全>隱私> Accessibility應用程序列表。

這是違反直覺的,因為您實際上並不希望那些應用程序控制計算機,但這正是Apple所需要的。否則,您會收到這樣的彈出窗口(根據您要執行的操作而有所不同):

“運行AppleScript”操作遇到錯誤:“系統事件出錯:com.automator.runner.xpc不允許發送擊鍵。”

在彈出窗口中單擊Show Workflow只會打開一個Finder窗口,指向腳本的位置。 OK關閉彈出窗口。

這可能不一定總是必須的,但我在macOS 10.15(Catalina)中發現了必要。

作為需要時的示例,我創建了一個腳本來模擬粘貼剪貼板,方法是簡單地將剪貼板的內容“鍵入”到不接受粘貼操作的應用程序中。

就我而言,這是VMware的vCenter在查看ESXi主機上的VM時提供的遠程控制台。我需要添加用於查看vCenter的瀏覽器,在我的情況下為Chrome。絕對是安全風險,恕我直言。

是的,這很爛:(
Arecibo
2015-03-04 00:46:35 UTC
view on stackexchange narkive permalink

您可以轉到系統偏好設置->鍵盤->快捷方式->添加新的快捷方式。然後,您可以選擇腳本。

https://support.apple.com/kb/PH18418?locale=zh_CN

那行不通。您要鏈接的文檔描述瞭如何將熱鍵分配給應用程序的菜單命令。
鏈接斷開,蘋果很早就禁用了此一鍵式功能,取而代之的是涉及第三方應用程序的90次單擊操作。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...