Beenden Sie den Vollbildmodus nicht, wenn Sie in Apps wie Safari on Lion die Esc-Taste drücken


45

Wenn Sie in OS X Lion die ESCTaste drücken, wird der Vollbildmodus beendet. Leider und besonders bei der Verwendung von Safari ESCwird es für andere Funktionen verwendet, wie zum Beispiel bei der Behandlung von JavaScript-Tastenanschlägen. Ich möchte nicht, dass Lion den Vollbildmodus beendet, wenn Sie die Escape-Taste drücken. Ich kann jedoch keine Stelle finden, an der diese Funktion deaktiviert werden kann.

Ich kenne bereits die Tastenkombination zum Aufrufen / Verlassen des Vollbildmodus ( Cmd- Ctrl- F). Ich möchte die ESCVerknüpfung deaktivieren . Ich habe gegoogelt, aber keine Antworten gefunden.


2
Durch Drücken Escan einer anderen Stelle (z. B. Abbrechen des Ladevorgangs) wird der Vollbildmodus nicht beendet.
Daniel Beck

@Daniel: Das gilt aber nicht unbedingt für irgendwelche anderen Funktionen. Ist das eigentlich ein weit verbreitetes OS X Lion Problem? Warum gibt es so wenige Menschen, die dies tatsächlich erleben?
Tamara Wijsman

1
@ Tom wie? Der Benutzer sagt es nicht und Sie auch nicht. Ich könnte mir all diese Funktionen vorstellen, die die Vollbildmodusverknüpfung überschreiben, wenn sie zum Beispiel verwendet werden, um das Ereignis zu konsumieren, aber ohne weitere Beispiele kann ich nicht sicher sagen.
Daniel Beck

10
Versehentlich die Eingabetaste drücken Es gibt viele Webseiten, auf denen mit ESC ein modales Fenster geschlossen wird. Beispiel: ericmmartin.com/projects/simplemodal-demos Klicken Sie auf der Seite auf Demo, um ein modales Fenster anzuzeigen. Drücken Sie ESC, um das Modal zu schließen. Safari ist sich bewusst, dass es ein modales Fenster gibt und beendet den Vollbildmodus nicht. Drücken Sie erneut ESC und Safari beendet den Vollbildmodus. Oft drücke ich mehrmals ESC, um sicherzustellen, dass etwas geschlossen wird. Ich möchte nicht, dass Safari in diesem Fall den Vollbildmodus beendet. Es gibt bereits einen Tastaturbefehl, um den Vollbildmodus zu beenden. ESC sollte nicht verwendet werden.
Fadi

1
@dpk Link zu einer Demo-Webseite, bitte. Da keines der bisher erwähnten Beispiele dieses Problem aufweist, als ich es getestet habe, glaube ich nicht, dass es keine Schritte gibt, um das Problem zu reproduzieren. Tatsächlich widerspricht das obige Beispiel von Fadi Ihrem Kommentar.
Daniel Beck

Antworten:


6

Für Webbrowser und speziell für die Verwendung von Websites mit einem Verhalten, das die Verwendung des EscapeSchlüssels aktiviert oder erfordert, ohne das Schließen des Vollbilds zu verhindern (z. B. Stack Exchange-Websites ), können Sie das folgende Benutzerskript verwenden:

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

Verwenden Sie ein beliebiges Benutzerskriptmodul für Ihren Browser, um dies in Browsern auszuführen.

  • Für Safari 5 können Sie die Safari-Erweiterung NinjaKit (auf GitHub ) verwenden. Das ist was ich benutze.
  • Für Chrome können Sie die NinjaKit- Variante verwenden.
  • Für jede andere Safari unter OS X können Sie das SIMBL-Plug-in GreaseKit verwenden . Nicht sicher, wie aktuell es ist.

Der Einfachheit halber habe ich dies auf userscripts hochgeladen: userscripts.org/scripts/review/178642
coffeejunk

Haben Sie Erfahrung mit der Installation auf Safari für Mavericks?
Holene

2
Ja, das funktioniert bei mir nicht. Ich bin zum Zeitpunkt des Schreibens in Yosemite Beta 5 mit Safari 8.0 (10600.1.25) und benutze NinjaKit in Safari als User-Script-Engine. Die Escape-Taste bricht immer wieder den Vollbildmodus und für mich passiert es, wenn ich mich in der Adressleiste befinde und dabei die Esc-Taste drücke. (Es hat ein paar nützliche Funktionen, wenn Sie Text darin bearbeiten ...) Ich gehe davon aus, dass GreaseKit nicht mehr funktioniert, da es auf 2009 datiert ist und eine schnelle Google-Suche anzeigt, dass es nicht mehr funktioniert. Irgendwelche Ideen? So frustrierend, kein Wunder, dass Chrome der

@foregon Ich würde erwarten, dass die Behandlung von Seitenereignissen keinerlei Auswirkungen hat, solange Sie in der Adressleiste sind.
Daniel Beck

Funktioniert mit Tampermonkey und hat das Skript / die Antwort bearbeitet, um auch https: // zu unterstützen.
Toni

3

Die meisten OS X-eigenen Situationen akzeptieren beides Escapeund Cmd-.das Abbrechen, z. B. Dateidialoge, Laden von Safari, Verschieben von Elementen usw.

Besonders abwesend in dieser Liste ist natürlich das Verlassen des Vollbildmodus .


Sie könnten also einfach lernen, zu drücken, Cmd-.anstatt Escapediese Situation insgesamt zu vermeiden. Oder Sie können Ihren Computer lehren , es zu tun für Sie: Eine zumindest etwas vernünftige Lösung zu verwenden ist zB Butler ‚s Keystrokes Artikel zur Karte Escapezu Cmd-.:

  • Öffnen Sie die Konfigurationsseite von Butler
  • Wählen Sie einen beliebigen Container aus, z. B. Ausgeblendet , und klicken Sie auf + »Smart Item» Tastenanschläge
  • Drücken Sie auf der Registerkarte " Tasten" , Cmd-.um dies als Ergebnis eines Tastenanschlags beim Aktivieren dieses Elements zu verwenden
  • Auf der Trigger Registerkarte wählen Sie das Hot Key Eingabefeld ein und drücken Sie Escape. Ignorieren Sie die Warnung, die besagt, dass Sie verrückt sind.
  • Denken Sie daran, zB Terminal zur Ausnahmeliste hinzuzufügen - es wird Escapebeim Verlassen des Vollbildmodus völlig ignoriert , aber durch Drücken von wird Ctrl-.übersetzt zu Ctrl-C!

In einigen Situationen verhalten sich die Dinge schlecht. Das erneute Zuordnen der Taste zu einer normalerweise äquivalenten Tastenkombination ist eine Vorschlaghammerlösung. Quick Look funktioniert zum Beispiel nicht Cmd-.(und daher die Neuzuordnung Escapezum Schließen der Dateivorschau). Das Umbenennen von Dateien im Finder kann nicht mehr mit abgebrochen werden Escape, und eine Auswahl, z. B. im Finder, kann nicht gelöscht werden.

In begrenzten Tests habe ich keine Situation gefunden, in der das Drücken Cmd-.tatsächlich zu unerwünschten Aktionen führt. Beachten Sie jedoch, dass diese wahrscheinlich auch vorhanden sind.


Natürlich können Sie alle Escape-Tastendrücke wie diese vollständig ignorieren, aber das wird ein gutes Stück Funktionalität verlieren ...
Daniel Beck

⌘ +. Beendet den Vollbildmodus für mich in Opera, dies ist also ein No Go :(
Andy E

2

Ihre möglichen Optionen umfassen:

  1. Legen Sie alternative Verknüpfungen für die anderen Funktionen fest, da diese ESCvom Betriebssystem und vom Browser reserviert sind.

  2. Passen Sie den Code des Quell- / Assembler-Computers an, um den ESCSchlüssel des Betriebssystems und des Browsers neu zu binden .

  3. Reichen Sie die Fehler- / Funktionsanforderung gegen den Anwendungsentwickler (z. B. Google Spreadsheets) ein, um das ESC-Ereignis zu verbrauchen, anstatt es durchzulassen.

  4. Melden Sie einen Fehler bei Apple an, da die Anwendungen zuerst hier waren und Apple den Schlüssel ohne Grund neu definiert hat.


3
# 1 Ich kann zurückbleiben. # 2 ist fast ironisch bis zum Lachen.
Peelman

Nun, Ihre Laufleistung kann variieren.
Tamara Wijsman

Funktionen, die verwendet Escapewerden , sind normalerweise nicht in der Menüleiste verfügbar und Escapelösen keine Menüelemente aus, wie aus dem fehlenden "Blitz" ersichtlich ist, der das Menüleistenelement hervorhebt, das das ausgelöste Element enthält.
Daniel Beck

# 4 Melden Sie einen Fehler bei Apple an, da die Anwendungen zuerst hier waren und Apple den Schlüssel ohne Grund neu definiert hat.
dpk

2

Für macOs Sierra und höher habe ich keine Antwort gefunden. So habe ich dieses Problem gelöst.

Wie bereits angedeutet, habe ich ESC auf ⌥ + ESC umgestellt. Es erledigt die Arbeit und auch einige andere Funktionen, die den Tasten zugewiesen sind, funktionieren. Auf einigen Websites können Sie Vollbildvideos beenden, das Laden der Seite wird jedoch nicht abgebrochen.

Zuerst müssen Sie Karabiner-Elemente installieren , um die Tasten neu zuordnen zu können

  1. Brauen einbauen /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Fass einbauen brew tap caskroom/cask
  3. Karabiner-Elemente einbauen brew cask install karabiner-elements

Ich habe speziell für dieses Problem eine benutzerdefinierte "Komplexe Änderung" erstellt. Um diese Modifikation zu installieren, müssen Sie:

  1. Öffne die Karabiner-Elemente und gehe zum Reiter "Komplexe Modifikationen"
  2. Klicken Sie auf die Schaltfläche "Regel hinzufügen" und dann auf "Weitere Regeln aus dem Internet importieren".
  3. Änderung importieren "Vollbild beim Drücken von ESC in Safari nicht verlassen"

1

Nur um die Beschreibung ein bisschen genauer zu beschreiben.

ESC wird verwendet, um ein Ziehen abzubrechen, esc wird verwendet, um ein Dialogfeld abzubrechen, esc wird verwendet, um ein Verschieben / Kopieren abzubrechen, esc wird im Terminal in VI verwendet, um einen Bearbeitungsbefehl abzubrechen

Es gibt also zahlreiche Verwendungen. Es ist eine seltsame Kuriosität, dass Apple diesen Vollbildmodus deaktiviert, wenn dies durch Strg-Cmd-F und das Symbol oben rechts möglich ist.

Dies scheint auf App-Basis Mail und Safari zu sein, und andere iLife-Elemente werden im Vollbildmodus beendet. iTunes bleibt im Vollbildmodus.

Reeder ignoriert den Befehl esc für die vollständige Fenstersteuerung und führt andere für das Programm geeignete Schritte aus. Evernote hat nicht einmal ein Cmd-F oder Strg-Cmd-F für die Fenstersteuerung, sondern das Symbol und die Esc-Taste.

Es kann nicht so aussehen, als ob Sie esc allein einer harmlosen Unsinnaktion in der Tastatursteuerung zuordnen.


1
In Safari scheint es keine Lösung zu sein, die Escape-Taste einer harmlosen Funktion zuzuordnen. Unabhängig von der Aktion wird der Vollbildmodus trotzdem beendet.
Peelman

Wenn Sie erneut drücken Escape, um die Dialoge abzubrechen, wird der Vollbildmodus nicht beendet .
Daniel Beck

Durch Drücken Escapevon Terminal wird der Vollbildmodus nicht beendet .
Daniel Beck

Wenn Sie Escapezum Abbrechen eines Ziehvorgangs verwenden, wird der Vollbildmodus nicht beendet . Haben Sie es sogar versucht , bevor Sie diese Behauptungen aufgeben?
Daniel Beck

Die Verwendung von Escapein Reeder, um z. B. von einer Artikelwebseite zum RSS-Element zurückzukehren, beendet den Vollbildmodus nicht . Wenn dies Escapenicht der Fall ist, wird der Vollbildmodus beendet. Wie in ALLEN ANDEREN PROGRAMMEN .
Daniel Beck

1

Anscheinend verwenden Sie JQuery. In diesem Fall:

Hören Sie keydown Ereignisse (keypress und keyup wird nicht funktionieren) auf dem Dokument mit keyCode 27 , und wenn das Ereignis ausgelöst rufen e.preventDefault () .

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

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

});

Verwandte Anfrage auf MSO , funktioniert ohne jQuery.
Daniel Beck

1

Versuch OptionEsc, was bei mir geklappt hat.


1
Es werden auch keine Aktionen ausgelöst, die mit der Escape-Taste verknüpft sind, z. B. das Laden von Safari-Webseiten wird abgebrochen.
Daniel Beck

1

Dies ist dasselbe wie die @ aditya-srinivasan-Antwort für 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>

Siehe die Antworten von @ aditya-srinivasan unter https://pqrs.org/osx/karabiner/index.html.en


0

Ich habe mich entschlossen escnach alt/option+ zu routen esc. In den meisten Fällen kann ich auf diese Weise YouTube-Videos verlassen. Wenn Sie ein Squarespace-Konto haben, können Sie sich anmelden, ohne den Vollbildmodus zu verlassen.

  • Laden Sie Karabiner herunter und installieren Sie es .
  • Gehen Sie zur rechten Registerkarte "Verschiedenes & Deinstallieren".
  • Klicken Sie auf die Schaltfläche "Open private.xml".
  • Laden Sie die Datei private.xml von hier
  • Ersetzen Sie die ursprüngliche Datei "private.xml" im Finder durch die heruntergeladene Datei. Voila!

0

Verwenden Sie BetterTouchTool oder KeyboardMaestro oder etwas Ähnliches, Escum ⌥ + neu zuzuordnen Esc.


0

Nach einiger verzweifelter Suche nach der Lösung übergebe ich Safari an einen separaten virtuellen Desktop mit Mission Control. Dies mildert das ESC-Problem und ist bei weitem die beste Annäherung an ein Safari-Vollbildfenster.

Bonusplatz, wenn Sie das Dock verstecken.


0

EINFACH, habe es gefunden! KeyboardMaestro mit 2 Aktionen

Beim Drücken von " ESC" (stattdessen) simulieren: - " CMD+". - DANN auch " ALT+ ESC"

Sie brauchen beides, weil manche Apps nur auf die eine oder die andere Bestellung reagieren (manchmal auf keine, dann ist nichts möglich) -> auf diese Weise werden die meisten Apps ESCin ihrem Kontext ein " " mögen , aber Sie werden nie vollständig verlassen Bildschirmmodus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.