Como desativar a digitação de caracteres especiais ao pressionar a tecla Option no Mac OS X? [fechadas]


129

Agora, quando eu pressionar a opção-b, get. Não preciso digitar caracteres especiais e mapear a opção-b para atalhos para certos aplicativos. Há alguma maneira de fazer isso?


26
Estou usando o IntelliJ e gostaria de simular atalhos de teclado do emacs e mapeei a meta para a tecla de opção. Mas quando pressiono, digamos, a opção b, obtive o comportamento esperado, pois é interpretado como um caractere especial.
ximyu 9/08/2012

3
Se eu usar a tecla de opção como modificador, posso definir ainda mais atalhos no meu IDE, o que aumenta significativamente minha produtividade.
21413 Dan

25
É simplesmente ridículo o quão difícil são essas ações simples nos Macs. Colocou um aplicativo errado no iniciador - boa sorte removendo-o com instruções SQL; deseja desativar algum atalho estúpido - comece a baixar e testar zilhões de soluções que não são consistentes nas versões do sistema operacional. Deus, por que eu comprei esse computador horrível?
Vasiliy

3
Isso funciona para mim: superuser.com/a/942256/535138
김민준

1
Para pessoas com problemas no terminal, siga estas instruções -> superuser.com/questions/496090/…
A-letubby

Respostas:


33

Eu estava tendo exatamente o mesmo problema, exatamente no mesmo IDE.

A solução é baixar o Ukulele a partir daqui:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

No aplicativo, você pode criar um novo layout de teclas usando Arquivo -> Novo da fonte atual. Pressionar Opção mostrará o local da Opção-b, uma tecla vermelha - o que significa que é uma tecla morta . Clicar duas vezes nele permitirá alterar de uma chave morta para uma chave de saída. Quando a saída for solicitada, você poderá colocar a mesma coisa (pressionando a opção-b).

Portanto, ele produzirá o mesmo caractere, mas não será considerado uma chave morta, portanto, o Intellij poderá vinculá-lo como um atalho.

Para ativar seu novo layout, salve-o em ~ / Library / Keyboard Layouts (ajuda se você der um novo nome a Teclado -> Definir nome do teclado) e ative-o em Preferências do sistema -> Idioma e texto.


15
Isso dá muito trabalho e corrige apenas uma combinação de teclas em um aplicativo. Eu e pelo menos alguns outros gostariam de desativar o opt como entrada de caracteres especiais no mac.
Javadba

@javadba Não foi tão ruim depois que eu acertei. Veja minha resposta abaixo para obter etapas detalhadas que devem ser rápidas para clicar.
27468 Peter Lamberg

Adicionei uma resposta com etapas detalhadas ao que o @SebastianZaha descreve nesta resposta. Acabei me atrapalhando um pouco para fazê-lo, por isso espero que poupe alguém (e depois eu) alguns problemas.
Peter Lamberg

74

Você pode criar um mapeamento de teclado personalizado com as letras de opção definidas como BLANK usando a ferramenta on-line desta página da web . Você pode criar um mapeamento personalizado em vários cliques em praticamente qualquer layout de teclado. Provado para trabalhar no MacOSX 10.7+ com IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.

Selecione o rádio "Definir em branco para a tecla de opção" no formulário, envie o formulário e faça o download de um layout de teclado corrigido com o recurso de tecla "opção" desativado. Estou compartilhando o arquivo de trabalho para o layout de teclado padrão em inglês dos EUA:

Depois de ativar esse mapeamento personalizado, se você digitar uma letra com a tecla "opção" pressionada, nada será impresso na saída de texto. Mas, a "opção de pressionar a tecla" é acionada pelo sistema operacional e detectada pelo seu IDE. Portanto, você obtém exatamente o mesmo comportamento das outras chaves de comando!

  1. Faça o download do arquivo de mapeamento de chaves My Layout.keylayout.
  2. Mova para ~/Library/Keyboard\ Layouts/
  3. Abrir System Preferences->Language & Text
  4. Vá para Input Sources-> (hit +)->Select Others
  5. Você deve encontrar My Layoutna lista e selecioná-lo.

A etapa 4 pode mudar um pouco nas versões do MacOS. Por favor, seja paciente para encontrar a lista de layouts de teclado nas configurações.


1
@ javadba, corrigi minha resposta. Obrigado pelo seu feedback!! As coisas podem mudar com as novas versões do sistema operacional.
1010 Dan

5
O link da caixa de depósito aparece quebrado agora.
Andrew White

2
Não foi possível fazer isso funcionar. Posso adicionar meu layout chave novo na lista, mas não pode remover o layout default 'US', portanto, não vai realmente usar o meu layout chave novo ....
AgmLauncher

12
Isso não funciona mais no 10.11. Eu gerar um arquivo de layout em gist.github.com/haosdent/573ea124e5ea666fc576 que trabalha em 10.11
haosdent

1
Não funcionou para mim. Em vez da opção + r digitando ®, ele agora digita rIntelliJ :(
Navin

35

Aqui estão as etapas detalhadas da resposta de Sebastian Zaha. (Acabei me atrapalhando um pouco antes de começar a trabalhar).

(Como alternativa, aqui está um arquivo pronto por mim )

  1. Baixar Ukelele
  2. Você pode executá-lo diretamente do arquivo .dmg
  3. Arquivo -> Novo com base na fonte de entrada atual (eu tinha selecionado EUA)
  4. Clique no botão Modificadores
  5. Selecione cada modificador da lista que possui Left Down ou Right Down na coluna Option . (Também pode haver alguns como Down Down ou Up , mas você pode deixá-los no AFAIK.)
    • Pressione o botão de menos para cada um como este
  6. Vá para o menu Teclado -> Definir nome do teclado
  7. Altere o nome de alguma forma para facilitar a identificação
  8. Vá para Arquivo -> Salvar como
  9. Salve em ~ / Biblioteca / Teclado \ Layouts / com o sufixo .keylayout
  10. Saia da sua conta do Mac OS
  11. Entrar novamente
  12. Vá para Preferências do Sistema -> Teclado -> Fontes de Entrada
  13. Pressione o botão + -> Outros -> Seu novo layout deve estar disponível
  14. Adicione o novo layout
  15. Possivelmente deixe o layout do teclado original também e configure uma boa maneira de alternar

1
Esta é a única solução que funcionou para mim e me permitiu reativar os combos de teclas com os comandos do Emacs.
event_jr

@event_jr, como você os religou para o comportamento do emacs? Quando você pressiona a opção e clica em b, ele solicita a saída para essa combinação. Como podemos dizer que a saída é retornar uma palavra?
Sahas

1
Como comentei acima, isso não me ajudou a corrigir atalhos no IDEA no Yosemite também. Receio que eles tenham mudado algo nas versões mais recentes e agora não foi possível corrigir isso. Estou executando o IntelliJ IDEA 14.1.2 no OS X Yosemite 10.10.3
Innokenty

1
@Innokenty Strange. Estou no OSX 10.10.3 e IDEA 14.1.2 e minhas ligações do tipo emacs funcionam. Trouxe a configuração do IDEA de uma máquina Windows e o arquivo .keylayout foi criado usando uma versão mais antiga do OSX. Um desses poderia ser o motivo? Aqui está o meu arquivo de layout.
Peter Lamberg

1
No OS X 10.10.5, eu não vi nenhum "Left Down" ou "Right Down" na coluna "Option": apenas "Ou Down". Eu removi tudo isso e agora tenho as teclas de atalho do estilo Emacs trabalhando no IntelliJ. Eu gostaria de entender o que significa remover essas linhas, mas como é fácil alternar os métodos de entrada se eu tiver problemas, continuarei com isso. Obrigado.
marcadores duelin

12

Use Ctrl-Alt-<MNEMONIC>. IMHO muito mais fácil do que ter que instalar e configurar um aplicativo separado.


2
Bom saber. No entanto, isso não é completamente satisfatório se também as combinações de teclas Ctrl-Alt- tiverem funções.
Peter Lamberg

4
Para o IDE, o CTRL + ALT provavelmente já está sendo usado, portanto, é necessário reconfigurar o IDE, o que é uma dor igual a ter que configurar outro aplicativo.
ARKBAN

esta resposta é o que você recebe se você perguntar a JetBrains
Kirby

8

Eu tenho uma solução! Coloque um arquivo em: ~/Library/KeyBindings/DefaultKeyBinding.dictas:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

Ele ocultará a entrada de texto original. Mas você ainda pode obter isso usando Ctrl-Q antes da combinação. Então Ctrl-Q Alt-f me dá ƒ por exemplo. Na verdade, estou escrevendo esta resposta com as opções de teclas ativadas. Você também pode adicionar outras teclas que desejar! Referência oficial: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

Aqui está uma boa lista de itens aos quais você pode se vincular: https://www.hcs.harvard.edu/~jrus/site/selectors.html

Ah, a propósito, se você vincular uma chave a uma ação indefinida, seu aplicativo terá um vazamento de memória e seu sistema ficará sem memória em alguns segundos. Testado em el capitan, da maneira mais difícil.


5

Eu tive o mesmo problema em um novo Macbook com VSCode que funcionou bem no meu antigo Macbook. Quando digitei alt-shift-f para o formato, obtive o unicode. Percebi que a diferença era que meu Macbook antigo tinha uma configuração de teclado britânica em vez do padrão "ABC - Extended". Adicionar o teclado britânico corrigiu o problema para mim.


Eu tentei isso, mas ainda tenho um personagem irritante com a Option + N, por exemplo, no Intellij IDEA.
Amir Eldor

2

Usando o Apple JRE, as combinações de teclas Opção funcionarão como atalhos em vez de inserir caracteres especiais.

Link para download: https://support.apple.com/kb/DL1572?locale=en_US

É um antigo JRE desatualizado (baseado no Java 6), mas em outubro de 2015 ainda é o que parece funcionar melhor com minha instalação do JetBrains RubyMine. (Além disso, as teclas voltam a inserir caracteres especiais.)


0

Eu encontrei uma solução decente. Eu uso o software Karabiner para alterar minha tecla Enter direita para controlar quando pressionada.

Portanto, o que iv fez é remapear a tecla option para option + cmd + control, pois não conheço nenhum comando que use todos os três modificadores. Agora eu posso mapear os atalhos certos sem caracteres. Mas você também pode mapear para chaves adicionais, se necessário

Adicione isso ao seu private.xml: (entre a raiz)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

Em seguida, recarregue o xml e ative a opção na parte superior da guia 'Alterar chave'

https://pqrs.org/osx/karabiner/


-2

Use ABC como método de entrada em vez de ABC-Extended, a opção + [char] poderá usar o atalho do aplicativo em vez de mostrar caracteres especiais.


Esta resposta me ajudou, em vez de ABC-Locale ou ABC-Extended, usei ABC
Code Name Jack

-3

Basta usar a tecla esc em vez de meta, por exemplo, mapas meta-x para esc-x.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.