将任何操作转换为mac上的键盘快捷键

Mac有一些很棒的内置键盘快捷键,但是如果你想创建自定义或全局快捷键来执行更复杂的任务,你需要做一些额外的腿部工作。下面介绍如何将几乎所有的操作转换为键盘快捷键。...

Image for article titled Turn Any Action Into a Keyboard Shortcut on Your Mac

Mac有一些很棒的内置键盘快捷键,但是如果你想创建自定义或全局快捷键来执行更复杂的任务,你需要做一些额外的腿部工作。下面介绍如何将几乎所有的操作转换为键盘快捷键。

德克兰·杰威尔摄。

我们已经向您展示了如何使用我们最喜欢的Windows脚本工具AutoHotkey将任何操作转换为Windows上的键盘快捷键。事实上,我们希望它在OSX上是可用的,但它不是。在OSX上,我们不能用AutoHotkey做所有我们能做的事情,但是我们可以用OSX的内置脚本语言AppleScript做得很好。

在本指南中,我们将首先向您展示如何保存脚本并将其用作Quicksilver中的触发器(如果您没有它,您将希望现在就下载它—它确实是一个非常棒的软件)。然后,我们将介绍一些脚本模板,这些模板将演示使用AppleScript模拟其他键盘快捷键、使某些快捷键全局化或执行更复杂操作的一些方法。

听到“脚本语言”这几个字,吓得发抖?别惊慌!AppleScript非常易于使用;一旦你学会了一些基本的命令,就像说英语一样。此外,我们将在这里介绍的脚本类型非常简单(只有几行代码),因此即使没有任何编码经验的人也应该能够很快理解。

如何在quicksilver中分配触发器

虽然Quicksilver主要用作快速应用程序启动程序,但它可以做很多不同的事情。其中之一就是指定所谓的“触发器”——基本上是键盘快捷键或热键的一个花哨术语。它有许多内置触发器,可以启动应用程序、控制iTunes或执行其他操作,但在本文中,我们主要使用这些触发器来运行自定义脚本。

为了让这一切正常工作,你需要把你的脚本保存在一个安全的地方。如果您还没有脚本专用文件夹,我强烈建议您创建一个。我只是在我的文档文件夹中有一个名为“Scripts”的文件夹,在这个文件夹中,我转储了几乎所有没有位置的脚本,不管是GeekTool的脚本、登录项,还是类似的东西,我都会将它们导入Quicksilver。

编写脚本并将其保存到新主页后,打开Quicksilver并进入其首选项(您可能需要点击其显示右上角的箭头,因为它可能没有停靠图标)。转到触发器选项卡。您的大多数快捷方式将落在左侧的自定义触发器标题下。点击加号并选择热键以添加新的快捷方式。

然后会出现一个窗口提示您描述快捷方式的作用。在所有这些示例中,我们只是在运行一个脚本,所以只需在顶部框中键入刚刚编写的脚本的名称(标记为“selectanitem”)。默认情况下,Action框应该说“Run”,所以一旦在“selectanitem”框中找到了正确的脚本,只需点击Save。你会看到它出现在触发器列表中。

要为该脚本分配热键,请单击该脚本条目最右侧的部分,其中当前显示“无”。在弹出的新窗格中,点击设置选项卡并单击显示“热键”的框。键入所需的键盘快捷键(确保它还没有被其他人使用),然后退出Quicksilver的首选项。现在,您应该可以使用所需的快捷方式运行脚本。

我最喜欢使用此功能的是将操作分配给键盘上最上面一行的键。如果您对苹果提供的选项不满意,您可以通过进入“系统首选项>键盘”并选中“将所有F1、F2等键用作标准功能键”,使它们始终充当常规功能键。这样,我就可以将某些我不使用的功能键(比如触发仪表板的F4)重新分配给一些有用的功能键(比如让我的电脑进入睡眠状态)。这些快捷方式对于为非Mac键盘上的功能键分配常规操作(如控制iTunes、启动Exposé或更改音量)也非常有用,因为OSX不会像对待苹果键盘那样对待它们。当然,你可以指定任何动作,任何快捷方式,这就是定制的意义所在!

有用脚本的示例

虽然AppleScript可以做很多事情,但是有一些常见的操作可以在Quicksilver中触发。您可以使用它来模拟其他键盘快捷键,使现有的快捷键成为全局快捷键,或者只需一两次击键就可以执行更复杂的任务。下面是一些示例脚本,可以作为您自己操作的模板。

模拟现有的键盘快捷方式

OSX的一些键盘快捷键对短指用户不太友好(Control+Command+Option+Eject?说真的?)。此外,如果这是你需要经常跑的捷径,你可能不想日复一日地拉伸和敲击多个键。幸运的是,我们只需编写一个小脚本,为我们按下这些键,并将其分配给我们自己的一个更简单的热键。

Image for article titled Turn Any Action Into a Keyboard Shortcut on Your Mac

由于我在Lifehacker工作时需要拍摄大量屏幕截图,所以我将基于Windows的键盘上的“打印屏幕”(又名F15)按钮改为我的Hackintosh上的“快速屏幕截图”键。既然已经有了截图的快捷键(Shift+Command+4),我们可以通过下面的脚本告诉OSX为我们按下这些键:

tell application "System Events" key code 21 using {shift down, command down} end tell

系统事件是用来处理诸如击键之类的事情的,键代码21表示“4”键。有时,您只需键入所需的键(请参阅下面一节中的mini player脚本),但有些键需要您使用它们的代码。请在此处查看完整的密钥代码列表,或下载完整的密钥代码以自己查找它们。你也可以在他们的网站上找到苹果现有的键盘快捷键的完整列表。

将特定于应用程序的快捷方式转换为全局快捷方式

有些应用程序有很好的内置快捷方式,但不适用于全球意味着应用程序必须在焦点,你才能使用快捷方式。这对于很多应用程序来说都不太理想,比如音乐播放器,所以我们要通过编写一个简短的脚本来实现这些快捷方式的全局性,无论哪个窗口有焦点,它都会为我们执行。

Image for article titled Turn Any Action Into a Keyboard Shortcut on Your Mac

一个很好的例子是如果你使用的是iTunes以外的音乐播放器。iTunes劫持了Mac的播放和暂停按钮,所以在之前提到的Clementine这样的应用程序中,没有任何好的全局键盘快捷键可以播放、暂停或跳过曲目。因此,我们将使用AppleScript调用其菜单选项,使用以下脚本:

tell application "System Events" tell application "Clementine" to activate tell process "Clementine" to click menu item "Previous Track" of menu "Music" of menu bar 1 end tell

由于菜单栏选项只有在Clementine是活动窗口时才可用,因此我们首先必须告诉osx使用activate命令来聚焦它。然后,我们只需从Clementine中选择要分配给快捷方式的菜单栏项。在这种情况下,“音乐”菜单中的“上一首曲目”项。

由于Clementine将Play/Pause快捷方式标记为Play或Pause,这取决于音乐是否正在播放,因此上述方法不起作用(因为脚本只能告诉它选择“Play”或“Pause”菜单项)。相反,我们将使用Clementine的内置非全局键盘快捷键来激活Play/Pause功能。因此,我们不会告诉它选择一个特定的菜单项,而是告诉OSX聚焦Clementine并点击F6,这是播放/暂停的快捷方式:

tell application "System Events" tell application "Clementine" to activate tell process "Clementine" to key code 97 end tell

为了彻底起见,这里有一个类似的脚本,我用它在iTunes的迷你播放器和全播放器版本之间快速切换。它专注于iTunes并调用其内置快捷键Shift+Command+M:

tell application "System Events" tell application "iTunes" to activate keystroke "m" using {shift down, command down} end tell

注意,由于“m”实际上是由AppleScript识别的,所以我不需要找到它的键代码。因此,我用来模拟击键的命令是击键,而不是我们在上面两个示例中使用的键代码。

通过按键启动、聚焦或退出应用程序

上面使用的activate命令有两个作用:一个是在应用程序打开时聚焦,另一个是在应用程序未打开时启动。因此,如果你有经常打开和关闭的应用程序,我们可以通过创建一个简单的AppleScript为它们提供一个全局键盘快捷键:

tell application "Address Book" to activate

虽然你可以使用Quicksilver内置的“open”功能来启动一个带有触发器的应用程序,但它做的更多。例如,您的快捷键不仅会打开应用程序,如果应用程序已经运行,它还会对其进行聚焦或取消动画化,因此您在键盘上只有一个地方可以访问特定的应用程序。

不过,当您将此命令与其他任务(如启动应用程序并快速关闭应用程序)结合使用时,此命令会更加有用。例如,我没有在我的电脑上使用机场卡;我用的是USB Wi-FI接收器。那很好,不过如果我想连接到Wi-Fi网络,我需要启动它的驱动程序应用程序。我不需要一直开着它,你只要启动它一次就可以激活驱动程序,然后退出。所以,我创建了这个脚本来启动它,等待几秒钟让它注册,然后退出。它适用于快速键盘快捷键或登录项。

tell application "ASUSTek WLAN Client Utility" to activate delay 5 tell application "ASUSTek WLAN Client Utility" to quit Image for article titled Turn Any Action Into a Keyboard Shortcut on Your Mac

AppleScript在这个场景中的另一个很好的用途是启动一个nagware应用程序,然后为您点击“Demo”按钮,这样您就不必这样做了。例如,前面提到的TextExpander在启动时会显示一个恼人的窗口,让你在开始使用应用程序之前点击“演示”按钮。要绕过此问题,只需使用以下AppleScript:

tell application "System Events" tell application "TextExpander" to activate key code 48 key code 48 key code 48 key code 48 key code 49 keystroke "w" using command down end tell

这将点击Tab四次以导航到Demo按钮,点击Space以选择它,然后关闭窗口。请注意,您需要将选项卡设置为在System Preferences>Keyboard下导航“All Controls”,这样才能工作。

有些应用程序需要你等几秒钟才能让你点击演示按钮。在这些情况下,您只需添加一行,等待必要的秒数。例如,对于前面提到的使您等待3秒的Divvy,请使用以下脚本:

tell application "System Events" tell application "Divvy" to activate delay 4 key code 48 key code 48 key code 48 key code 49 end tell

通过将这些脚本分配给热键,您将不再需要自己单击演示按钮!

为当前没有快捷方式的函数指定快捷方式

最后一个也是最复杂的函数是将快捷方式分配给当前没有快捷方式的操作(或者具有无法用上述方法模拟的快捷方式的操作)。例如我想通过按键使我的电脑进入睡眠状态,但快捷方式是Option+Command+Eject。这不是一个好的快捷方式,但是弹出键没有键代码,所以我们不能使用上面的方法来模拟它并将其分配给一个更简单的热键。相反,我们需要创建一个AppleScript来直接休眠计算机:

tell application "Finder" to sleep

这种方法需要更多的AppleScripting知识(或者一些不错的Google-fu,我通过用applescript搜索sleep computer找到了这个方法),但值得一提的是,仅仅自动化简单的任务并不能减少它。


如果您想学习这些代码,可以使用AppleScript做很多工作,但是即使您不想,学习一些有用的命令也非常容易,这些命令可以让您走得更远。如果到目前为止您对OSX的键盘快捷键支持还不满意,那么这个方法应该会为您提供很多选择。有你自己喜欢的OSX自定义快捷方式吗?在评论中与我们分享。

  • 发表于 2021-07-25 07:35
  • 阅读 ( 192 )
  • 分类:互联网

你可能感兴趣的文章

回答了20个常见的macos操作问题

...项,但仅当您按住选项键时。Option+Command+C是相应的键盘快捷键。 ...

  • 发布于 2021-03-12 04:30
  • 阅读 ( 264 )

10个免费应用修复常见的mac怪癖和烦恼

...过右键单击菜单下的服务访问听写器的功能。要使用键盘快捷键加快速度,请转到“系统首选项”>“键盘”>“快捷键”>“服务”>“文本”>“听写”。 ...

  • 发布于 2021-03-12 08:52
  • 阅读 ( 300 )

你可以在你的windows pc上获得10个很棒的mac功能

... 最好的解决方案是什么?学习Windows键盘快捷键。一旦你选择了一个文件,按F2来重命名它。也可以使用AHK在Windows资源管理器中按下Enter键来触发按F2键,但这似乎比它的价值更麻烦。 ...

  • 发布于 2021-03-15 10:58
  • 阅读 ( 243 )

下面是你可以用mac语音控制做的

...项?确保已在“系统首选项”>“键盘”>“快捷键”>“服务”>“文本”下启用它。 ...

  • 发布于 2021-03-17 01:23
  • 阅读 ( 328 )

如何重新映射mac的功能键并执行任何您想要的操作

...为此,请访问“系统首选项”>“键盘”>“快捷键”。这与在macOS上自定义快捷键的位置相同。 ...

  • 发布于 2021-03-20 11:03
  • 阅读 ( 244 )

4种方法bettertouchtool是终极mac生产力应用程序

... 1自定义键盘快捷键和触控板手势 ...

  • 发布于 2021-03-23 22:38
  • 阅读 ( 592 )

适用于新macos用户的10个简单mac例程

...,然后右键单击并选择“粘贴”。使用Cmd+C(复制)键盘快捷键可以更轻松地执行此操作。然后可以使用Cmd+V(粘贴)粘贴剪贴板内容。 ...

  • 发布于 2021-03-26 00:11
  • 阅读 ( 269 )

如何在windows和mac上拍摄android屏幕截图

...诉你有一种方法可以捕获一个屏幕截图,然后用一个键盘快捷键保存到你的PC或Mac上呢?这完全可以通过Android调试桥(ADB)工具实现。 ...

  • 发布于 2021-03-30 02:51
  • 阅读 ( 228 )

如何恢复photoshop旧的免费转换控件

...入“编辑>自由变换”(Edit>Free Transform)或使用键盘快捷键Control+T(Mac上的Command+T)来访问该层。这将显示一个包含八个控制柄的框,该框围绕着层或对象。 以下是自由变换的工作原理:要重塑或调整对象的大小,只需单...

  • 发布于 2021-04-01 08:04
  • 阅读 ( 115 )

如何为任何mac应用程序创建自定义键盘快捷键

因为你在Mac应用程序中经常使用的命令没有快捷键而感到沮丧?您可以在系统首选项中创建一个! 首先,单击左上角的Apple图标,然后选择“系统首选项” 在“系统首选项”中,单击“键盘”,然后单击“快捷键”选项卡。 ...

  • 发布于 2021-04-01 20:14
  • 阅读 ( 169 )
Tuo136233792
Tuo136233792

0 篇文章

相关推荐