Estoy pensando en crear un nuevo diseño de teclado para la programación. Ahora programo principalmente en HTML, JavaScript / jQuery / CoffeeScript, CSS / LESS / SASS, aunque puedo incursionar en scripting de shell y RegEx pronto, tal vez con LUA, C ++ y Java en unos pocos años. Quiero tener pruebas científicas de las ubicaciones de la clave. Tengo ideas / requisitos, algunos inventados por mí mismo, algunos tomados o derivados de otros:
- Casi todas las llaves se pueden reorganizar
- RETURN , Left SHIFT , Left CONTROL , SPACE-bar , y TAB deben permanecer, pero todos los demás, incluidos los números, símbolos y teclas de movimiento, están abiertos para moverse.
- Puede ser óptimo dejar zxcv y perhhaps s para permanecer en su lugar, debido a los hábitos comunes de Deshacer / Cortar / Copiar / Pegar / Guardar :)
- La tecla ELIMINAR probablemente se moverá a donde está BLOQ MAYÚS :)
- Es improbable que los corchetes coincidan como () {} [] <> uno al lado del otro; vea abajo
- La única manera precisa en mi humilde opinión de contar el uso de claves es mediante el registro de claves, no el recuento de claves de archivos:
- Gran parte de la "programación" es el envío de correos electrónicos, publicaciones en foros, twitter, informes de errores, navegación web, etc.
- Creo que gran parte del uso del teclado es "movimiento"; tabulación entre campos, avance de página, mover cursores, etc. Estos no son capturados por las salidas de archivo
- Muchos editores usan autocompletar y macros, por lo que los delimitadores cercanos:)}]> pueden no escribirse con tanta frecuencia como los abridores, por lo que solo los archivos de registro de claves y no análisis serán precisos.
Entonces mis preguntas:
- ¿Qué son los keyloggers seguros de software libre / de código abierto, que no cargarán archivos a menos que usted mismo envíe un archivo separado? Preferiría NO recopilar nombres de usuario y contraseñas, no solo por seguridad, sino también porque eso puede arrojar mi análisis en mi humilde opinión.
- ¿Qué programas se pueden usar del lado del cliente para digerir recuentos de claves individuales y de pares? ¿O cómo construir mejor uno?
- ¿Dónde es mejor encontrar voluntarios para ayudar?
La mejor investigación hasta ahora: http://www.michaelcapewell.com/projects/keyboard/layout_capewell.htm
http://viralintrospection.wordpress.com/category/technology/keyboard-layouts/
& Wikipedia: Keyboard_layout # Non-QWERTY_keyboards_for_Latin_scripts
TIA!
keyboard
keyboard-layout
ergonomics
keylogger
tomByrer
fuente
fuente
<>{}[]
(y otras teclas que actualmente requieren mayúsculas) sus propias teclas; realmente no me consideraría un programador, pero sé que eso es lo que resulta más molesto al escribir scripts de bash.Respuestas:
Use un programa como WhatPulse para registrar qué teclas se presionan y cuántas veces.
Después de preguntar en la red FreeNode IRC sobre cómo juntar las frecuencias clave, un usuario me llevó a esto:
count_digraphs()
y presione Entrar.Los resultados se leen así: lo
"ar" 7 17 10 "ra"
que significa que 'ar' se presionó 7 veces, 'ra' se presionó 10 veces y todos juntos 'ar' y 'ra' se presionaron 17 veces juntosfuente
Las claves para el movimiento en los editores se adaptan con mayor frecuencia para ajustarse con un uso tan eficiente con QWERTY como sea posible, por lo que seguramente deberán reasignarse si cambia el diseño de las teclas y desea la ubicación óptima de todo, lo que se esfuerza. Por ejemplo, en Vim, los botones HJKL se usan por una razón con QWERTY, y probablemente sea necesario reasignarlos a la misma ubicación después de que se haya modificado el mapa de teclas.
Lo que quiero decir es que no te ayudará mucho rastrear las teclas de movimiento y edición y usarlo como base para un nuevo diseño, ya que son fácilmente reconfigurables (en cualquier editor vale la pena, y ya que estamos hablando de un programador diseño, lo más probable es que estemos hablando de Vim o Emacs), no debería interferir con la colocación de las teclas literales y ya se han optimizado (nuevamente: no estamos hablando del Bloc de notas).
Estás tratando de resolver un problema que es una forma ineficiente de productividad , especialmente para un programador , ** imho **. Tendría un efecto mucho mayor simplemente aprendiendo más sobre las herramientas (una vez más: probablemente Vim / Emacs). Descubrirá que cada vez se dedica menos tiempo a escribir caracteres cuando se programa, y se dedica más tiempo (pero más eficiente) a la finalización automática, el etiquetado automático, la sangría automática, las búsquedas rápidas de definición de funciones, etc. Las teclas para hacer todo esto ya están adaptados para permitir la eficiencia, y el gran aumento de velocidad viene simplemente con familiaridad. Por lo tanto, sostengo que una distribución de teclado diferente es correcta para la productividad , ya que usted tiene muchosaños de ejercicio QWERTY. Si se gastara el mismo tiempo de entrenamiento analítico en QWERTY que las personas que cambian los diseños en Dvorak, también notarían un aumento de velocidad. La velocidad viene con entrenamiento explícito.
Si usted fuera un redactor / traductor / autor / etc., alguien que realmente pasa su tiempo trabajando con el significado literal de las teclas, entonces un diseño diferente podría ser de ayuda. Para un programador, el mejor consejo suele ser al menos obtener un diseño de teclado en inglés, ya que estos modismos de programación han sido moldeados por estos y su ubicación de teclas (en mi diseño de tecla local,
@$[]{}~
todos están detrás de AltGr, que es bastante subóptimo).tldr: Dvorak / Colemak / [la siguiente "mejor cosa desde el pan rebanado"] (posiblemente) resuelve un problema solo para aquellos que ingresan una gran cantidad de texto fluido en un idioma específico (con mayor frecuencia inglés). Para la programación, las teclas necesarias no han estado sujetas a la misma restricción que el lenguaje literal y, por lo tanto, ya se han optimizado para su propósito (que no es solo "escribir lo más rápido que pueda"; se basa más en las operaciones lógicas). Empuje). Creo que el tiempo dedicado a aprender diseños alternativos y la confusión que ciertamente ocurre una y otra vez definitivamente no vale la pena el esfuerzo en la mayoría de los casos (no solo su propia confusión; otros que se sientan en la misma terminal que utilizó por última vez lanzarán cosas a ti), mucho más que la del programador.
fuente