Tornar a linha numérica na linha de símbolos por padrão

12

Como programador, eu me pego digitando símbolos com muito mais frequência do que números. Portanto, seria bom se os números no teclado produzissem símbolos por padrão.

Os resultados finais devem ser: 6produziria ^e Shift+ 6daria 6.

Tentei mudar para Dvorak por um tempo, mas a combinação de uma curva acentuada de aprendizado e um prazo iminente não tornam essa solução atraente.

Idealmente, eu gostaria disso também no Windows, mas vamos nos concentrar no Debian, pois é minha principal máquina de desenvolvimento.

Pelo que encontro na web, o recurso "shift lock", ativado ao pressionar rapidamente o botão Shift, faz exatamente isso no Windows, mas não consegui encontrar nenhuma referência * nix.

Edit: Idealmente, a solução não deve interferir com chaves de linha não-numéricas, como, por exemplo, [mas se houver, posso viver com ela (como {é mais comum em C do que [).

rath
fonte

Respostas:

8

Pela sua pergunta, entendo que você só precisa que determinadas teclas funcionem exatamente como ao pressionar Shift e vice-versa. Para isso, você pode criar seu próprio Layout de teclado personalizado. Para isso, você pode baixar o Microsoft Keyboard Layout Creator MSKLC e usá-lo para criar um layout personalizado para o seu sistema. Além disso, depois de criar o layout personalizado, ele deve solicitar que você instale o layout criado; portanto, escolha SIM para ir para a pasta em que o Instalador está e instalar o layout personalizado. Além disso, você precisa reiniciar o sistema após criar seu layout personalizado. Após isso, você só precisa ativá-lo no Painel de Controle.

Vá para (Para Windows 8)

  1. Pressione o botão Windows + I (para abrir o menu Configurações de feitiços)
  2. Clique no botão Teclado (canto inferior direito)
  3. Você deve ver seu layout personalizado
  4. Selecione
  5. E agora seu layout personalizado será ativado

Também para um tutorial completo sobre o MSKLC, você pode obtê-lo aqui e aqui . Veja os dois detalhes se ocorrer algum problema.

Caçador
fonte
1
A questão é sobre o Debian.
harrymc
@harrymc Bem, sim e não. "Idealmente, eu gostaria de fazer isso também no Windows, mas vamos nos concentrar no Debian , pois é minha principal máquina de desenvolvimento." Portanto, a resposta não é exatamente inválida no contexto da pergunta.
a CVn
Bem, acho que deveria ter especificado o Windows 7, pois não possuo uma máquina Win8. Uma resposta válida, no entanto.
Rath4
@rath não precisa se preocupar, eu colocaria os detalhes do win 7 rodando na caixa virtual.
Hunter
@rath Aqui estão os detalhes para fazer isso no W7. Consulte estes links: - support.microsoft.com/kb/258824 , support.microsoft.com/kb/306560 e sevenforums.com/tutorials/86239-keyboard-layout-change.html . Observe também que, quando você adiciona um layout de teclado personalizado (ou adicional fornecido pelo Windows), então (quando você tem mais de 1 layout de teclado ativado), poderá ver a barra de idiomas (na barra de tarefas, como o Windows 8, exceto ele está no menu de encantos).
Hunter
5

A partir da thread Revertendo a função de pressionar shift + number, vem este arquivo xmodmap:

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

Veja o link acima para mais informações sobre o uso deste arquivo.

harrymc
fonte
2

Você pode usar dumpkeyse loadkeys(para o console) ou xmodmap(para X) para redefinir a função de uma tecla do teclado. xevpode dizer como o X vê uma entrada de chave específica.

Eu recomendo que você imprima primeiro o conjunto completo de expressões de mapa de teclas; é possível que seu sistema esteja configurado de maneira um pouco diferente para começar. Nesse caso, as opções acima não corresponderão exatamente. Para fazer isso, basta fazer xmodmap -pke(para imprimir a tabela de mapas de teclas como expressões).

Como exemplo, para remapear 1para !e Shift+ 1para 1em X, primeiro usamos o xev para descobrir que 1é o código de chave 10 (no meu caso; verifique). Para remapear a chave para inverter sua função deslocada:

xmodmap -e 'keycode 10 = exclam 1 exclam 1 exclamdown onesuperior exclamdown'

Para restaurar a função normal (isso corresponde ao que é impresso por xmodmap -pke):

xmodmap -e 'keycode 10 = 1 exclam 1 exclam exclamdown onesuperior exclamdown'

As alterações entram em vigor imediatamente e afetam pelo menos a sessão X inteira (elas não são locais para o aplicativo que inicia o xmodmap).

Depois de ter um conjunto de comandos xmodmap que configura o teclado da maneira que você deseja, armazene-os em ~ / .xmodmaprc e adicione ao seu ~ / .xsessionrc (criando-o se não existir):

xmodmap ~/.xmodmaprc

A parte que você deseja adicionar ao .xmodmaprc é simplesmente a keycode XX = yyy ...parte do comando da linha de comandos (ou seja, o argumento para o -ecomutador).

um CVn
fonte