在OS X Lion中,按键将ESC退出全屏模式。不幸的是,尤其是在使用Safari时,ESC它被用于其他功能,例如Javascript按键事件处理。我不希望Lion在按Escape键时退出全屏模式,但是我找不到禁用该功能的地方。
我已经知道了键盘快捷键进入/退出全屏模式(Cmd- - )。Ctrl F我想禁用ESC快捷方式。我一直在谷歌搜索,但找不到任何答案。
在OS X Lion中,按键将ESC退出全屏模式。不幸的是,尤其是在使用Safari时,ESC它被用于其他功能,例如Javascript按键事件处理。我不希望Lion在按Escape键时退出全屏模式,但是我找不到禁用该功能的地方。
我已经知道了键盘快捷键进入/退出全屏模式(Cmd- - )。Ctrl F我想禁用ESC快捷方式。我一直在谷歌搜索,但找不到任何答案。
Answers:
对于Web浏览器,并且专门用于具有允许或要求使用Escape
键的行为而又不阻止全屏关闭的行为的网站(例如Stack Exchange网站),可以使用以下用户脚本:
// ==UserScript==
// @name Keep Full Screen
// @namespace http://superuser.com/q/315949
// @description Prevents Escape key from leaving full screen.
// @include http://*
// ==/UserScript==
document.onkeydown = function (evt) {
if (evt.keyCode == 27) evt.preventDefault();
}
要在浏览器中运行此程序,请为您的浏览器使用任何用户脚本引擎。
OS X固有的大多数情况都接受Escape
并Cmd-.
中止,例如文件对话框,Safari加载,四处拖动元素等。
当然,该列表中显然没有出现的全屏模式。
因此,您可以学习按压,Cmd-.
而不是Escape
完全避免这种情况。或者,您可以教您的计算机为您做到这一点:至少有些理智的解决方案是使用例如Butler的Keystrokes项映射Escape
到Cmd-.
:
Cmd-.
以在激活此项目时将其用作结果按键Escape
。忽略基本上表明您疯了的警告。Escape
了全屏显示,但是按Ctrl-.
转换为Ctrl-C
!在某些情况下,事情会发生错误。将键重新映射为通常等效的键盘快捷键是大锤解决方案。例如,“ 快速查找”不起作用Cmd-.
(因此重新映射Escape
以关闭文件预览);使用不能再中止Finder中的重命名文件,也不能Escape
清除Finder中的选择。
在有限的测试中,我发现没有任何情况Cmd-.
实际上会导致按下操作导致执行不良操作,但请注意,这些操作也可能存在。
您可能的选择包括:
设置其他功能的替代快捷方式,因为这ESC是操作系统和浏览器保留的。
调整源代码/汇编程序机器码以重新绑定ESC操作系统和浏览器的键。
向应用程序开发人员(即Google电子表格)提交错误/功能请求,以使用ESC事件而不是让其通过。
向Apple提交错误,因为这些应用程序首先出现在这里,并且Apple无故重新利用了密钥。
Escape
通常在菜单栏中不可用,并且Escape
不会触发菜单项,这从缺少突出显示包含触发项的菜单栏项的“闪光灯”中可以明显看出。
我没有找到macOs Sierra和更高版本的答案。所以这就是我解决这个问题的方式。
正如已经建议的那样,我已将ESC重新映射为⌥+ ESC。它可以完成工作,甚至还可以为按键分配一些其他功能。您可以在某些网站上退出全屏视频,但不会中止页面加载。
首先,您需要安装Karabiner-elements才能重新映射键
/usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap caskroom/cask
brew cask install karabiner-elements
我专门针对此问题创建了自定义“复杂修改”。要安装此修改,您必须:
只是为了使描述更加充实。
ESC用于取消拖动,esc用于取消对话框,esc用于拖动时取消移动/复制,esc用于VI中的终端取消编辑命令
因此,有许多用途。奇怪的是,Apple通过ctrl-cmd-F和右上方的图标可以取消全屏模式。
这似乎是在逐个应用程序的基础上进行的。Mail和Safari和其他iLife项目将退出全屏显示。iTunes保持全屏。
Reeder出于全窗口控制的目的而忽略esc,并对该程序进行其他适当的操作。Evernote甚至没有用于窗口控制的cmd-F或ctrl-cmd-F,其图标和esc键也没有。
您似乎无法将esc本身映射到键盘控制面板中的一些无害的废话动作。
Escape
取消对话框不会退出全屏。
Escape
终端不会退出全屏。
Escape
取消拖动不会退出全屏。在发布这些声明之前,您是否尝试过?
Escape
在Reeder中使用例如从文章网页返回RSS项不会退出全屏显示。如果Escape
未用于此类操作,则退出全屏显示。和其他所有程序一样。
看起来您正在使用JQuery。在这种情况下:
使用keyCode 27监听文档上的keydown事件(keypress和keyup无效),并在事件触发时调用e.preventDefault()。
$(document).bind('keydown', function(e) {
if (e.keyCode === 27) { // Escape key
e.preventDefault();
// Other code goes here
}
});
这与以Opera为目标的@ aditya-srinivasan答案相同
<?xml version="1.0"?>
<root>
<item>
<!-- ============================================================ -->
<appdef>
<appname>OPERA</appname>
<equal>com.operasoftware.Opera</equal>
</appdef>
<name>Escape to Option + Escape on Opera</name>
<identifier>private.Opera_escape</identifier>
<only>OPERA</only>
<autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::ESCAPE, ModifierFlag::OPTION_L</autogen>
</item>
<!-- ============================================================ -->
</root>
在下载的https://pqrs.org/osx/karabiner/index.html.en上查看@ aditya-srinivasan答案
我决定esc转到alt/option+ esc。在大多数情况下,这使我脱离了YouTube视频,如果您拥有Squarespace帐户,则可以登录而不会脱离全屏显示。
Esc
地方有不同的效果(例如,终止执行页面加载)不会退出全屏。