프로그래머에게 이상적인 키보드 레이아웃을 계산하는 방법은 무엇입니까?


8

프로그래밍을 위해 새로운 키보드 레이아웃을 만드는 것에 대해 생각하고 있습니다. 이제는 대부분 HTML, JavaScript / jQuery / CoffeeScript, CSS / LESS / SASS로 프로그래밍하지만 몇 년 안에 LUA, C ++ 및 Java로 쉘 스크립팅 및 RegEx를 곧 다룰 수 있습니다. 키의 배치에 대한 과학적 증거를 갖고 싶습니다. 나는 아이디어 / 요구 사항이 있으며, 일부는 자신이 발명하거나, 일부는 다른 사람들로부터 얻거나 파생되었습니다.

  • 거의 모든 키를 다시 정렬 할 수 있습니다
    • RETURN , 왼쪽 SHIFT , 왼쪽 CONTROL , 스페이스 바 은 그대로 있어야하지만 숫자, 기호 및 이동 키를 포함한 다른 모든 항목은 이동 가능합니다.
    • 휴가에 최적화 될 수 zxcv & perhhaps 로 인해 일반적인 실행 취소 / 잘라 내기 / 복사 / 붙여 넣기 / 저장 습관, 장소에 머물 :)
    • 삭제 키가 CAPS LOCK 이 있는 위치로 이동 될 수 있음 :)
    • () {} [] <>와 같은 대괄호를 유지하지는 않을 것입니다. 아래 참조
  • IMHO가 키 사용량계산하는 정확한 방법 키 개수가 아닌 키 로깅을 사용하는 것입니다 .
    • "프로그래밍"의 대부분은 이메일, 포럼, 트위터, 버그보고, 웹 서핑 등에 게시하고 있습니다.
    • 키보드 사용의 많은 부분이 "움직임"이라고 생각합니다. 필드 간 이동, 페이지 아래로 이동, 커서 이동 등. 파일 출력으로 캡처되지 않습니다.
    • 많은 편집자들이 자동 완성 및 매크로를 사용하므로 close-deliminators :)}]>는 오프너만큼 자주 입력되지 않을 수 있으므로 키 로깅 및 구문 분석 파일 만 정확합니다.

그래서 내 질문 :

  1. 별도의 파일을 직접 보내지 않으면 파일을 업로드하지 않는 안전한 무료 / 오픈 소스 소프트웨어 키로거 란 무엇입니까 ? 보안뿐만 아니라 분석 IMHO가 발생할 수 있기 때문에 로그인 이름과 비밀번호를 수집하지 않는 것이 좋습니다.
  2. 단일 및 쌍 키 카운트를 다이제스트하기 위해 클라이언트 측에서 어떤 프로그램을 사용할 수 있습니까? 아니면 가장 좋은 방법은 무엇입니까?
  3. 도와 줄 자원 봉사자를 찾는 것이 가장 좋은 방법은 무엇입니까?

지금까지 최고의 연구 : 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

티아!


흥미로운 질문이지만, 나만의 제안을 해보자 : 우리는 완전히 다른 무언가를 위해 수십 년 동안 사용해온 엇갈린 초콜릿 바 레이아웃을 포기하는 것이 더 나을까?
Ignacio Vazquez-Abrams

Ignacio가 Kinesis의 Contoured 키보드와 같은 완전히 새로운 레이아웃으로 $ 300USD로 전환한다는 의미입니까? 아니요, 기존의 저렴한 키보드에서 키를 다시 매핑하면 일반 상점에서 5-20 달러에 찾을 수 있습니다.
tomByrer

표준 QWERTY (또는 다른) 키보드에 익숙하다면 새로운 레이아웃을 배우는 것보다 키보드를 사용하는 것이 더 효율적일 수 있습니다. 특히 사용자 정의 된 레이아웃이없는 다른 컴퓨터를 정기적으로 사용하는 경우.
Bob

1
그건 그렇고, 사람들이 답장을 받으려면 @tomByrer로 핑해야합니다.
slhck

2
최선의 방법은 <>{}[]자신의 키 를 Giv (및 현재 Shift가 필요한 다른 키)로 생각하는 것 같습니다. 나는 스스로 프로그래머라고 생각하지는 않지만 bash 스크립트를 작성할 때 가장 성가신 것을 알고 있습니다.
evilsoup

답변:


2

WhatPulse 와 같은 프로그램을 사용하여 적중 된 키 와 횟수 를 기록하십시오.

FreeNode IRC 네트워크에서 주요 주파수를 얻는 방법에 대해 질문 한 후 사용자는 다음과 같이 안내합니다.

  1. 프로그램과 같은 텍스트를 가져 와서 복사하십시오.
  2. http://type.trmnl.org/로 이동하십시오
  3. 버튼 아래에서 '붙여 넣기시 클립 보드 내용으로 자동 시작'을 선택 취소해야합니다.
  4. 그런 다음 프로그램을 텍스트 상자에 붙여 넣습니다.
  5. Cntrl + Shift + K를 누르면 콘솔이 열립니다.
  6. 입력 count_digraphs()하고 Enter를 누르십시오.

결과는 다음과 같이 읽습니다. "ar" 7 17 10 "ra"즉, 'ar'을 7 번 누르고, 'ra'를 10 번 누르고, 모두 'ar'와 'ra'를 함께 17 번 누른다는 의미입니다.


"추가 옵션 : 키 스트로크 주파수 기록 유지-WhatPulse 버전 1.7에 도입 된이 기능을 사용하면 누른 각 키의 수를 추적 할 수 있습니다." whatpulse.org/wiki/Program_Settings_Tab_2 Sweet, thaks @ekaj! 나도 알아볼 게!
tomByrer

나는 이것이 더 침입적인 키로거보다 지금까지 최고의 솔루션이라고 생각합니다. 크로스 플랫폼 및 XML / HTML 출력은 축복입니다. 유일하게 누락 된 것은 bigram / digram (두 개의 인접한 요소 순서)에 대한 지원입니다. 추론 : 영어, '그가'& '일'일반적인 함께뿐만 아니라 많은 프로그래밍 언어 (C와 같은 ++, 자바 스크립트, CSS)입니다뿐만 아니라 ' ; ENTER '하는 매우 자주 함께 입력. 따라서이를 허용하는 WhatPulse 복제본이 있으면 가장 좋습니다. 한편, 나는 그들의 포럼에 제안을 게시 할 것이다.
tomByrer

1
@tomBryer가 답변을 업데이트하려고 시도했지만 도움이되기를 바랍니다. 참고로 IE 또는 Chrome이 아닌 FF에서만 작동하도록 할 수 있습니다. 이유가 확실하지 않습니다.
cutrightjm

예, 몇 가지 방법으로 도움이됩니다! 소스 코드 : " '안타깝게도이 앱은 IE에서 작동하지 않습니다.'"; IE는 때때로 이상한 JS 구문을 가지고 있습니다.
tomByrer

4

편집자의 이동 키는 QWERTY를 최대한 효율적으로 사용하기 위해 가장 자주 조정되므로 키 레이아웃을 변경하고 모든 것을 최적으로 배치하려면 노력해야합니다. 예를 들어 Vim에서 HJKL 버튼은 QWERTY와 같은 이유로 사용되며, 키 맵을 수정 한 후 같은 위치로 다시 매핑해야합니다.

내 말은 이동 및 편집 키를 추적하고 새로운 레이아웃의 기초로 사용하는 데 크게 도움이되지 않는다는 것입니다. 새 레이아웃은 쉽게 재구성 할 수 있기 때문에 (소금이 가치가있는 편집기에서, 프로그래머에 대해 이야기하고 있기 때문에) 레이아웃, 우리는 Vim 또는 Emacs에 대해 이야기 할 것입니다), 리터럴 키의 배치를 방해해서는 안되며 이미 최적화되어 있습니다 (다시 : 메모장에 대해서는 이야기하지 않습니다).

특히 프로그래머 인 ** imho **의 경우 비효율적 인 생산성 문제를 해결하려고합니다 . 단순히 도구에 대해 더 많이 배우면 훨씬 더 큰 영향을 미칩니다 (다시 한 번 : Vim / Emacs). 프로그래밍 할 때 실제로 문자를 작성하는 데 걸리는 시간이 줄어들고 자동 완성, 자동 태그 지정, 자동 들여 쓰기, 빠른 기능 정의 조회 등에 더 많은 (그러나 더 효율적인) 시간이 소요됩니다. 이 모든 작업을 수행하는 것은 이미 효율성을 허용 하도록 조정 되었으며 큰 속도 향상은 친숙 함과 함께 제공됩니다. 따라서 나는 주장 다른 키보드 레이아웃이 오른쪽에 상대적으로 생산성을 파괴 이미 많은이 있기 때문에,쿼티 운동의 . 레이아웃을 바꾸는 사람들이 드보라 크 (Dvorak)에서 보내는 시간과 동일한 분석 훈련 시간을 QWERTY에서 보낸다면, 그들은 또한 속도 향상을 보게 될 것입니다. 속도는 명확한 훈련과 함께 제공됩니다.

당신이 카피라이터 / 번역가 / 저자 등이라면, 실제로 키 의 문자 적 의미를 다루는 데 시간을 보내는 사람 이라면 다른 레이아웃이 도움이 될 수 있습니다. 프로그래머의 경우 가장 좋은 팁은 일반적으로 영어 키보드 레이아웃을 얻는 것입니다. 프로그래밍 관용구는 이것과 그 키 배치에 의해 형성되었으므로 (내 로컬 키 레이아웃에서는 @$[]{}~AltGr 뒤에 있습니다.

tldr : Dvorak / Colemak / [다음으로 얇게 썬 빵 이후 가장 좋은 것]은 (아마도) 특정 언어 (대부분 영어) 많은 텍스트를 입력하는 사람들에게만 문제를 해결합니다 . 프로그래밍을 위해 필요한 키는 리터럴 언어와 동일한 제한을받지 않았으므로 이미 "가능한 한 빨리 쓰기" 가 아니라 논리 연산에 더 많은 목적을 갖도록 이미 최적화되었습니다 . 정력). 대체 레이아웃을 배우는 데 소요 된 시간과 가장 확실하게 반복적으로 발생하는 혼란은 대부분의 경우 노력의 가치가 없다고 생각합니다 (자신의 혼란뿐만 아니라 마지막으로 사용했던 동일한 터미널에 앉아있는 다른 사람들은 던질 것입니다) 프로그래머를 포함하여).


Vim에 대한 통찰력을 주신 @ Daniel-Andersson에게 감사드립니다. 일부 편집자들은 이동 키를 다시 매핑 할 수 있다는 점을 평가하는 것이 도움이됩니다! 도구에 대해 더 배워야합니다. 그러나 많은 도구를 사용하여 많은 편집 작업을 수행합니다. 온라인 편집자 및 텍스트 상자 : 포럼 (예 :;), 요지, jsFiddle, GMail, Facebook, Twitter (@ @ non-shift close key가 아니어야합니까?) ... 및 Inkscape, SynthMaker, Live, 키맵을 통해 가능한 한 바로 가기를 통합하고 app-configs를 통해 한 단계 더
높이고 싶습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.