Eu pesquisei mais e olhei para as outras respostas. Parece que a resposta curta é: Não! O Windows trata Ctrl + Alt e AltGr identicamente .
Mas existe um hack. Essencialmente, não permitimos que o Windows manipule as combinações de teclas AltGr e, em vez disso, use uma ferramenta de terceiros que saiba a diferença. Fazemos isso manualmente para todas as chaves.
Este hack não funciona com " chaves inativas " como ~ ou ^ .
.
Parte 1: Deixar o AutoHotKey converter AltGr + Alguma chave para símbolos
AutoHotKey pode distinguir entre AltGr e Ctrl + Alt . Ele também pode transformar pressionamentos de teclas como AltGr + 2 em um único símbolo @
, antes o Windows aplica seu teclado layout.
- Faça o download e instale o AutoHotKey
- Crie um novo script, ou seja, um arquivo de texto simples com a extensão
.ahk
- Para cada caractere que você deseja escrever com AltGr + BOTÃO = CHAR, crie uma linha como esta:
<^>!BUTTON::SendInput {raw}CHAR
Exemplo: AltGr + 2 = @ torna-se<^>!2::SendInput {raw}@
- Salve o script
Se você quiser testar seu script, poderá criar um mapeamento arbitrário como <^>!t::SendInput {raw}tttt
. Clique duas vezes no script para aplicá-lo e teste se AltGr + t produz quatro t's quando você digita.
.
Parte 2: tire as janelas do caminho:
Queremos remover todas as atribuições de AltGr + Qualquer Chave no teclado, para que o Windows nunca as converta em caracteres.
Primeiro, precisamos criar um novo layout de teclado.
- Faça o download do O Criador de layout de teclado da Microsoft . É uma ferramenta simples que permite modificar o layout do teclado. ( Link para download )
- Abra a ferramenta e
File -> Load Existing Keyboard
e escolha o layout do seu teclado. - Selecione
File -> Save source as
e atribua um novo nome. - Marque o
Alt+Ctrl (AltGr)
.
Você pode querer selecionarFile -> Save as Image
para anotar as atribuições originais. - Remova todas as chaves atribuídas, clicando nelas, excluindo o símbolo e clique em
OK
Não limpe nenhuma chave morta! (Os cinzentos). Verifique todos os modificadores, por exemplo, AltGr , Ctrl , Alt ou nenhum! - Vá para
Projet -> Propertie
e dê a ele um nome e uma descrição decentes. - Salvar:
File -> Save Source File
para que você possa editá-lo mais tarde - Exportar configuração:
Project -> Build DLL and Setup Package
Então, precisamos aplicar esse novo layout de teclado.
- Localize os arquivos de instalação exportados na sua pasta Documentos e clique duas vezes em
setup.exe
. Isso instalará seu novo layout de teclado. - Abra a configuração de entrada indo para
Control Pannel -> Change keyboards and other input methods -> Change keybords
- Clique em
Add
, selecione seu próprio teclado e torne-o padrão.
Volte aqui e remova o teclado padrão, uma vez que tudo esteja funcionando bem.
.
Parte 3: deixar o AutoHotKey assumir:
Agora vamos colocar tudo em ação:
- Verifique se o novo teclado está selecionado na barra de tarefas do idioma e se o AutoHotKey não está sendo executado na bandeja de notificação.
- Tente digitar seus caracteres especiais. Isso não deve funcionar.
- Clique duas vezes no seu script AutoHotKey. Por isso, lança
- Tente digitar caracteres especiais novamente. Isso deve funcionar apenas com AltGr .
- Para garantir que o script seja carregado quando o Windows for iniciado, crie um atalho para ele na pasta
Start Menu\Programs\Startup
É isso! (ツ) Você pode compartilhar os arquivos de configuração de layout do teclado e o script .ahk
, com outros computadores para pular a maioria das etapas.