Isso parece uma tarefa padrão para um programador que usa o vim; daí o meu voto para reabrir
Jeromy Anglim
4
Uma alternativa é mapear Caps Lock para Control (Preferências do sistema> Teclado> Teclas modificadoras) e executar a sequência de escape Ctrl + [para esc. Útil para o Vim.
Edit: Como descrito no esta resposta , versões mais recentes do MacOS agora tem suporte nativo para religar Caps Locka Escape. Portanto, não é mais necessário instalar software de terceiros para isso.
Aqui está minha tentativa de uma resposta abrangente e visual (com links) de como conseguir isso usando o Seil (anteriormente conhecido como PCKeyboardHack).
Primeiro, acesse as Preferências do sistema , escolha Teclado , depois a guia Teclado (primeira guia) e clique em Teclas modificadoras :
Na caixa de diálogo pop-up, defina Caps Lock Key como No Action:
3) Após a instalação, você terá um novo Aplicativo instalado (Mountain Lion e mais recente) e, se você estiver em um sistema operacional mais antigo, poderá ser necessário procurar um novo painel de Preferências do Sistema:
4) Marque a caixa que diz "Change Caps Lock" e digite "53" como o código da tecla Escape:
E pronto! Se não funcionar imediatamente, pode ser necessário reiniciar sua máquina.
Impressionado? Quer mais controle?
Você também pode querer conferir o KeyRemap4MacBook, que na verdade é a principal ferramenta de remapeamento do teclado pqrs.org- também é gratuito.
Se você gosta dessas ferramentas, pode fazer uma doação . Não tenho nenhuma afiliação com eles, mas uso essas ferramentas há muito tempo e devo dizer que os funcionários de lá têm feito um excelente trabalho mantendo-os, adicionando recursos e corrigindo bugs.
Aqui está uma captura de tela para mostrar algumas das (centenas de) opções pré-selecionáveis:
O PQRS também possui um ótimo utilitário chamado NoEjectDelay que você pode usar em combinação com o KeyRemap4MacBook para reprogramar a tecla Ejetar. Depois de alguns ajustes, o meu está configurado para alternar o AirPort Wifi.
Esses utilitários oferecem flexibilidade ilimitada ao remapear o teclado do Mac. Diverta-se!
Gostaria de esclarecer que uso o PCKeyboardHack sozinho sem o KeyRemap4Macbook há quase 2 anos para fazer exatamente isso.
rossipedia
13
Observe que, se você usar um teclado externo, repita a etapa um (ou seja, caps lock = nenhuma ação) para cada teclado. Falha ao executar esta etapa no teclado externo e, como resultado, o caps lock não respondeu a pressões muito rápidas de teclas devido à proteção acidental do caps lock. superuser.com/questions/317900/eliminate-macbook-capslock-delay
Jeromy Anglim
11
Ótimo tutorial. Mapeei Caps Lock para Esc por cerca de um ano. Foi extremamente eficiente. Um dia, no entanto, eu estava emparelhando com um desenvolvedor sênior. Eu disse a ele que usei o Vim como meu editor principal. Eu também, ele disse. Ele abriu sua máquina e começamos a trabalhar. Quando chegou a minha vez de editar o código, eu me atrapalhei e tropecei porque seu Caps Lock não estava mapeado. Eu continuava tentando ir até Esc, mas eu batia em Caps de vez em quando e então meus comandos normais mudavam. Ele me ensinou que o Ctrl-c também o levará de volta ao modo Visual. Faça um favor a si mesmo e comece a usar Ctrl-c.
Seria ótimo se você pudesse também editar e menção no topo que este é agora um recurso nativo no MacOS 10.12.1 por resposta de @ rkusa para que novos usuários não têm que ir download de software de terceiros
edhurtig
309
Desde o macOS 10.12.1, é possível remapear Caps Lockde Escforma nativa (Preferências do Sistema -> Teclado -> Teclas Modificadoras).
Impressionante! Descobri isso depois de ouvir que o novo MBP não teria uma chave de escape. Parece que a Apple antecipou alguma reação.
Andy E
1
A execução do El Capitan 10.11.6 e essa configuração já estão disponíveis.
Zool
1
Graças a Deus por isso; depois que Sierra quebrou Seil / Karabiner, pensei que estava condenado.
Philip
4
Estranhamente, estou no 10.11.6 e não tenho essa opção. Só tenho permissão para remapear esc para caps, ctrl, opt ou command. Isso é verdade para os meus teclados WASD v2.
Por exemplo, para remapear o caps-lock para escapar, consulte a tabela de chaves e verifique se o caps-lock tem o código de uso 0x39 e o escape tem o código de uso 0x29. Coloque esses códigos ou com o valor hexadecimal 0x700000000 na fonte e dest assim:
Suas alterações serão perdidas na reinicialização do sistema. Se você deseja que eles persistam, coloque-os em um script e configure um gancho de login:
Obrigado por isso, +1! Eu adicionei algumas notas tangenciais ao post da Apple, que esperançosamente adicionam algum valor para nós, pessoas pobres que não querem uma tecla Esc, mas não usam o Caps Lock.
Tripleee 23/01/19
Ótimo método para MacBooks que têm problemas com o teclado embutido. O meu estava causando problemas com as Configurações do teclado, então não pude remapear nenhuma tecla lá.
Igor
Não consegui fazer isso funcionar corretamente com o LoginHookmétodo - acho que alguma coisa depois que ele executa seleciona minhas configurações de teclado local para um teclado escandinavo? De qualquer forma, stackoverflow.com/a/22872222/874188 observa que LoginHookfoi preterido e defende o uso launchd.
Vá para PCKeyboardHack em Preferências do sistema.
Ative 'Change Caps Lock' e defina o código da chave para 53.
Solução 2
Esta solução não envolve o patch do driver do teclado, mas fornece uma solução específica para o Vim.
O OS X suporta o mapeamento da tecla Caps Lock para várias teclas, mas você precisa fazer isso manualmente, editando arquivos .plist. O processo é descrito neste artigo . Como adendo a essa dica, sugiro que você defina primeiro Caps-Lock como None nas Preferências do sistema, e somente precisará alterar um valor no arquivo .plist. Além disso, é claro que você pode usar o Editor de lista de propriedades em vez de seguir as etapas de conversão de XML.
O truque é mapear a tecla Caps Lock para a tecla Help (código 6), que não está na maioria dos teclados. Mas, se for, será tratada como a tecla de inserção, que você provavelmente não usa, pois pergunta sobre remapear o Caps Lock para evitar esticar as mãos;)
Você pode mapear a Ajuda e a Insertchave Escno vim.
Isso funcionará para o gvim (Vim.app). Não o fiz funcionar com o vim no Terminal e não testei com o MacVim.
Portanto, é uma solução complicada e incompleta ou a instalação de um hacker de terceiros. Sua escolha;)
Edit: Só solução notado 3, se você estiver usando MacVim você pode usar Ctrl, Optione Commandcomo Esc. Com as Preferências do sistema, é trivial mapear o Caps Lock para uma dessas teclas.
A única coisa que sei fazer é mapear Caps Lock para Control, Option ou Command. Isso pode ser feito através do painel Teclado e Mouse, em Preferências do sistema. Clique em "Modifier Keys" no canto inferior esquerdo e você poderá remapear Caps Lock, Control, Option e Command, para qualquer um deles.
@ Craig: Isso sugere que o Caps Lock pode ser usado como uma chave normal - ou seja, sem alternar -. No meu MacBook, desde que eu mapeei novamente o Caps Lock para Control, a luz do Caps Lock nunca acende. Ele simplesmente age como a tecla Control.
Estou usando github.com/tekezo/Karabiner-Elements (que funciona no Sierra). Trabalhando muito bem até agora, embora eu desejo que ele fez "Control_L para Control_L (+ quando você digita Control_L somente, enviar Escape)"
atomkirk
1
@atomkirk Você se importaria de compartilhar a configuração JSON do Karabiner usada?
Karabiner fez o truque para mim com o JSON da atomkirk. Apesar da captura de tela acima, a interface do usuário do Keyboard Maestro é uma bagunça e eu não consegui configurá-la.
Paul
10
Tendo tentado várias dessas soluções, tenho algumas anotações:
DoubleCommand vai não permitem que você esc swap e caps-lock.
O PCKeyboardHack será permitem mapear capslock para escapar,mas não tem a capacidade de mapear escape para capslock. As versões recentes permitem realizar uma troca completa editando as duas chaves.
Isso pode ou não ser suficiente para as suas necessidades (eu sei que é para as minhas).
O PCKeyboardHack não permite mapear a fuga para o capslock, mas o aplicativo complementar KeyRemap4MacBook sim. Permite mapear “Escape to CapsLock” e “Shift + Escape to CapsLock”.
Rory O'Kane
9
Caso você não queira instalar um aplicativo de terceiros e realmente se preocupe apenas com o vim no iTerm, o seguinte funciona:
Remapeie o CapsLock para obter ajuda, conforme descrito aqui .
Versão curta: use plutil ou similar para editar ~/Library/Preferences/ByHost/.GlobalPreferences*.plist, deve ser semelhante a este:
Reiniciar! Um simples logoff e logon não funcionou para mim.
No iTerm, adicione um novo mapeamento de chave para a Ajuda: envie o código hexadecimal 0x1b, que corresponde a Escape.
Eu sei que isso não é exatamente o que foi solicitado, mas presumo que a intenção de muitas pessoas que procuram uma solução como essa seja realmente essa variante mais especializada.
Para realmente trocar a chave de escape pela tecla caps lock (não apenas mapear uma para a outra) usando o PCKeyboardHack e o KeyRemap4MacBook, siga as instruções neste tópico , mapeando a tecla caps lock para um código-chave não usado pelo teclado, mas contabilizado pelo KeyRemap4MacBook (por exemplo, 110). Em seguida, no PCKeyboardHack, selecione a opção apropriada que mapeia esse código de chave para escapar (no caso de 110, é "Chave do aplicativo para escapar"). Veja como devem ser as suas preferências do KeyRemap4MacBook (desde que você tenha selecionado a caixa de seleção "Mostrar somente ativado").
Eu originalmente tentou postar esta informação como uma edição para excelente resposta de cwd , mas foi rejeitada. Encorajo qualquer pessoa que queira seguir o caminho que eu descrevo a primeiro ler sua resposta.
Ctrl + [
paraesc
. Útil para o Vim.Respostas:
Edit: Como descrito no esta resposta , versões mais recentes do MacOS agora tem suporte nativo para religar Caps Locka Escape. Portanto, não é mais necessário instalar software de terceiros para isso.
Aqui está minha tentativa de uma resposta abrangente e visual (com links) de como conseguir isso usando o Seil (anteriormente conhecido como
PCKeyboardHack
).Na caixa de diálogo pop-up, defina Caps Lock Key como
No Action
:2) Agora, clique aqui para baixar o Seil e instalá-lo:
3) Após a instalação, você terá um novo Aplicativo instalado (Mountain Lion e mais recente) e, se você estiver em um sistema operacional mais antigo, poderá ser necessário procurar um novo painel de Preferências do Sistema:
4) Marque a caixa que diz "Change Caps Lock" e digite "53" como o código da tecla Escape:
E pronto! Se não funcionar imediatamente, pode ser necessário reiniciar sua máquina.
Impressionado? Quer mais controle?
Você também pode querer conferir o KeyRemap4MacBook, que na verdade é a principal ferramenta de remapeamento do teclado
pqrs.org
- também é gratuito.Se você gosta dessas ferramentas, pode fazer uma doação . Não tenho nenhuma afiliação com eles, mas uso essas ferramentas há muito tempo e devo dizer que os funcionários de lá têm feito um excelente trabalho mantendo-os, adicionando recursos e corrigindo bugs.
Aqui está uma captura de tela para mostrar algumas das (centenas de) opções pré-selecionáveis:
O PQRS também possui um ótimo utilitário chamado NoEjectDelay que você pode usar em combinação com o KeyRemap4MacBook para reprogramar a tecla Ejetar. Depois de alguns ajustes, o meu está configurado para alternar o AirPort Wifi.
Esses utilitários oferecem flexibilidade ilimitada ao remapear o teclado do Mac. Diverta-se!
fonte
CTRL-[
é, na verdade, o equivalente adequado ao ESC. stackoverflow.com/questions/5030164/…Desde o macOS 10.12.1, é possível remapear Caps Lockde Escforma nativa (Preferências do Sistema -> Teclado -> Teclas Modificadoras).
fonte
Não fiquei satisfeito com nenhuma das respostas aqui e procurei uma solução de linha de comando .
No macOS Sierra 10.12, a Apple introduziu uma nova maneira de os usuários remapearem as chaves.
Se isso lhe parece bom, dê uma olhada
hidutil
.Por exemplo, para remapear o caps-lock para escapar, consulte a tabela de chaves e verifique se o caps-lock tem o código de uso 0x39 e o escape tem o código de uso 0x29. Coloque esses códigos ou com o valor hexadecimal 0x700000000 na fonte e dest assim:
Você pode adicionar outros mapeamentos no mesmo comando. Pessoalmente, gosto de remapear caps-lock para backspace e remapear backspace para excluir:
Para ver o mapeamento atual:
Suas alterações serão perdidas na reinicialização do sistema. Se você deseja que eles persistam, coloque-os em um script e configure um gancho de login:
fonte
LoginHook
método - acho que alguma coisa depois que ele executa seleciona minhas configurações de teclado local para um teclado escandinavo? De qualquer forma, stackoverflow.com/a/22872222/874188 observa queLoginHook
foi preterido e defende o usolaunchd
.É possível.
Solução 1
De um artigo no TrueAffection.net.
Solução 2
Esta solução não envolve o patch do driver do teclado, mas fornece uma solução específica para o Vim.
O OS X suporta o mapeamento da tecla Caps Lock para várias teclas, mas você precisa fazer isso manualmente, editando arquivos .plist. O processo é descrito neste artigo . Como adendo a essa dica, sugiro que você defina primeiro Caps-Lock como None nas Preferências do sistema, e somente precisará alterar um valor no arquivo .plist. Além disso, é claro que você pode usar o Editor de lista de propriedades em vez de seguir as etapas de conversão de XML.
O truque é mapear a tecla Caps Lock para a tecla Help (código 6), que não está na maioria dos teclados. Mas, se for, será tratada como a tecla de inserção, que você provavelmente não usa, pois pergunta sobre remapear o Caps Lock para evitar esticar as mãos;)
Você pode mapear a Ajuda e a Insertchave Escno vim.
Isso funcionará para o gvim (Vim.app). Não o fiz funcionar com o vim no Terminal e não testei com o MacVim.
Portanto, é uma solução complicada e incompleta ou a instalação de um hacker de terceiros. Sua escolha;)
Edit: Só solução notado 3, se você estiver usando MacVim você pode usar Ctrl, Optione Commandcomo Esc. Com as Preferências do sistema, é trivial mapear o Caps Lock para uma dessas teclas.
fonte
Agora é muito mais fácil mapear a Caps Lockchave para o EscmacOS Sierra.
Abra Preferências do Sistema → Teclado.
Clique no botão Teclas modificadoras no canto inferior direito.
Clique na caixa suspensa ao lado da chave de hardware que você deseja remapear e selecione Escape.
Clique em OK e feche as Preferências do Sistema.
https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/
fonte
A única coisa que sei fazer é mapear Caps Lock para Control, Option ou Command. Isso pode ser feito através do painel Teclado e Mouse, em Preferências do sistema. Clique em "Modifier Keys" no canto inferior esquerdo e você poderá remapear Caps Lock, Control, Option e Command, para qualquer um deles.
@ Craig: Isso sugere que o Caps Lock pode ser usado como uma chave normal - ou seja, sem alternar -. No meu MacBook, desde que eu mapeei novamente o Caps Lock para Control, a luz do Caps Lock nunca acende. Ele simplesmente age como a tecla Control.
fonte
O Seil ainda não está disponível no macOS Sierra (10.12 beta). Como tal, tenho usado o Keyboard Maestro com estas configurações:
Crédito para este comentário do github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664
fonte
Tendo tentado várias dessas soluções, tenho algumas anotações:
DoubleCommand vai não permitem que você esc swap e caps-lock.
O PCKeyboardHack será permitem mapear capslock para escapar,
mas não tem a capacidade de mapear escape para capslock. As versões recentes permitem realizar uma troca completa editando as duas chaves.Isso pode ou não ser suficiente para as suas necessidades (eu sei que é para as minhas).
fonte
Caso você não queira instalar um aplicativo de terceiros e realmente se preocupe apenas com o vim no iTerm, o seguinte funciona:
Remapeie o CapsLock para obter ajuda, conforme descrito aqui .
Versão curta: use plutil ou similar para editar
~/Library/Preferences/ByHost/.GlobalPreferences*.plist
, deve ser semelhante a este:Reiniciar! Um simples logoff e logon não funcionou para mim.
No iTerm, adicione um novo mapeamento de chave para a Ajuda: envie o código hexadecimal 0x1b, que corresponde a Escape.
Eu sei que isso não é exatamente o que foi solicitado, mas presumo que a intenção de muitas pessoas que procuram uma solução como essa seja realmente essa variante mais especializada.
fonte
Para realmente trocar a chave de escape pela tecla caps lock (não apenas mapear uma para a outra) usando o PCKeyboardHack e o KeyRemap4MacBook, siga as instruções neste tópico , mapeando a tecla caps lock para um código-chave não usado pelo teclado, mas contabilizado pelo KeyRemap4MacBook (por exemplo, 110). Em seguida, no PCKeyboardHack, selecione a opção apropriada que mapeia esse código de chave para escapar (no caso de 110, é "Chave do aplicativo para escapar"). Veja como devem ser as suas preferências do KeyRemap4MacBook (desde que você tenha selecionado a caixa de seleção "Mostrar somente ativado").
Eu originalmente tentou postar esta informação como uma edição para excelente resposta de cwd , mas foi rejeitada. Encorajo qualquer pessoa que queira seguir o caminho que eu descrevo a primeiro ler sua resposta.
fonte
Seil ainda não funciona no macOS Sierra, por isso estou usando o Karabiner Elements , faça o download em https://pqrs.org/latest/karabiner-elements-latest.dmg .
Use a GUI ou coloque o seguinte em
~/.karabiner.d/configuration/karabiner.json
:fonte
Você também pode usar o DoubleCommand para remapear isso e outras chaves.
IIRC, mapeará Caps Lock para Esc.
fonte
Abra as preferências do teclado e clique nas teclas modificadoras ... você pode alterar a tecla caps lock para controlar, opção, escape ou comando.
fonte
Esc
eEscape
? (pergunta séria) #Karabiner-Elements Um personalizador de teclado poderoso e estável para o macOS. (freeware)
https://pqrs.org/osx/karabiner/index.html
Trabalhou comigo para que o Mojave alterasse caps-lock para backspace
fonte