Posso fazer com que Ctrl + Alt NÃO atue como o AltGr no Windows?

33

Muitos aplicativos como o Google Docs usam Ctrl+ Altatalhos como Ctrl+ Alt+ 2para o cabeçalho 2, Ctrl+ Alt+ mpara comentários etc. No entanto, no caso de layouts de teclados internacionais, Ctrl+ Alté mapeado para AltGr, muitos desses atalhos produzem caracteres especiais, por exemplo, Ctrl+ Alt+ 2= @. Portanto, esses atalhos não podem ser usados.

Existe uma maneira de desativar esse Ctrl+ Alt= AltGr, de modo que AltGr+ 2= @ mas Ctrl+ Alt+ 2possa ser usado como um atalho?


Houve algum post anterior com respostas relacionadas a esse problema:

No entanto, as duas soluções estão relacionadas à atribuição completa do caractere especial. Essas soluções não desativam a ligação Ctrl+ Alt= AltGr. Isso significa que, para usar Ctrl+ Alt+ 2como atalho, não consigo escrever @, o que naturalmente não é uma opção.

Bittenus
fonte
3
Você tentou AutoHotKey
Dave
Você já fez o roteiro? Se sim, você poderia compartilhar?
precisa saber é o seguinte

Respostas:

17

Eu pesquisei mais e olhei para as outras respostas. Parece que a resposta curta é: Não! O Windows trata Ctrl + Alt e de forma AltGr idêntica .

Mas há um hack. Essencialmente, não permitimos que o Windows lide com AltGrligações de teclas e, em vez disso, use uma ferramenta de terceiros que saiba a diferença. Fazemos isso manualmente para cada tecla de chamuscado.

Este hack não funciona com " chaves mortas " como ~ou ^.

.

Parte 1: Deixe o AutoHotKey converter AltGr+ Some Key em símbolos O
AutoHotKey pode distinguir entre AltGre Ctrl+ Alt. Ele também pode transformar as teclas pressionadas como AltGr+2 em um único símbolo @, antes que o Windows aplique seu layout de teclado.

  1. Baixe e instale o AutoHotKey
  2. Crie um novo script, ou seja, um arquivo de texto sem formatação com a extensão .ahk
  3. Para cada caractere que você deseja escrever com AltGr+ BUTTON= CHAR, crie uma linha como esta:
    <^>!BUTTON::SendInput {raw}CHAR
    Exemplo: AltGr+ 2= @ torna-se<^>!2::SendInput {raw}@
  4. Salve o script

Se você quiser testar seu script, poderá criar alguns mapeamentos arbitrários como <^>!t::SendInput {raw}tttt. Clique duas vezes no script para aplicá-lo e teste se AltGr+ tproduz quatro t quando você digita.

.

Parte 2: Tire as janelas do caminho:
queremos remover todas as atribuições de AltGr+ Any Keyno teclado, para que o Windows nunca as converta em caracteres.

Primeiro, precisamos criar um novo layout de teclado.

  1. Faça o download do Microsoft Keyboard Layout Creator . É uma ferramenta simples que permite modificar o layout do teclado. ( Link para download )
  2. Abra a ferramenta e File -> Load Existing Keyboardescolha o layout do teclado.
  3. Selecione File -> Save source ase dê um novo nome a ele.
  4. Marque o Alt+Ctrl (AltGr).
    Você pode optar File -> Save as Imagepor anotar as atribuições originais.
  5. Remova todas as chaves atribuídas, clicando nelas, excluindo o símbolo e clique em OK
    Não limpar nenhuma chave morta! (Os cinza). Verifique para todos os modificadores ou seja AltGr, Ctrl, Alt, ou nenhum!
  6. Vá para Projet -> Propertiee dê um nome e uma descrição decentes.
  7. Salve: File -> Save Source Filepara que você possa editá-lo mais tarde
  8. Configuração de exportação: Project -> Build DLL and Setup Package

Então precisamos aplicar esse novo layout de teclado.

  1. Localize os arquivos de instalação exportados na pasta Documentos e clique duas vezes setup.exe. Isso instalará seu novo layout de teclado.
  2. Abra a configuração de entrada acessando Control Pannel -> Change keyboards and other input methods -> Change keybords
  3. Clique em Addselecionar seu próprio teclado e torná-lo padrão.
    Volte aqui e remova o teclado padrão, assim que tudo estiver confiante.

.

Parte 3: Deixe o AutoHotKey assumir:
Agora vamos colocar tudo em ação:

  1. Verifique se o seu novo teclado está selecionado na barra de tarefas do idioma e se o AutoHotKey não está sendo executado minimizado na bandeja de notificações.
  2. Tente digitar seus caracteres especiais. Isso não deve funcionar.
  3. Clique duas vezes no script AutoHotKey. Então lança
  4. Tente digitar caracteres especiais novamente. Agora, isso deve funcionar AltGrapenas.
  5. Para garantir que o script seja carregado quando o Windows iniciar, crie um atalho na Start Menu\Programs\Startuppasta

É isso aí! (ツ) Você pode compartilhar os arquivos de configuração do layout do teclado e o .ahkscript com outros computadores para pular a maioria das etapas.


Outros recursos:
http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/replace-default-windows-keyboard-shortcut-behavior/0c5ff2a4-6bea-49a9-88bc-669049a1e107
http: // office.microsoft.com/en-us/word-help/alt-gr-keys-HP005259063.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx
http: //www.autohotkey.com/board/topic/61625-how-to-avoid-that-ctrl-alt-altgr/

Bittenus
fonte
Outro recurso valioso é o blog de Michael Kaplan .
Piotr Dobrogost
1
removendo atribuições AltGr + chave só funcionará se o seu idioma não requer o uso de AltGr
phuclv
Eu consegui esse tipo de trabalho. O problema é que o Keyboard Layout Creator está com erros. Esteja preparado para instalar e desinstalar layouts várias vezes. Às vezes, as desinstalações não funcionam da primeira vez. A descrição não é atualizada corretamente, o que você pode corrigir no registro Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts`, the DLLs can be found in System32`. Eu desisto de fazer esse trabalho 100% neste momento
CervEd 02/12
Parece que o Windows precisa reiniciar para fazer algumas coisas relacionadas ao teclado, como refletir descrições atualizadas e remover os teclados excluídos do painel de controle. Isso era muito mais doloroso do que eu esperava. Parece funcionar bem agora. Teve que criar comandos explícitos de capitalização no AutoHotKey, ou seja, ambos <^>!q::SendInput {raw}äe<+<^>!q::SendInput {raw}Ä
CervEd 02/12
1

Eu recomendaria que você desse uma olhada no AutoHotKey . É uma ferramenta gratuita e você também pode alterar os efeitos de atalho com muita facilidade. Dê uma olhada no documentação teclas de atalho no site delas. É realmente fácil de entender e muito fácil de usar. Você pode remapear todas as teclas / atalhos.

Christian Wörz
fonte
0

Eu recomendaria SharpKeys:

O SharpKeys é um hack do Registro usado para fazer com que certas teclas do teclado funcionem como outras teclas. Por exemplo, se você pressionar acidentalmente o Caps Lock com frequência, poderá usar esse utilitário para mapear o Caps Lock para uma tecla Shift ou até mesmo desativá-lo completamente. Esta versão oficial inclui suporte para até 104 mapeamentos, uma extensa lista de chaves disponíveis e uma opção "Type Key" para ajudar no gerenciamento de mapeamentos.

Eu não o usei pessoalmente, mas conheço alguém que o usou no passado e está muito feliz com isso.

Não tenho certeza, mas talvez mudar o layout do teclado para (Inglês do Reino Unido) possa ajudar. Aqui está um link sobre como .

Augustus Francis
fonte
Dê uma olhada no SharpKeys, mas ele parece mapear apenas um pressionamento de tecla para outro e não faz combinações, portanto não ajuda :( Alternar o layout do teclado não é uma opção, pois a maioria dos símbolos está em outros locais - até o número de chaves são diferentes, mas obrigado por sugestões..
Bittenus
0

Descobri que o teclado numérico pode ser usado em vez de teclas numéricas regulares para ativar os atalhos do Google Docs. Usando o AHK, isso também funciona em laptops sem teclas numéricas. Por exemplo,

<^<!2::SendInput ^!{Numpad2}

ativará o cabeçalho 2 sem imprimir @. Não há necessidade de usar o MSKLC.

Sebastian I
fonte
-3

pressione e mantenha pressionada a tecla NumLock por 5 segundos.

Isso funcionou para mim.

Encontrei a resposta no computador aqui: "Painel de Controle \ Todos os Itens do Painel de Controle \ Centro de Facilidade de Acesso \ Facilite o uso do teclado" ... O Mine está marcado ao lado de 'ativar as teclas de alternância pressionando e mantendo pressionado NUMLock para 5 segundos'....

user762656
fonte
Esclareça e adicione um pouco mais de contexto a esta resposta para transmitir exatamente o que você está sugerindo. Você sabe, considere adicionar alguma referência a esta resposta para apoiar o que você declara. Caso contrário, leia "Por que preciso de 50 reputação para comentar" para garantir que você entenda como pode começar a comentar.
Pimp Juice IT