Ne quittez pas le mode plein écran lorsque vous appuyez sur Échap dans des applications telles que Safari sur Lion.

45

Sous OS X Lion, appuyez sur la ESCtouche pour quitter le mode plein écran. Malheureusement, et en particulier lorsque Safari ESCest utilisé , est utilisé pour d’autres fonctions, telles que la gestion des événements de frappe au clavier Javascript. Je ne veux pas que Lion quitte le mode plein écran lorsque vous appuyez sur échap, mais je ne trouve pas d’emplacement pour désactiver cette fonctionnalité.

Je connais déjà le raccourci clavier pour entrer / quitter le mode plein écran ( Cmd- Ctrl- F). Je veux désactiver le ESCraccourci. Je suis sur Google, mais je ne trouve aucune réponse.

Fadi
la source
2
Un appui sur Escun effet différent (par exemple, un abandon de chargement de page) ne permet pas de quitter le mode plein écran.
Daniel Beck
@ Daniel: Mais cela ne s'applique pas nécessairement à d'autres fonctions. Est-ce réellement un problème répandu sous OS X Lion? Pourquoi y a-t-il si peu de gens qui vivent réellement cela?
Tamara Wijsman
1
@Tom Comme? L'utilisateur ne dit pas, et vous non plus. J'imaginais que toutes ces fonctions remplaçaient le raccourci du mode plein écran lorsqu'elles étaient utilisées, par exemple, en consommant l'événement, mais sans plus d'exemples, je ne peux pas le dire avec certitude.
Daniel Beck
10
Appuyez accidentellement sur enter Il existe de nombreuses pages Web où ESC est utilisé pour fermer une fenêtre modale, par exemple: ericmmartin.com/projects/simplemodal-demos Cliquez sur Demo sur la page pour afficher une fenêtre modale. Appuyez sur ESC pour fermer le modal. Safari est conscient qu'il existe une fenêtre modale et ne quitte pas le mode plein écran. Appuyez de nouveau sur ESC et Safari quitte le mode plein écran. J'appuie souvent sur ESC plusieurs fois pour m'assurer que quelque chose se ferme. Je ne veux pas que Safari quitte le mode plein écran lorsque cela se produit. Il existe déjà un raccourci clavier pour quitter le mode plein écran. ESC ne devrait pas être utilisé.
Fadi
1
@dpk Lien vers une page Web de démonstration, s'il vous plaît. Étant donné qu'aucun des exemples cités jusqu'à présent ne présente ce problème lorsque je les ai testés, je ne pense pas qu'il faille sans étapes pour le reproduire. En fait, l'exemple de Fadi ci-dessus contredit votre commentaire.
Daniel Beck

Réponses:

6

Pour les navigateurs Web, et en particulier pour l'utilisation de sites dont le comportement active ou requiert l'utilisation de la Escapeclé sans empêcher la fermeture du mode plein écran (comme les sites Stack Exchange ), vous pouvez utiliser le script utilisateur suivant:

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

Pour l'exécuter dans les navigateurs, utilisez n'importe quel moteur de script utilisateur pour votre navigateur.

  • Pour Safari 5, vous pouvez utiliser l'extension NinjaKit de Safari (sur GitHub ). C'est ce que j'utilise.
  • Pour Chrome, vous pouvez utiliser sa variante NinjaKit .
  • Pour tout autre Safari sur OS X, vous pouvez utiliser le plug-in GreaseKit du plug-in SIMBL . Je ne sais pas à quel point c'est à jour.
Daniel Beck
la source
pour des raisons de commodité, j'ai téléchargé cela sur userscripts: userscripts.org/scripts/review/178642
coffeejunk
Avez-vous déjà essayé d'installer ceci sur Safari pour Mavericks?
Holene
2
Ouais ça ne marche pas pour moi, je suis dans Yosemite Beta 5 avec Safari 8.0 (10600.1.25) au moment de la rédaction de cet article et j'utilise NinjaKit dans Safari comme moteur des scripts d'utilisateurs. La touche Échap continue de fonctionner en plein écran. Pour moi, cela se produit lorsque je suis dans la barre d’adresse et que vous appuyez sur Échap lorsque vous y êtes. (il a quelques fonctions utiles lors de l'édition de texte ...) Je suppose que GreaseKit ne fonctionne plus, car il date de 2009 et un rapide Google semble indiquer qu'il ne fonctionne plus. Des idées? Tellement frustrant, pas étonnant que Chrome soit le navigateur principal par excellence, même sur le système d'exploitation d'Apple ...
@foregon Je m'attendrais à ce que la gestion des événements de page n'ait absolument aucun effet lorsque vous êtes dans la barre d'adresse.
Daniel Beck
fonctionne avec tampermonkey, a modifié le script / réponse pour prendre également en charge https: //.
Toni
3

La plupart des situations natives d’OS X acceptent Escapeet Cmd-.abandonnent, par exemple les boîtes de dialogue de fichiers, le chargement de Safari, le déplacement d’éléments, etc.

Notamment absent de cette liste est bien sûr de quitter le mode plein écran .


Vous pouvez donc apprendre à appuyer Cmd-.au lieu d’ Escapeéviter complètement cette situation. Ou vous pouvez apprendre à votre ordinateur à le faire pour vous: Une solution au moins quelque peu sensée consiste à utiliser, par exemple , l’ objet Keystrokes de Butler pour mapper à :EscapeCmd-.

  • Ouvrir la page de configuration de Butler
  • Sélectionnez n'importe quel conteneur, par exemple Masqué , cliquez sur + »Élément intelligent» Touches
  • Dans l’ onglet Touches , appuyez sur Cmd-.pour l’utiliser comme frappe résultante lors de l’activation de cet élément.
  • Sur l' onglet Déclencheurs , sélectionnez le champ de saisie Hot Key et appuyez sur Escape. Ignorez l'avertissement qui indique fondamentalement que vous êtes fou.
  • Pensez à ajouter, par exemple, Terminal à la liste des exceptions. Il ignore totalement si vous Escapequittez le mode plein écran, mais appuyez sur Ctrl-.pour traduire Ctrl-C!

Dans certaines situations, les choses vont mal se comporter. Réaffectation de la clé de ce qui est habituellement un raccourci clavier équivalent est une solution de marteau de forgeron. Quick Look , par exemple, ne gère pas Cmd-.(et donc le remappage Escapepour la fermeture des aperçus de fichiers); renommer des fichiers dans le Finder ne peut plus être abandonné en utilisant Escape, aucune sélection, par exemple dans le Finder, ne sera effacée.

Lors d'essais limités, je n'ai trouvé aucune situation dans laquelle le Cmd-.fait d' appuyer conduisait à l'exécution d'actions indésirables, mais sachez qu'elles existent probablement aussi.

Daniel Beck
la source
Bien sûr, vous pouvez ignorer complètement toutes les touches du clavier Escape de la sorte, mais cela perdra un peu de fonctionnalité ...
Daniel Beck
⌘ +. quitte le mode plein écran dans Opera, ce n'est donc pas un problème :(
Andy E
2

Vos options possibles incluent:

  1. Définissez des raccourcis alternatifs pour les autres fonctions, car ils ESCsont réservés par le système d'exploitation et le navigateur.

  2. Ajustez le code machine source / assembleur pour relier la ESCclé du système d'exploitation et du navigateur.

  3. Enregistrez la demande de bogue / fonctionnalité contre le développeur de l'application (par exemple, les feuilles de calcul Google) pour qu'elle consomme un événement ESC au lieu de le laisser passer.

  4. Enregistrez un bogue avec Apple, car les applications existaient en premier, et Apple a réaffecté la clé sans motif.

Tamara Wijsman
la source
3
# 1 Je peux être en retard. # 2 est presque ironique au point de rire.
peelman
Eh bien, votre kilométrage peut varier.
Tamara Wijsman le
Les fonctions qui utilisent Escapene sont généralement pas disponibles dans la barre de menus et Escapene déclenchent pas d’éléments de menu comme le montre le "flash" manquant soulignant l’élément de la barre de menus contenant l’élément déclenché.
Daniel Beck
# 4 Créez un bogue avec Apple, car les applications existaient en premier, et Apple a modifié la clé sans motif.
dpk
2

Je n'ai pas trouvé de réponse pour macOs Sierra et supérieur. C'est ainsi que j'ai résolu ce problème.

Comme cela a déjà été suggéré, j'ai remappé ESC en + ESC. Il fait le travail et même certaines autres fonctions assignées à la touche fonctionnent. Vous pourrez quitter les vidéos en plein écran sur certains sites, mais le chargement de la page ne sera pas interrompu.

Vous devez d’abord installer des éléments de mousqueton pour pouvoir remapper les clés.

  1. Installer une infusion /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Installer le tonneau brew tap caskroom/cask
  3. Installer des mousquetons brew cask install karabiner-elements

J'ai créé une "modification complexe" personnalisée spécialement pour ce problème. Pour installer cette modification, vous devez:

  1. Ouvrez les mousquetons et allez dans l'onglet "Modifications complexes"
  2. Cliquez sur le bouton "Ajouter une règle", puis sur "Importer d'autres règles d'Internet".
  3. Modification d'importation "Ne quittez pas le mode plein écran lorsque vous appuyez sur ÉCHAP dans Safari"
S3RK
la source
1

Juste pour préciser un peu plus la description.

ESC est utilisé pour annuler un glisser, esc est utilisé pour annuler une boîte de dialogue, esc est utilisé pendant un glisser pour annuler un déplacement / copie, esc est utilisé dans un terminal du VI pour annuler une commande d'édition

Donc, il y a de nombreuses utilisations. C’est une étrange bizarrerie que Apple ait cette annulation en mode plein écran lorsque ctrl-cmd-F et l’icône en haut à droite le permettent.

Cela semble être une application à la fois, Mail, Safari et d'autres éléments iLife quitteront le mode plein écran. iTunes reste en plein écran.

Reeder ignore l'esc dans le but du contrôle de la fenêtre complète et fait d'autres choses appropriées pour le programme. Evernote n’a même pas de cmd-F ni de ctrl-cmd-F pour le contrôle de fenêtre, c’est l’icône et la touche echap.

Vous ne pouvez pas sembler mapper Echap par lui-même à une action non-sens non nuisible dans le panneau de commande du clavier.

AJAC
la source
1
Dans Safari, mapper la touche Échap sur une fonction bénigne ne semble pas être une solution. Indépendamment de l'action, il restera toujours en mode plein écran.
peelman
Et encore, appuyer sur Escapepour annuler les boîtes de dialogue ne ferme pas le mode plein écran .
Daniel Beck
Appuyer Escapesur Terminal ne quitte pas le mode plein écran .
Daniel Beck
Utiliser Escapepour annuler un glissement ne quitte pas le plein écran . L'avez-vous déjà essayé avant de poster ces revendications?
Daniel Beck
Utiliser Escapedans Reeder pour, par exemple, revenir d'une page Web d'article à l'élément RSS ne quitte pas le mode plein écran . Si Escapen'est pas utilisé pour une telle action, il se ferme en plein écran. Comme dans TOUS LES AUTRES PROGRAMMES .
Daniel Beck
1

On dirait que vous utilisez JQuery. Dans ce cas:

Écoutez les événements au clavier (le raccourci clavier et le raccourci clavier ne fonctionneront pas) sur le document portant le code clé 27 , et lorsque l'événement se déclenchera, appelez e.preventDefault () .

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

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

});
Evan Sharp
la source
Requête associée sur MSO , fonctionne sans jQuery.
Daniel Beck
1

Essayez OptionEsc, ce qui a fonctionné pour moi.

Michael
la source
1
Cela ne déclenche pas non plus les actions associées à la touche Échap, comme par exemple l'abandon du chargement de la page Web Safari.
Daniel Beck
1

C’est la même chose que la réponse @ aditya-srinivasan ciblant 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>

Voir les réponses de @ aditya-srinivasan sur le téléchargement https://pqrs.org/osx/karabiner/index.html.en

ctrl-alt-dileep
la source
0

J'ai décidé d'avoir escrouté vers alt/option+ esc. Pour la plupart, cela me permet de sortir des vidéos YouTube et si vous avez un compte Squarespace, vous pouvez vous connecter sans quitter le plein écran.

  • Téléchargez et installez Karabiner .
  • Allez à droite sur l'onglet "Divers & Désinstaller".
  • Cliquez sur le bouton "Open private.xml".
  • Téléchargez le fichier private.xml à partir d' ici
  • Remplacez le fichier "private.xml" d'origine dans le Finder par le fichier téléchargé. Voila!
Aditya Srinivasan
la source
0

Utilisez BetterTouchTool ou KeyboardMaestro ou quelque chose de similaire pour reconfigurer Escen + Esc.

utilisateur2664470
la source
0

Après une recherche désespérée de la solution, je réserve Safari sur un bureau virtuel séparé avec Mission Control. Cela atténue le problème de l’ESC et constitue de loin la meilleure approximation d’une fenêtre Safari plein écran.

Espace bonus si vous cachez le Dock.

Moniteur de poisson
la source
0

FACILE, je l'ai trouvé! KeyboardMaestro avec 2 actions

En appuyant sur " ESC" Simuler en appuyant sur (à la place): - " CMD+". - ALORS aussi " ALT+ ESC"

Vous avez besoin des deux, car certaines applications ne réagissent qu'à une commande (parfois aucune, alors rien n'est possible) -> de cette façon, la plupart des applications se comporteront comme un " ESC" dans leur contexte, mais vous ne serez jamais excité du tout mode d'écran

utilisateur2755736
la source