web-dev-qa-db-ja.com

ライオンのサファリのようなアプリでエスケープを押したときに全画面を終了しないでください

OS X Lionでは、 ESC キーは全画面モードを終了します。残念ながら、特にSafariを使用している場合は、 ESC JavaScriptキーストロークイベント処理など、他の機能に使用されます。エスケープを押したときにLionが全画面モードを終了しないようにしたいのですが、その機能を無効にする場所が見つかりません。

全画面モードを開始/終了するためのキーボードショートカットはすでに知っています(Cmd-Ctrl-F)。無効にしたい ESC ショートカット。私はググリングしてきましたが、答えを見つけることができません。

48
Fadi

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

これをブラウザーで実行するには、ブラウザーの任意のユーザースクリプトエンジンを使用します。

  • Safari 5の場合、Safari拡張機能 NinjaKit (on GitHub )を使用できます。これは私が使用するものです。
  • Chromeでは、その NinjaKit バリアントを使用できます。
  • OS X上のその他のSafariでは、SIMBLプラグイン GreaseKit を使用できます。それがどれほど最新かはわかりません。
6
Daniel Beck

OS Xにネイティブなほとんどの状況では、EscapeCmd-.の両方を受け入れて中止します。ファイルダイアログ、Safariの読み込み、要素のドラッグなど.

もちろん、そのリストには特にないフルスクリーンモードを残しています。


そのため、Escapeの代わりにCmd-.を押して、この状況を完全に回避することを学ぶことができます。または、コンピュータにそれを実行するように教えることもできます。少なくともいくぶん健全な解決策は、たとえば Butler 'sKeystrokesitem to map Escape to Cmd-.

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

状況によっては、問題が発生することがあります。 通常のキーにキーを再マッピングする同等のキーボードショートカットは、大ハンマーソリューションです。 たとえば、Quick LookCmd-.を処理しません(したがって、ファイルプレビューを閉じるために再マッピングされたEscape)。 Finderでのファイル名の変更は、Escapeや選択などを使用して中止することはできません。 Finderでクリアされます。

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

3
Daniel Beck

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を開き、「複雑な変更」タブに移動します
  2. 「ルールの追加」ボタンをクリックし、「インターネットからさらにルールをインポート」をクリックします
  3. インポートの変更「SafariでEscキーを押してもフルスクリーンを終了しない」
2
S3RK

可能なオプションは次のとおりです。

  1. 他の機能の代替ショートカットを設定します。 ESC OSとブラウザによって予約されています。

  2. ソース/アセンブラマシンコードを調整して、 ESC OSとブラウザのキー。

  3. アプリケーションデベロッパー(Googleスプレッドシートなど)に対してバグ/機能のリクエストを提出し、ESCイベントを通過させる代わりに使用します。

  4. アプリケーションが最初にここにあり、Appleが原因なくキーを再利用したため、Appleにバグを報告してください。

2
Tamara Wijsman

試す OptionEsc、私のために働いた。

2
Michael

JQueryを使用しているようです。その場合:

ドキュメントkeydownイベントをリッスンしますkeyCode 27でイベントが発生したときe.preventDefault()

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

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

});
1
Evan Sharp

これは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>

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

1
ctrl-alt-dileep

説明をもう少し具体化するだけです。

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

したがって、多くの用途があります。 Appleで全画面表示をキャンセルできるモードがctrl-cmd-Fと右上のアイコンで可能な場合、これは奇妙な奇妙なことです。

これは、アプリごとにあるようで、MailとSafari、およびその他のiLifeアイテムはフルスクリーンで終了します。 iTunesはフルスクリーンのままです。

Reederは、フルウィンドウコントロールの目的でescを無視し、プログラムに対して他の適切なことを行います。 Evernoteには、ウィンドウコントロール用のcmd-Fまたはctrl-cmd-F、アイコン、およびescキーさえありません。

Esc自体をキーボードのコントロールパネルの無害で意味のないアクションにマッピングすることはできません。

1
AJACs

ソリューションを必死に探した後、私はSafariをMissionコントロールを備えた別の仮想デスクトップに委託します。これはESCの問題を軽減し、フルスクリーンのSafariウィンドウに最も近い概算です。

Dockを非表示にした場合のボーナススペース。

0
Fish Monitor

BetterTouchToolやKeyboardMaestroなどを使用してリマップ Esc ⌥+ Esc

0
user2664470

簡単、見つけた! 2つのアクションを備えたKeyboardMaestro

「を押すとESC"(代わりに)プレスをシミュレート:-"CMD+。 "-その後、"ALT+ESC

一部のアプリはどちらか一方の注文のみに反応するため(両方に反応しない場合もあり、その場合は何もできないため)、両方が必要です。ESC"そのコンテキストでは、フルスクリーンモードを終了することはありません

0
user2755736

持つことに決めました esc にルーティング alt/optionesc。ほとんどの場合、これによりYouTubeのvidから抜け出すことができ、Squarespaceアカウントを持っている場合は、フルスクリーンから抜け出すことなくログインできます。

  • Karabiner をダウンロードしてインストールします。
  • 一番右の「Misc&Uninstall」タブに移動します。
  • 「Open private.xml」というボタンをクリックします。
  • here からprivate.xmlファイルをダウンロードします
  • Finderの元の「private.xml」ファイルをダウンロードしたファイルで置き換えます。出来上がり!
0