Neste artigo, não proponho substituir completamente o Punto Switcher (obrigado a Sergey Moskalev por este programa), mas apenas em funcionalidades muito limitadas. Eu uso o programa Punto Switcher há muito tempo, mas não com o objetivo de alternar automaticamente, mas como um interruptor na Shift esquerda e direita. Desde o Dos, sinto-me confortável com essa opção e, no Windows (especialmente para a versão 7), não preciso pensar em qual idioma aparecerá na janela, mas apenas pressione a tecla Shift à esquerda e meu russo principal está pronto para entrar. Observe que, enquanto a mão direita está com o mouse, a esquerda pode alternar idiomas ou definir o russo apenas pressionando a tecla Shift esquerda e, para isso, você nem precisa se distrair em lugar algum, tudo é feito automaticamente. Assim, sempre foi conveniente para mim mudar o idioma para o layout russo com o Shift esquerdo e o inglês com o Shift direito.
O tempo passa e foi necessário outro idioma para a introdução dos usuários, e eles também querem suporte para o layout Birman e outros layouts. Que inconveniência eu pude me avaliar, e é por isso que eu tive que descobrir como fazê-lo. Se você usar apenas o layout Birman, à direita, Alt, se houver teclas de atalho, elas se sobrepõem a esse layout e nada funciona. E existem muitas dessas teclas de atalho, pois você pode desligar um atalho para "Ctrl + Alt + key" em cada atalho da área de trabalho. Se, no entanto, for feito à semelhança do layout de Birman, mas sem a tecla Alt correta, por chaves, o problema de trocar a pilha desses idiomas ainda será assim.
Em resumo, não criei nada melhor do que usar um script na autohotkey, pois permite fazer muitas coisas necessárias e pode ser facilmente alterado por outra pessoa. Portanto, este artigo será útil para alguns leitores do Habr, e os profissionais podem corrigir meu código quando me arrepender, mas esta é minha primeira experiência ao escrever um script na autohotkey.
Sob o corte, está a figura “Expandindo o layout do teclado no programa Keybord Assistant 1.0” e uma explicação detalhada dessa figura.

Não há soluções perfeitas e você sempre tem que sacrificar alguma coisa. Nesse caso, tive que sacrificar a funcionalidade das teclas corretas RAlt e RWin, pois raramente as uso. Como o RAlt pode ser usado em outros idiomas, eu uso o RCtrl para isso. Como alguns programas têm seus próprios interceptadores complicados de estados do teclado, a fim de "matar" completamente sua reação ao pressionar as teclas RAlt e RWin, tivemos que usar o programa KeyTweak para definir o ALt certo para WWW Stop e o Win para o meu computador. Essas teclas dos teclados multimídia quase nunca são usadas pelas pessoas, por isso são perfeitas para meus propósitos. E mesmo se você clicar neles acidentalmente, eles não afetarão a funcionalidade do Windows.
Meu layout Birman é quase completamente repetido (o sinal hryvnia é adicionado), exceto que ele está na tecla RWin e talvez isso não seja tão conveniente para alguém como no original no RAlt. Mas essa não é minha ferramenta principal, mas a principal na tecla RAlt.
Para imprimir um símbolo no layout Birman, você precisa pressionar a tecla RWin e alguma tecla acima da qual esse símbolo é desenhado em marrom. Se o símbolo for desenhado com uma cor mais clara, será impresso se você ainda pressionar a tecla Shift. Exemplo: RWin + Shift + imprime o caractere.
A tecla CapsLock é usada como Ctrl esquerdo, pois quando digito cegamente, é muito, muito inconveniente acessar o LCtrl e é completamente impossível acessar o RCtrl. Raramente o CapsLock é necessário, então eu o troco para LAlt + CapsLock.
Existem vários layouts de comutação (além dos possíveis Windows: RWin + Space ou RAlt + RShift): LShift - alternando para russo, RShift - alternando para inglês, RAlt - alternando apenas entre layouts En e Ru, LAlt + Space - alternando entre outros layouts, mas não En e não Ru. A troca do CapsLock, bem como desses layouts, é feita rapidamente, ou seja, eles pressionam e pressionam imediatamente o botão. Isso é feito para eliminar problemas ao pressionar combinações de teclas complexas. A mudança nos idiomas Shift responde mais rapidamente do que no Punto Switcher, o que me deixa feliz com a digitação mais rápida. Se você alterou o layout de acordo com o RAlt e precisou digitar alguma palavra em outro idioma (não em russo ou inglês), alternando rapidamente com LAlt + Space e digitando a palavra desejada, é possível novamente com um clique em RAlt obter o idioma que foi antes disso, pois os idiomas (Ru ou En) são lembrados. Até o momento, os idiomas do LAlt + Space não são lembrados, mas se você possui muitos deles e frequentemente precisa não apenas de 3 idiomas, mas de 4.5 e assim por diante, pode ser necessário alterar o script e fazer essa função.
Usando a tecla LAlt, você pode inserir sinais de moeda, o apóstrofo do idioma ucraniano, o acento, um longo traço com um espaço inextricável. Entendo que LAlt é usado no menu e é importante não reatribuir todas as teclas de letras, mas usei algumas digitais no meu script e não toquei em LAlt + 1,2,3,4, que é conveniente usar em uma calculadora padrão.
A principal chave de trabalho é RAlt. Com esse script e essa tecla, posso mover o cursor facilmente sobre o texto, excluir ou inserir facilmente os caracteres desejados. E tudo isso sem mover a mão direita, rompendo com a posição principal do conjunto cego. Aqueles que têm que programar há muito tempo sabem o problema de que as letras russas substituíram os sinais [] ou <>. Se você está escrevendo um artigo e precisa digitar esses caracteres, não pode mudar de idioma. Neste script, resolvi esse problema usando a chave RAlt. Exemplo: RAlt + b - imprime um caractere]; RAlt + 2 - imprime o sinal @; RAlt + Yu - imprime um sinal>.
As combinações de teclas RAlt + Tab + , , etc., não moverão mais o cursor do texto, mas o cursor do mouse. Usando Tab, esse script pode, de alguma forma, substituir o mouse, por exemplo, se ele quebrar repentinamente. Para mim, a funcionalidade é um pouco mais conveniente do que os recursos especiais do Windows.
Bem, para usuários de idiomas cirílicos, que possuem russo básico, mas você precisa digitar o símbolo ucraniano, bielorrusso e até mesmo um caractere quase não utilizado como a letra ӂ do alfabeto cirílico da Moldávia, existe a oportunidade de usar a tecla RAlt + para digitar o caractere desejado.
Para usar o script, você deve primeiro baixá-lo:
Faça o download do arquivo “Keybord Assistent 1_0.rar”Verificando se há vírus no arquivo (6 antivírus de empresas obscuras sempre juram em qualquer script da Autohotkey)Para quem usa a Autohotkey, ficará claro que, a partir deste arquivo, eles precisam procurar o arquivo “Keybord Assistent 1_0.ahk”. Para usuários comuns que nem sabem como reatribuir chaves (por exemplo, usando o programa KeyTweak), é necessário executar com direitos de administrador e fazer o seguinte:
- Descompacte o arquivo Keybord Assistent 1_0.rar
- Execute o arquivo "Reatribuir RAlt RWin.reg"
- Reinicie o computador
- Execute o arquivo "Keybord Assistent 1_0.exe"
O programa será colocado na bandeja (cerca de uma hora) e o menu de gerenciamento do programa estará disponível no botão direito, com a capacidade de obter ajuda (a figura mostrada acima). No modo "Stop", a funcionalidade (comportamento) de todas as chaves padrão é retornada (até RAlt e RWin, embora elas sejam reatribuídas), pois às vezes todas as chaves são necessárias em jogos ou em alguns programas.
Se você não gostou do programa, execute o arquivo "Return like it RAlt RWin.reg" e reinicie o computador novamente.
Para usuários avançados, você pode editar o script “Keybord Assistent 1_0.ahk” e executá-lo para execução (é claro, desde que a Autohotkey esteja instalada). Todas as suas alterações funcionais também podem ser corrigidas no arquivo Keybord Assistent 1_0.xlsx. Faça uma captura de tela criando um novo arquivo chamado HelpKeybAs.jpg.
Quaisquer alterações no código são permitidas (bem, exceto para substituir o autor no script por seu próprio nome, mas não é proibido adicioná-las), adições de código, uso de partes do código em seus scripts.
Este artigo foi escrito especificamente para habr.com e antes disso não havia sido publicado em nenhum lugar, como o próprio script em geral (
mesmo o script ainda não foi publicado no site do autor ).