LionのSafariなどのアプリでエスケープを押したときにフルスクリーンを終了しないでください


45

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

(私はすでに/終了フルスクリーンモードを入力するためのキーボードショートカットを知っているCmd-をCtrl- F)。ESCショートカットを無効にします。私はグーグル検索を行ってきましたが、答えが見つかりません。


2
Esc異なる効果がある場所(ページの読み込みを中止するなど)を押しても、全画面表示は終了しません。
ダニエルベック

@ダニエル:しかし、それは他のどの機能にも必ずしも当てはまりません。これは実際、OS X Lionの広範な問題ですか?これを実際に経験している人が少ないのはなぜですか?
タマラウィスマン

1
@Tomなど?ユーザーは言わず、あなたも言わない。イベントを消費するなどして使用すると、これらの機能がすべてフルスクリーンモードのショートカットをオーバーライドすることを想像できますが、これ以上の例がなければ、確実に言うことはできません。
ダニエルベック

10
誤って入力してくださいヒット:例えば、ESCは、モーダルウィンドウを閉じるために使用されている多くのWebページがありますericmmartin.com/projects/simplemodal-demosモーダルウィンドウを表示するには、ページ上のデモをクリックしてください。ESCを押して、モーダルを閉じます。Safariは、モーダルウィンドウがあることを認識しており、全画面表示を終了しません。もう一度ESCを押すと、Safariは全画面モードを終了します。多くの場合、ESCを数回押して、何かが閉じていることを確認します。Safariがフルスクリーンモードを終了したくはありません。全画面表示を終了するためのキーコマンドが既にあります。ESCは使用しないでください。
ファディ

1
@dpkデモWebページへのリンクをお願いします。私がそれらをテストしたとき、これまでに言及された例はどれもこの問題を抱えていないので、私は問題を再現する手順なしでそれを信じていません。実際、上のFadiの例はあなたのコメントと矛盾しています。
ダニエルベック

回答:


6

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拡張機能NinjaKitGitHub上)を使用できます。これは私が使用するものです。
  • Chromeの場合、NinjaKitバリアントを使用できます。
  • OS X上の他のSafariについて、あなたはSIMBLプラグインを使用することができますはGreaseKitを。しかし、それがどれだけ最新のものかはわかりません。

便宜上、これをuserscriptsにアップロードしました:userscripts.org/scripts/review/178642
coffeejunk

これをMavericksのSafariにインストールした経験はありますか?
ホレン14年

2
ええ、これは私にはうまくいきません。執筆時点では、Safari 8.0(10600.1.25)を搭載したYosemite Beta 5で、SafariでNinjaKitをユーザースクリプトエンジンとして使用しています。エスケープキーは全画面表示を中断し続け、私にとっては、アドレスバーにいるときにEscキーを押すと発生します。(テキストを編集する際にいくつかの便利な機能があります...)GreaseKitは2009年以降のもので、もう動作しないと仮定しています。何か案は?イライラするので、不思議クロムが...でも、Appleの独自のオペレーティングシステム上で、ゴーへの主要なブラウザである

@foregonアドレスバーにいる間は、ページイベント処理はまったく効果がないと思います。
ダニエルベック

tampermonkeyで動作し、https://もサポートするようにスクリプト/応答を編集しました。
トニ

3

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

当然、このリストにないのはもちろん、全画面モードを終了することです


したがって、この状況を完全に回避するCmd-.代わりに、押すことを学ぶことができEscapeます。または、あなたのコンピュータにあなたのためにそれをするように教えることができます:少なくともやや健全な解決策は、例えばバトラーキーストロークアイテムを使用してマップEscapeすることCmd-.です:

  • バトラーの構成ページを開く
  • Hiddenなどのコンテナを選択し、+»スマートアイテム»キーストロークをクリックします
  • 上のキータブ、押してCmd-.この項目をアクティブにするとき結果のキーストロークとしてこれを使用します
  • 上のトリガ ]タブを選択ホットキーの入力フィールドとプレスをEscape。基本的にあなたが非常識だという警告を無視します。
  • 例外リストにターミナルなどを追加することを忘れないでください- Escape全画面表示を完全に無視しますが、を押すCtrl-.Ctrl-C

状況によっては、物事が誤動作することがあります。通常、同等のキーボードショートカットにキーを再マッピングすることは、大まかな解決策です。たとえば、Quick Lookは処理しませんCmd-.(したがって、Escapeファイルプレビューを閉じるために再マップされます)。Finderでのファイル名の変更は、を使用して中止することEscapeも、Finderでの選択をクリアすることもできなくなりました。

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


もちろん、あなたは完全にこのようなすべてのエスケープキー押下を無視することができ、それは機能性の良いビットを失うことになる...
ダニエル・ベック

⌘+。Operaでフルスクリーンモードを終了するので、これはノーゴー:(
Andy E

2

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

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

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

  3. アプリケーション開発者(つまりGoogleスプレッドシート)に対してバグ/機能リクエストを提出し、ESCイベントを許可せずに消費します。

  4. Appleにバグを報告します。アプリケーションが最初にここにあり、Appleが理由なくキーを再利用したからです。


3
#1遅れることができます。#2は、笑いのポイントにほとんど似ています。
ピールマン

まあ、あなたの走行距離は異なる場合があります。
タマラウィスマン

使用Escapeする機能は通常、メニューバーからは使用できEscapeません。また、トリガーされた項目を含むメニューバー項目が強調表示されていない「フラッシュ」から明らかなように、メニュー項目をトリガーしません。
ダニエルベック

#4 Appleにバグを報告します。アプリケーションが最初にここにあり、Appleが理由なくキーを再利用したためです。
dpk

2

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を押したときにフルスクリーンを終了しないでください」

1

説明をもう少し具体化するために。

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

そのため、多くの用途があります。ctrl-cmd-Fと右上のアイコンで可能な場合に、Appleがこのフルスクリーンモードをキャンセルするのは奇妙な奇妙なことです。

これはアプリごとにメールやSafariなどのiLifeアイテムが全画面表示を終了するようです。iTunesはフルスクリーンのままです。

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

キーボードコントロールパネルで、escをそれ自体で害のないナンセンスアクションにマッピングすることはできません。


1
Safariでは、エスケープキーを無害な機能にマッピングすることは解決策ではないようです。アクションに関係なく、フルスクリーンからドロップアウトします。
ピールマン

また、Escapeダイアログをキャンセルするために押すと、全画面表示が終了しません
ダニエルベック

Escapeターミナルを押しても、全画面表示は終了しません
ダニエルベック

を使用Escapeしてドラッグをキャンセルしても、フルスクリーンが終了しません。これらのクレームを投稿する前に試しみましたか?
ダニエルベック

EscapeReederを使用して、たとえば記事のWebページからRSSアイテムに戻ると、フルスクリーンが終了しません。そのEscapeようなアクションに使用されない場合、全画面表示を終了します。他のすべてのプログラムと同様。
ダニエルベック

1

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

以下のために聞くのkeydownのイベント(キープレスとからkeyupしません作業)文書のkeyCode 27、およびイベントが発生電話の際e.preventDefaultを()

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

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

});

MSOの関連リクエストは、jQueryなしで機能します。
ダニエルベック

1

試してみてくださいOptionEsc


1
Escapeキーに関連付けられたアクション(Safari Webページの読み込みの中止など)もトリガーしません。
ダニエルベック

1

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


0

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

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

0

BetterTouchToolまたはKeyboardMaestroまたは同様の方法を使用してEsc、⌥+ に再マップしEscます。


0

ソリューションを必死に探した後、SafariをMission Controlを備えた別の仮想デスクトップに委託します。これにより、ESCの問題が軽減され、フルスクリーンのSafariウィンドウに圧倒的に最適です。

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


0

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

ESC」を押すとき(代わりに)をシミュレートします。-「CMD+」。-その後、「ALT+ ESC

いくつかのアプリが一桁または他にのみ反応するので、あなたは、両方が必要(時にはnoneに、何もしないことも可能) - >ほとんどのアプリは「のように行います。この方法でESC」その文脈で、しかし、あなたはフルから出ることはありません飽きませんスクリーンモード

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.