Como calcular o layout de teclado ideal para programadores?

8

Estou pensando em criar um novo layout de teclado para programação. Agora eu principalmente programa em HTML, JavaScript / jQuery / CoffeeScript, CSS / MENOS / SASS, embora eu possa se envolver em shell script & RegEx em breve, com talvez LUA, C ++, & Java em alguns anos. Eu quero ter provas científicas para as colocações da chave. Eu tenho idéias / requisitos, alguns me inventaram, alguns tiraram ou derivaram de outros:

  • Quase Todas as chaves podem ser reorganizadas
    • RETURN , Left SHIFT , CONTROLE Esquerdo , barra de ESPAÇO , & TAB precisa ficar, mas todos os outros, incluindo números, símbolos, & as teclas de movimento estão abertas para mover
    • Pode ser ideal deixar zxcv & perhhaps s para permanecer no lugar, devido aos hábitos comuns de Desfazer / Recortar / Copiar / Colar / Salvar:)
    • É provável que a chave DELETE seja movida para onde CAPS LOCK é:)
    • É improvável manter parênteses correspondentes como () {} [] < > ao lado uns dos outros; veja abaixo
  • A única maneira exata com que IMHO conta o uso de chaves é por key-logging , não contagens de arquivos:
    • Grande parte da "programação" está enviando e-mails, postando em fóruns, twitter, relatórios de bugs, navegação na web, etc.
    • Eu acredito que muito do uso do teclado é "movimento"; tabulação entre campos, página para baixo, movimentação de cursores, etc. Estes não são capturados por saídas de arquivo
    • Muitos editores usam o preenchimento automático & macros, tão fechar-deliminators:)}] > pode não ser tão frequentemente digitado como abridores, portanto, apenas key-logging & não analisar arquivos será preciso.

Então, minhas perguntas:

  1. O que são seguros keyloggers de software livre / de código aberto, que não farão upload de arquivos, a menos que você mesmo envie um arquivo separado? Eu preferiria NÃO coletar nomes de login & senhas, não só para segurança, mas também para porque isso pode jogar minha análise IMHO.
  2. Quais programas podem ser usados no lado do cliente para digerir único & par contagens de chaves? Ou como melhor construir um?
  3. Onde é melhor encontrar voluntários para ajudar?

Melhor pesquisa até agora: link

link

& Wikipedia: Keyboard_layout # Non-QWERTY_keyboards_for_Latin_scripts

TIA!

    
por tomByrer 11.04.2012 / 04:47

2 respostas

2

Use um programa como WhatPulse para registrar quais teclas são atingidas e quantas vezes.

Depois de perguntar na rede FreeNode IRC sobre como obter as freqüências-chave juntas, um usuário me leva a isso:

  1. Obtenha seu texto, como um programa, e copie-o.
  2. Ir para o link
  3. Abaixo dos botões, certifique-se de desmarcar 'autostart with clipboard conteúdo na pasta '
  4. Em seguida, cole seu programa na caixa de texto.
  5. Pressione Ctrl + Shift + K, que abrirá um console.
  6. Digite count_digraphs() e pressione Enter.

Os resultados são lidos da seguinte forma: "ar" 7 17 10 "ra" , que significa 'ar', pressionado 7 vezes, 'ra' foi pressionado 10 vezes e todos juntos 'ar' e 'ra' foram pressionados 17 vezes juntos

    
por 11.04.2012 / 04:56
3

As chaves para movimentação nos editores são mais frequentemente adaptadas para se adequar ao uso eficiente possível do QWERTY e, portanto, elas certamente precisarão ser remapeadas se você alterar o layout da chave e quiser o canal ótimo de tudo, o que você se esforça. Por exemplo. no Vim, os botões HJKL são usados por uma razão com o QWERTY e provavelmente precisariam ser remapeados novamente para o mesmo posicionamento após a modificação do mapa de chaves.

O que quero dizer é que isso não ajudará muito a rastrear o movimento e a edição de chaves e usá-lo como base para um novo layout, já que eles são facilmente reconfiguráveis (em qualquer editor que valha a pena sal, e como estamos falando sobre o layout de um programador, estamos provavelmente falando sobre o Vim ou Emacs), não deve interferir com o posicionamento das chaves literais e já foi otimizado (novamente: não estamos falando sobre o Bloco de Notas).

Você está tentando resolver um problema que é um meio ineficiente de produtividade , especialmente para um programador , ** imho **. Haveria um efeito muito maior em simplesmente aprender mais sobre as ferramentas (mais uma vez: provavelmente o Vim / Emacs). Você descobrirá que cada vez menos tempo é gasto escrevendo caracteres durante a programação, e mais (mas mais eficiente) tempo é gasto em preenchimento automático, marcação automática, recuo automático, pesquisa rápida de definição de função, etc. para fazer tudo isso, já estão adaptados para permitir eficiência, e o grande aumento de velocidade vem simplesmente com familiaridade. Assim, argumento que um layout de teclado diferente é correto comparativamente destrutivo para produtividade , já que você já tem muitos anos de exercícios QWERTY. Se o mesmo tempo de treinamento analítico fosse gasto em QWERTY, como as pessoas que trocam os layouts gastam em Dvorak, eles também notariam um aumento de velocidade. A velocidade vem com treinamento explícito.

Se você fosse um copywriter / tradutor / autor / etc., alguém que realmente dedicasse seu tempo ao trabalho com o significado literal das chaves, um layout diferente poderia ser útil. Para um programador, a melhor dica é, pelo menos, obter um layout de teclado em inglês, já que os idiomas de programação foram moldados por esses e por seu posicionamento de chave (no layout de chave local, @$[]{}~ estão todos por trás do AltGr, que é bastante insatisfatório ).

tldr: Dvorak / Colemak / [a próxima "melhor coisa desde o pão fatiado"] (sem dúvida) resolve um problema apenas para aqueles que digitam muito texto corrido em um idioma específico (na maioria das vezes em inglês). Para programação, as chaves necessárias não foram submetidas à mesma restrição que a linguagem literal e, portanto, já foi otimizada para o seu propósito (que é não apenas "escreva o mais rápido que puder"); constrói mais sobre operações lógicas.Veja o Vim). Acredito que o tempo gasto na aprendizagem de layouts alternativos e a confusão que certamente ocorre de tempos em tempos definitivamente não vale o esforço na maioria dos casos (não apenas sua própria confusão; outros que sentam no mesmo terminal que você usou coisas para você), incluindo o do programador.

    
por 11.04.2012 / 08:31