キーボードショートカット – ライオンのSafariのようなアプリでエスケープキーを押したときに全画面を終了しないようにする

fullscreen keyboard-shortcuts osx-lion

OS X Lionでは、ESCキーを押すとフルスクリーンモードが終了します。残念ながら、特にSafariを使っているときは、Javascriptのキーストロークイベント処理などでESCが他の機能に使われています。私は、Lion が escape キーを押したときにフルスクリーンモードを終了するのを望まないのですが、その機能を無効にする場所が見つかりません

フルスクリーンモードでのEnter/exitのキーボードショートカットは既に知っています(CmdCtrlF)。このESCのショートカットを無効にしたいのですが、どうすればいいのでしょうか?ググってみましたが、答えが見つかりません

  52  Fadi  2011-07-27


ベストアンサー

Webブラウザの場合、特に、全画面の閉じを妨げずにStack Exchangeサイトのように、Escapeキーの使用を可能にしたり要求したりする挙動を持つサイトを使用する場合は、以下のユーザースクリプトを使用することができます

// ==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();
}

ブラウザで実行するには、ブラウザ用のユーザースクリプトエンジンを使用してください

  • Safari 5の場合は、Safariの拡張機能NinjaKitGitHub上)を使用することができます。私が使っているのはこれです
  • Chrome では、NinjaKit のバリアントを使用することができます
  • 他のOS X上のSafariであれば、SIMBLのプラグインGreaseKitを使用することができます。最新のものかどうかはわかりませんが

6  Daniel Beck  2012-02-12


OptionEscを試してみてください

4  Michael  2013-01-03


OS Xネイティブのほとんどの状況では、ファイルダイアログ、Safariの読み込み、要素をドラッグするなど、EscapeCmd-.の両方でアボートを受け付けています

そのリストの中で目立って欠落しているのは、もちろんフルスクリーンモードのままである


ですから、この状況を完全に避けるために、Escapeの代わりにCmd-.を押すことを覚えればいいのです。あるいは、あなたのコンピュータに代わりにそれをするように教えることもできます。少なくともある程度まともな解決策は、例えば バトラー のキーストロークの項目を使って EscapeCmd-. にマッピングすることです

  • バトラーの設定ページを開きます
  • 任意のコンテナを選択します。例えば、非表示、クリック+ ” スマートアイテム ” キーストローク
  • Keys タブで Cmd-. を押すと、このアイテムをアクティブにするときに、これをキーストロークとして使用できます
  • トリガータブでホットキー入力フィールドを選択し、Escapeを押します。基本的にあなたが非常識であることを示す警告は無視してください
  • Terminal などを例外リストに追加することを忘れないでください – 全画面表示のままにするための Escape は完全に無視されますが、Ctrl-. を押すと Ctrl-C に変換されます!

いくつかの状況では、物事がうまくいかないことがあります。キーを通常は同等のキーボードショートカットにリマップするのは、スレッジハンマーで解決する方法です。例えば、クイックルックでは Cmd-. (したがって、ファイルプレビューを閉じるためにリマップされた Escape) は扱えません

限定的なテストでは、Cmd-.を押すことで望ましくないアクションが実際に実行されるような状況は見つかりませんでしたが、これらもおそらく存在することに注意してください

3  Daniel Beck  2011-11-22


macOs Sierra以上の場合の答えは見つかりませんでした。そこで、私はこの問題を解決しました

すでに提案されているように、私はESCを⌥ + ESCにリマップしました。これは仕事をし、キーに割り当てられた他のいくつかの機能も動作します。いくつかのサイトではフルスクリーン動画を終了することができますが、ページの読み込みが中断されることはありません

まず、Karabiner-elementsをインストールして、キーをリマップできるようにする必要があります

  1. brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"をインストールします
  2. カスク brew tap caskroom/cask をインストールします
  3. karabiner-elements brew cask install karabiner-elementsをインストールします

この問題に特化したカスタム「コンプレックス改造」を作成しました。この改造をインストールするには

  1. karabiner-elementsを開き、「Complex modifications」タブに移動します
  2. ルールの追加」ボタンをクリックし、「インターネットからより多くのルールをインポート」をクリックします
  3. インポート修正「SafariでESCを押してもフルスクリーンを終了しない」を修正

3  S3RK  2017-09-06


あなたの可能性のある選択肢には、以下のようなものがあります

  1. ESCはOSやブラウザで予約されているため、他の関数の代替ショートカットを設定します

  2. OSとブラウザのESCキーをリバインドするようにソース/アセンブラのマシンコードを調整します

  3. アプリケーション開発者 (Google スプレッドシートなど) に対して、ESC イベントを通さずに ESC イベントを消費するようにするためのバグ/機能リクエストをファイルしてください

  4. アプリが先に来ていて、Appleが原因もなくキーを再利用していたので、Appleにバグをファイルしてください

2  Tamara Wijsman  2011-08-29


もう少し説明に肉付けをしてください

ESC はドラッグのキャンセルに、 esc はダイアログボックスのキャンセルに、 esc はドラッグ中の移動/コピーのキャンセルに、 esc は VI のターミナルで編集コマンドのキャンセルに使用されます

ということで、使い方はたくさんあります。それがctrl-cmd-Fと右上のアイコンで可能なのに、Appleはこのキャンセルフルスクリーンモードを持っているのは奇妙な奇妙さです

これはアプリごとのようですが、メールやSafariなどのiLifeのアイテムはフルスクリーンで終了します。 iTunesはフルスクリーンのままです

Reederはフルウィンドウ制御のためにescを無視して、他のプログラムに適したことをしています。Evernoteにはウィンドウコントロールのためのcmd-Fやctrl-cmd-Fすらありません

キーボードのコントロールパネルの中にある有害ではない無意味なアクションに単独でescをマッピングすることはできないようです

1  AJACs  2011-09-07


JQueryを使っているようですね。その場合は

keyCode 27の文書上でキーダウンイベント(キープレスやキーアップが機能しない)をリッスンし、イベントが発生したらe.preventDefault()を呼び出します

$(document).bind('keydown', function(e) {

if (e.keyCode === 27) { // Escape key
e.preventDefault();
// Other code goes here
}

});

1  Evan Sharp  2012-01-23


これは、@aditya-srinivasanさんがOperaをターゲットにした回答と同じです

<?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>

ダウンロードに関する@aditya-srinivasanの回答を参照してくださいhttps://pqrs.org/osx/karabiner/index.html.en

1  ctrl-alt-dileep  2016-05-09


私は、escalt/option + escにルーティングすることにしました。これで大体の場合、YouTubeのビデオから抜け出せるし、Squarespaceのアカウントを持っていれば、フルスクリーンから抜け出さずにログインできる

  • Karabinerをダウンロードしてインストールします
  • 一番右の「Misc & Uninstall」タブに移動します
  • “Open private.xml “というボタンをクリックしてください
  • こちらからprivate.xmlファイルをダウンロードしてください
  • Finderで元の “private.xml “ファイルをダウンロードしたファイルに置き換えてください。これで完成です

0  Aditya Srinivasan  2014-12-30


BetterTouchToolやKeyboardMaestroなどを使って、Escを⌥ + Escにリマップしてください

0  user2664470  2015-06-23


必死になって解決策を探した結果、私はSafariをMission controlを使って別の仮想デスクトップに委託しました。これはESCの問題を緩和し、フルスクリーンのSafariウィンドウを実現するための最良の方法です

ドックを隠せばボーナススペース

0  Fish Monitor  2015-06-28


EASY、見つけた!2つのアクションを持つKeyboardMaestro

ESC“を押すときは、(代わりに) – “CMD+”を押したと仮定してください。- その後、”ALT+ESC“を押すこともできます

アプリによっては、どちらか一方の順番にしか反応しないものもあるので、両方必要です

0  user2755736  2016-01-14


タイトルとURLをコピーしました