如何仅在Mac上使用键盘进行右键单击?


62

是否可以设置键盘快捷方式或按键来模拟鼠标右键单击但不触摸触控板或鼠标?

例如,假设您在Finder中有一个文件列表。您可以通过使用键盘箭头向上和向下移动选择。当您对选择感到满意时,您可以“按一个按钮”,它的模拟效果就像您在键盘上第二次单击了您先前选择的文件一样。上下文菜单不应在鼠标指针所在的位置打开,否则我必须先将其移至选择上方,这会破坏纯键盘工作流程。

当前在Mac上,所有当前的右键单击选项都需要我触摸触控板或鼠标:

  • 两指单点

  • Ctrl +单击

  • 如果在“触控板设置”中启用,请在触控板的右侧区域中点击。

类似于以下Windows选项键

在此处输入图片说明

Answers:


18

我不知道如何显示使用键盘选择的项目的上下文菜单,就像Windows中的菜单键一样。

要分配键盘快捷方式以对指针的当前坐标进行二次单击,您可以:

  • Karabiner中使用如下private.xml :

    <?xml version="1.0"?>
    <root>
      <item>
        <name>Right Mousebutton</name>
        <identifier>rightMouseButton</identifier>
        <autogen>__KeyToKey__ KeyCode::OPTION_R, PointingButton::RIGHT</autogen>
      </item>
    </root>
    
  • 使用BetterTouchTool

  • 使用键盘大师

  • 下载MouseTools分配一个快捷MouseTools -rightClick


16
在当前鼠标坐标处没有任何意义。应该是当前选择。可以吗?
阿诺德·罗阿

2
@ArnoldRoa同意。有什么方法可以在当前选择位置或光标位置(而不是鼠标位置)上执行此操作?
J Spen

@ArnoldRoa @J运气还不错吗?
道格

9

对于使用鼠标的困难,您可以打开鼠标键:位于“系统偏好设置”>“通用访问”>“鼠标”选项卡中。

声明为“使用键盘代替鼠标”。也有几种选项可以满足您的需求。

Apple对每个OSX版本的支持说明中都有更多信息:


1
我找不到 我的操作系统是10.8.5,那是你的?
preetam

3
从10.8开始,“通用访问”首选项窗格被称为“可访问性”。
Lri 2014年

@Nixx:我只能将键盘用于鼠标指针的导航。但是option钥匙不起作用,这就是我的要求
preetam 2014年

7

如果无法在第一种方法中启用它,请使用第二种方法。

方法1

转到“系统偏好设置”>“辅助功能”,找到“鼠标和触控板”,然后启用“鼠标键”。如果需要,请转到选项菜单并启用“五次按Option键切换鼠标键”。

系统偏好设定

方法2

Option- Command- F5和窗口会弹出。选择“启用鼠标键”。

辅助功能选项

如何使用鼠标键

右击按Fn- - 。Ctrl I有时您可能想关闭鼠标键,因为键盘上的某些键无法正常工作。如果使用外部键盘,则只需找到与功能键等效的功能即可。要在Mac的Windows键盘上映射键,请访问指南。


没有鼠标,使用macbook找不到此选项
preetam

有用!但是它没有用,因为我必须使用Mac的Fn键才能做到这一点。如果我可以随身携带,则意味着我正在使用实际的笔记本电脑,这意味着我可能会使用触控板。在我使用外部键盘的时候,此功能变得很方便。只是我找不到将HP键盘上的Windows-Option键映射到Fn键的方法。
kumetix '16

@preetam-您使用什么版本?
abc

1
如果没有数字键盘,“ Mousekeys”(鼠标键)下无法使用的“某些键”为7、8、9,U,O,J,K,L,这可能是个问题……
Tom Gewecke

@TomGewecke我知道,这就是为什么我展示了如何快速激活和禁用鼠标键的原因/
abc

3

您可以通过系统偏好设置->键盘->快捷方式->键盘来访问一些内置功能(对不起,我安装了德语OS X,所以这是我的粗略翻译)。

在这里,您可以找到一个名为“关注菜单栏”的键盘快捷方式(我的快捷方式设置为CTRL- F2

激活它,选择文件并按下快捷键,然后将键盘焦点放在菜单栏上。使用光标键导航到“服务”菜单,选择服务,然后单击Enter

瞧,服务在所选文件上执行


2

这是使用Automator和Python的解决方案。它比真正的鼠标要慢一些(约0.5秒的延迟),但是它可以工作并且不需要第三方软件。


打开Automator并创建一个新服务:

自动服务菜单


选择服务接收no inputany application

搜索“外壳”并将“运行外壳脚本”操作拖到情节提要中:

故事板


将以下代码粘贴到“ 运行Shell脚本”操作中:

from Quartz.CoreGraphics import CGEventCreateMouseEvent, kCGMouseButtonRight, CGEventPost, kCGHIDEventTap, CGEventCreate, kCGEventRightMouseDown, kCGEventRightMouseUp, CGEventGetLocation

def mouseEvent(type, posx, posy):
          theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonRight)
          CGEventPost(kCGHIDEventTap, theEvent)

event = CGEventCreate(None)
position = CGEventGetLocation(event)
mouseEvent(kCGEventRightMouseDown, int(position.x), int(position.y))
mouseEvent(kCGEventRightMouseUp, int(position.x), int(position.y))

保存服务(cmd + s)。使用描述性名称,例如“执行右键单击”。


转到System Preferences → Keyboard → Shortcuts → Services

服务菜单

查找您的服务(它应该在列表的底部附近)并分配键盘快捷键。

现在,您应该可以使用快捷方式执行右键单击了。


4
该解决方案的问题是单击恰好发生在鼠标所在的位置。因此,如果您使用箭头键滚动项目(如桌面图标所示),然后使用快捷方式,则弹出窗口将不会显示图标属性,而是您的鼠标当前所在项目的属性……
Manfredo

0

我在High Sierra 10.13.2上。无法安装Karabiner,Keyboard Maestro仅提供给定位置的单击(没有尝试找到光标点并进行引用)。安装Shortcat和似乎罚款,到目前为止,还Vimium是超级有用,但只有在浏览器上运行。


我什至没有尝试过,因为安装一些第三方工具看起来很奇怪,而苹果公司却没有提供这种简单的工具。
preetam '18 -10-30

-2

跳至链接或项目,然后按回车键或空格键选择并激活,然后按回车键。 在此处输入图片说明


1
它可以选择/激活,但不能进行“右键单击”。
preetam '16

我明白你的意思了。终身Mac用户面临的挑战是知道如何在没有最终目标更多信息的情况下回答此问题。有一个问题我的时候我喜欢的事情使用Windows的是,几乎所有有键盘快捷键或使用键盘来执行的操作的方式。您想通过右键单击执行的命令是什么?
2017年

-3

在Mojave中,只需用两根手指单击触控板即可产生右键单击效果,例如对文本上的红色波浪线字进行拼写检查以纠正拼写。


1
该问题的目标是仅因为鼠标或触控板太慢而使用键盘(对于我们中的某些人过去习惯于快速键入)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.