Mapeamento de Caps Lock para escape e controle no Windows 7
23
Quero poder mapear a tecla Caps Lock para Escape se não for pressionada com nenhuma outra tecla e Control, se estiver. Como posso fazer isso no Windows 7?
Ele remapeia Caps Lock para Ctrl e envia Escape quando você solta a tecla. Levei um tempo para me acostumar com a tecla Escape sendo pressionada toda vez que soltei a tecla Caps Lock. No entanto, é praticamente inútil nas áreas de texto do site, porque pressionar Escape perde o foco na área de texto.
Estou procurando uma solução para isso. Eu poderia ir tão longe quanto escrever algum tipo de driver / teclado em C, se necessário, haha.
Aborrecimentos específicos do Vim: Torna os digrafos impossíveis de digitar usando a combinação Ctrl-K e geralmente é irritante antes de você se acostumar. Funciona bem para mim, porque eu faria qualquer coisa para evitar as teclas Esc e Ctrl, tanto quanto possível.
Este não é o meu trabalho, mas comecei a usá-lo e funciona exatamente como descrito, sem ressalvas reais e, porque não tenta mapear nenhuma exceção (porque são desnecessárias), ele se comporta muito bem no Chrome (eu realmente queria para o Vimium).
Eu tenho usado esse script e funciona para mim. Estou usando isso para religar o Caps Lock ao Control / Escape para vim.
Brandon
11
Trabalho! Só para esclarecer, é um script do AutoHotKey. Comece aqui: autohotkey.com
Michael Fox
Para o benefício de leitores que podem não ter clicado e visto os comentários na minha essência, parece que esta solução só funciona se você pressionar Caps Lockantes de pressionar Shift. Caps+Shift+Xfunciona mas Shift+Caps+Xnão funciona .
Rich
4
Eu uso o seguinte script AutoHotkey para isso, adaptado de um que encontrei no Wiki de dicas do Vim . A implementação é um pouco invasiva, mas "funciona para mim". (E, ao contrário das outras respostas desta página a partir de 19/09/2016, ele resolve completamente o problema sem nenhuma advertência de que eu saiba.)
O codificador original observou:
O script também tenta detectar e evitar "falsos positivos" onde você pressiona Control e outra tecla e libera os dois com muita rapidez, ou seja, antes do período de tempo limite.
Certifique-se de ajustar o valor de 250ms, dependendo de quão bom ou ruim é o seu teclado, e do seu próprio tempo de reação. Provavelmente, isso é algo para ajustar experimentalmente ao seu gosto.
Aqui está uma entrada do registro que mapeia o caps lock para escapar no Windows 7.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,46,00,01,00,3a,00,00,00,00,00
Salve o acima em um arquivo com uma extensão .reg (como mapCapLocks.reg) e importe / execute-o em sua máquina.
Cite as partes essenciais da resposta nos links de referência, pois a resposta pode se tornar inválida se as páginas vinculadas forem alteradas. Atualmente 404, então esta resposta é inútil.
DavidPostill
Excelentes pontos. Vou atualizar a resposta
Stryker
Isso também mapeará a tecla ScrollLock para CapsLock. Se não é isso que você deseja, use o valor hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00. O editor útil para este mapa é ScancodeMapping from PlexData .
Appleshell 22/06
2
Na verdade, acho que construí a solução perfeita aqui:
Como usuário do Vim, isso é essencial para mim, e eu o uso com êxito no Windows há muito tempo. Acabei de criar uma entrada no HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runregedit para apontar para o executável e simplesmente funciona.
Para compilar e instalar dependências, consulte o arquivo README do repositório e o site principal em busca de Interceptação.
Extraia o zip em um local de sua escolha (guardo utilitários como esses em C:\Users\%username%\util\)
Abra o seguinte diretório: C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\e arraste o arquivo dual-key-remap.exe para lá, mantendo pressionada a tecla ALT para criar um atalho. (Ou clique com o botão direito do mouse e selecione 'criar atalho' e mova o atalho para o diretório de inicialização).
Entrar e sair. Alguns segundos após o login, as chaves serão recuperadas.
evite usar links como respostas. em vez disso, tente explicar da melhor maneira o conteúdo dos links e só depois usá-los como referência. se o link for quebrado, toda a resposta será sua.
Lorenzo Von Matterhorn
0
Não tenho reputação suficiente para comentar a resposta que funcionou para mim. Eu ainda voto isso no entanto.
A tecla Caps Lock se comporta como tecla Escape se pressionada sozinha. E se comporta como a tecla Ctrl se combinada com outras. Eu também tenho o mesmo caso de uso para isso. Vim.
As instruções no link que ele forneceu são simples o suficiente para seguir.
Se você não se importa em compilar código-fonte curto, use o código abaixo. Você precisa compilá-lo como aplicativo de console do Windows. Por exemplo, no prompt de comando do Visual C ++, você pode compilá-lo com
O remapeamento de chave funciona enquanto o aplicativo está em execução. Não há necessidade de reinicialização, logoff / entrada, etc. Se você precisar remapear para trabalhar com aplicativos executados com direitos de administrador, também será necessário executar o aplicativo remapeador como administrador. Já o usam há alguns dias (no Windows 10), até agora tudo bem.
Respostas:
Você pode remapear para Escape com SharpKeys
No entanto, não conheço uma maneira realista de executar o remapeamento condicional, além de escrever um driver de teclado.
fonte
Isso não é exatamente o que você deseja, mas é muito próximo se você pode viver com algumas falhas. Aqui está um script AutoHotKey :
Ele remapeia Caps Lock para Ctrl e envia Escape quando você solta a tecla. Levei um tempo para me acostumar com a tecla Escape sendo pressionada toda vez que soltei a tecla Caps Lock. No entanto, é praticamente inútil nas áreas de texto do site, porque pressionar Escape perde o foco na área de texto.
Estou procurando uma solução para isso. Eu poderia ir tão longe quanto escrever algum tipo de driver / teclado em C, se necessário, haha.
Aborrecimentos específicos do Vim: Torna os digrafos impossíveis de digitar usando a combinação Ctrl-K e geralmente é irritante antes de você se acostumar. Funciona bem para mim, porque eu faria qualquer coisa para evitar as teclas Esc e Ctrl, tanto quanto possível.
fonte
$CapsLock::Escape
e então imediatamentereturn
.Isso pode ter aparecido na página vim wikia mencionada anteriormente , após a solução de Rich acima.
Este não é o meu trabalho, mas comecei a usá-lo e funciona exatamente como descrito, sem ressalvas reais e, porque não tenta mapear nenhuma exceção (porque são desnecessárias), ele se comporta muito bem no Chrome (eu realmente queria para o Vimium).
fonte
Caps Lock
antes de pressionarShift
.Caps+Shift+X
funciona masShift+Caps+X
não funciona .Eu uso o seguinte script AutoHotkey para isso, adaptado de um que encontrei no Wiki de dicas do Vim . A implementação é um pouco invasiva, mas "funciona para mim". (E, ao contrário das outras respostas desta página a partir de 19/09/2016, ele resolve completamente o problema sem nenhuma advertência de que eu saiba.)
O codificador original observou:
CapsLockCtrlEscape.ahk gist :
fonte
Aqui está uma entrada do registro que mapeia o caps lock para escapar no Windows 7.
Salve o acima em um arquivo com uma extensão .reg (como mapCapLocks.reg) e importe / execute-o em sua máquina.
fonte
hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00
. O editor útil para este mapa é ScancodeMapping from PlexData .Na verdade, acho que construí a solução perfeita aqui:
Como usuário do Vim, isso é essencial para mim, e eu o uso com êxito no Windows há muito tempo. Acabei de criar uma entrada no
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
regedit para apontar para o executável e simplesmente funciona.Para compilar e instalar dependências, consulte o arquivo README do repositório e o site principal em busca de Interceptação.
Eu também criei uma versão Linux do mesmo aqui:
fonte
Eu estava procurando algo parecido com isso, mas infelizmente os scripts AHK das respostas aqui não funcionaram bem para mim.
No entanto, encontrei uma solução que resolveu isso para mim no wiki do vim .
C:\Users\%username%\util\
)C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
e arraste o arquivo dual-key-remap.exe para lá, mantendo pressionada a tecla ALT para criar um atalho. (Ou clique com o botão direito do mouse e selecione 'criar atalho' e mova o atalho para o diretório de inicialização).fonte
O programa remapkey.exe incluído nas Ferramentas do Windows Server 2003 Resource Kit mencionadas neste artigo funciona bem no Windows 7.
fonte
Não tenho reputação suficiente para comentar a resposta que funcionou para mim. Eu ainda voto isso no entanto.
a resposta de pepper-chico funcionou para mim.
A tecla Caps Lock se comporta como tecla Escape se pressionada sozinha. E se comporta como a tecla Ctrl se combinada com outras. Eu também tenho o mesmo caso de uso para isso. Vim.
As instruções no link que ele forneceu são simples o suficiente para seguir.
fonte
Se você não se importa em compilar código-fonte curto, use o código abaixo. Você precisa compilá-lo como aplicativo de console do Windows. Por exemplo, no prompt de comando do Visual C ++, você pode compilá-lo com
O remapeamento de chave funciona enquanto o aplicativo está em execução. Não há necessidade de reinicialização, logoff / entrada, etc. Se você precisar remapear para trabalhar com aplicativos executados com direitos de administrador, também será necessário executar o aplicativo remapeador como administrador. Já o usam há alguns dias (no Windows 10), até agora tudo bem.
fonte