Não saia da tela cheia ao pressionar escape em aplicativos como o Safari no Lion

46

No OS X Lion, pressionar a tecla ESC sai do modo de tela cheia. Infelizmente, e especialmente ao usar o Safari, o ESC é usado para outras funções, como no tratamento de eventos de pressionamento de tecla Javascript. Não quero que o Lion saia do modo de tela cheia ao pressionar escape, mas não consigo encontrar um local para desativar essa funcionalidade.

Eu já sei o atalho do teclado para entrar / sair do modo de tela cheia ( Cmd - Ctrl - F ). Eu quero desativar o atalho ESC . Estive pesquisando no Google, mas não encontrei respostas.

    
por Fadi 27.07.2011 / 22:40

12 respostas

6

Para navegadores da Web e especificamente para o uso de sites com comportamento que habilite ou exija o uso da chave Escape , sem impedir o fechamento da tela cheia (como Empilhar sites do Exchange ), você pode usar o seguinte script de usuário:

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

Para executar isso em navegadores, use qualquer mecanismo de script de usuário para o seu navegador.

  • Para o Safari 5, você pode usar a extensão do Safari NinjaKit (em GitHub ). É isso que eu uso.
  • Para o Chrome, você pode usar a variante NinjaKit .
  • Para qualquer outro Safari no OS X, você pode usar o GreaseKit do plug-in SIMBL. Não tenho certeza se está atualizado.
por 12.02.2012 / 16:40
3

A maioria das situações nativas do OS X aceita Escape e Cmd-. para abortar, por ex. diálogos de arquivos, carregamento do Safari, arrastando elementos, etc.

Notavelmente ausente dessa lista, é claro, saindo do modo de tela cheia .

Assim, você pode aprender a pressionar Cmd-. em vez de Escape para evitar completamente essa situação. Ou você pode ensinar seu computador a fazer isso por você: Uma solução pelo menos razoável é usar, e. Item do Keystrokes para mapear Escape para Cmd-. :

  • Abra a página de configuração do Butler
  • Selecione qualquer contêiner, por exemplo Oculto , clique em + »Item inteligente» Teclas
  • Na guia Chaves , pressione Cmd-. para usar isso como o pressionamento de tecla resultante ao ativar este item
  • Na guia Triggers , selecione o campo de entrada Hot Key e pressione Escape . Ignore o aviso que basicamente diz que você é louco.
  • Lembre-se de adicionar, por exemplo Terminal para a lista de exceções - ignora totalmente Escape para sair em tela cheia, mas pressionar Ctrl-. significa Ctrl-C !

Em algumas situações, as coisas vão se comportar mal. Remapear a chave para o que é normalmente um atalho de teclado equivalente é uma solução de marreta. Quick Look , por exemplo, não manipula Cmd-. (e, portanto, o remapped Escape para fechar visualizações de arquivos); renomear arquivos no Finder não pode mais ser abortado usando Escape , nem seleções, por exemplo no Finder seja limpo.

Em testes limitados, não encontrei nenhuma situação em que pressionar Cmd-. na verdade levasse a ações indesejáveis sendo executadas, mas esteja ciente de que elas provavelmente também existem.

    
por 22.11.2011 / 20:28
2

Suas opções possíveis incluem:

  1. Defina atalhos alternativos para as outras funções, porque ESC é reservado pelo sistema operacional e pelo navegador.

  2. Ajuste o código da máquina fonte / assembler para religar a tecla ESC do sistema operacional e do navegador.

  3. Arquive a solicitação de bug / recurso contra o desenvolvedor do aplicativo (ou seja, planilhas do Google) para consumir o evento ESC em vez de deixá-lo passar.

  4. Registre um bug na Apple, porque os aplicativos estavam aqui primeiro, e a Apple reutilizou a chave sem justificativa.

por 29.08.2011 / 16:37
2

Não encontrei uma resposta para o macOs Sierra e superior. Então foi assim que resolvi esse problema.

Como já foi sugerido, eu remapeei o ESC para ⌥ + ESC. Ele faz o trabalho e até algumas outras funções atribuídas aos trabalhos principais. Você poderá sair de vídeos em tela cheia em alguns sites, mas não interromperá o carregamento da página.

Primeiro, você precisa instalar os elementos Karabiner para poder remapear as chaves

  1. Instale cerveja /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Instale o barril brew tap caskroom/cask
  3. Instalar elementos karabiner brew cask install karabiner-elements

Eu criei uma "modificação complexa" personalizada especificamente para esse problema. Para instalar esta modificação, você deve:

  1. Abra os elementos de mosquetão e vá para a guia "Modificações complexas"
  2. Clique no botão "Adicionar regra" e, em seguida, "Importar mais regras da Internet"
  3. Importar modificação "Não saia da tela cheia ao pressionar ESC no Safari"
por 06.09.2017 / 05:49
1

Apenas para detalhar a descrição um pouco mais.

ESC é usado para cancelar um arrasto, esc é usado para cancelar uma caixa de diálogo, esc é usado durante um arrasto para cancelar um movimento / cópia, esc é usado no terminal em VI para cancelar um comando de edição

Existem vários usos. É uma estranha estranheza que a Apple tenha esse modo de tela cheia cancelado, quando isso é possível pelo ctrl-cmd-F e o ícone superior direito.

Isso parece estar em um aplicativo por aplicativo. O Mail, o Safari e outros itens do iLife sairão da tela inteira. iTunes fica em tela cheia.

Reeder ignora o esc com o propósito de controle total de janela, e faz outras coisas apropriadas para o programa. O Evernote não tem sequer um cmd-F ou ctrl-cmd-F para o controle da janela, é o ícone e a tecla esc.

Parece que você não consegue mapear esc por si mesmo para alguma ação sem sentido prejudicial no painel de controle do teclado.

    
por 07.09.2011 / 20:47
1

Parece que você está usando o JQuery. Nesse caso:

Ouça os eventos keydown (o pressionamento de tecla e a chave não funcionam) no documento com keyCode 27 e quando o evento dispara a chamada e.preventDefault () .

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

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

});
    
por 23.01.2012 / 21:07
1

Tente a opção Esc , que funcionou para mim.

    
por 03.01.2013 / 16:17
1

Isso é o mesmo que a resposta @ aditya-srinivasan visando o 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>

Veja @aditya-srinivasan no link para download

    
por 09.05.2016 / 16:42
0

Eu decidi ter esc roteado para alt / option + esc . Para a maior parte, isso me permite sair dos vídeos do YouTube e, se você tiver uma conta no Squarespace, ela permite que você faça login sem sair da tela inteira.

  • Faça o download e instale o mosquetão .
  • Vá para a guia "Misc. e desinstalar" mais à direita.
  • Clique no botão que diz "Abrir private.xml".
  • Faça o download do arquivo private.xml em aqui
  • Substitua o arquivo "private.xml" original no Finder pelo arquivo baixado. Voila!
por 30.12.2014 / 18:08
0

Use BetterTouchTool ou KeyboardMaestro ou algo similar ao remapear Esc para ⌥ + Esc .

    
por 23.06.2015 / 14:17
0

Depois de uma busca desesperada pela solução, eu consigno o Safari a um desktop virtual separado com o controle da Missão. Isso atenua o problema do ESC e é de longe a melhor aproximação para uma janela do Safari em tela cheia.

Espaço bônus se você ocultar o Dock.

    
por 28.06.2015 / 10:28
0

FÁCIL, achou! KeyboardMaestro com 2 ações

Ao pressionar " ESC " Simular pressionando (em vez disso): - " CMD +" - ENTÃO também " ALT + ESC "

Você precisa de ambos, porque algum aplicativo reage apenas a um pedido ou outro (às vezes a nenhum, então nada é possível) - > desta forma, a maioria dos aplicativos fará como um " ESC " seu contexto, mas você nunca sairá do modo de tela inteira

    
por 14.01.2016 / 12:11