プログラミング用の新しいキーボードレイアウトを作成することを考えています。現在、私は主にHTML、JavaScript/jQuery/CoffeeScript、CSS/LESS/SASSでプログラミングしていますが、シェルスクリプトとRegExに手を出すかもしれませんが、おそらくLUA、C++、およびJavaキーの配置を科学的に証明したいのですが、アイデアや要件があります。自分で発明したものもあれば、他の人から取ったものや派生したものもあります。
だから私の質問:
これまでの最高の調査: http://www.michaelcapewell.com/projects/keyboard/layout_capewell.htm
http://viralintrospection.wordpress.com/category/technology/keyboard-layouts/
&ウィキペディア:Keyboard_layout#Non-QWERTY_keyboards_for_Latin_scripts
TIA!
WhatPulse のようなプログラムを使用して、どのキーが押されたか、およびその回数を記録します。
FreeNode IRCネットワークでキー周波数をまとめる方法について尋ねた後、ユーザーは私をこれに導きます:
count_digraphs()
と入力し、Enterキーを押します。結果は次のように読み取られます。"ar" 7 17 10 "ra"
これは、「ar」が7回押され、「ra」が10回押され、「ar」と「ra」が一緒に17回押されたことを意味します。
エディターで移動するためのキーは、ほとんどの場合、QWERTYで可能な限り効率的に使用できるように調整されているため、キーレイアウトを変更して、すべての最適配置が必要な場合は、キーを再マッピングする必要があります。 、あなたが努力します。例えば。 Vimでは、HJKLボタンはQWERTY配列の理由で使用されており、キーマップが変更された後、おそらく同じ場所に再マップする必要があります。
私が言いたいのは、動きや編集キーを追跡し、それを新しいレイアウトの基礎として使用することはあまり役に立たないということです。なぜなら、それらは簡単に再構成可能(どんなエディターでもそれだけの価値があり、プログラマーのレイアウトについて話しているので、おそらくVimまたはEmacsについて話しているので、リテラルキーの配置を妨げるべきではなく、すでに最適化されています(ここでもメモ帳については話していません)。
生産性への非効率的な方法、特にプログラマーの場合、** imho **である問題を解決しようとしています。単にツールについてもっと学ぶことで、はるかに大きな効果があります(もう一度:おそらくVim/Emacs)。プログラミング時に実際に文字を書くために費やされる時間がますます少なくなり、オートコンプリート、自動タグ付け、自動インデント、クイック関数定義ルックアップなどに費やされる時間が増えます(ただし、より効率的です)。このすべてを行うためにすでに適応されています効率を可能にするために、そして大きなスピードブーストは単に慣れが必要です。したがって、異なるキーボードレイアウトはほぼ同じように生産性を損なうと主張します。これは、すでに多くの年のQWERTY演習があるためです。レイアウトを切り替える人がDvorakに費やすのと同じ分析トレーニング時間がQWERTYに費やされた場合、速度の向上にも気付くでしょう。スピードには明示的なトレーニングが伴います。
あなたがコピーライター/翻訳者/著者など、実際にキーのリテラルの意味で作業に時間を費やしている人であれば、別のレイアウトが役立つかもしれません。プログラマーにとって最良のヒントは、通常、少なくとも英語のキーボードレイアウトを取得することです。これは、プログラミングイディオムがこれらとそのキー配置によって形成されているためです(私のローカルキーレイアウトでは、@$[]{}~
はすべてAltGrの背後にあります。 -最適な)。
tldr: Dvorak/Colemak/[次の「スライスされたパン以来の最良のこと」](おそらく)多くの流れるテキストを入力する人だけの問題を解決します特定の言語で(ほとんど多くの場合英語)。プログラミングの場合、必要なキーはリテラル言語と同じ制限を受けていないため、その目的に合わせてすでに最適化されています(ではなく「できるだけ速く書く」だけです。論理演算。Vimを参照)。代替レイアウトの学習に費やした時間と、何度も何度も発生することが最も確実な混乱は、ほとんどの場合、努力する価値がないことは間違いないと思います(あなた自身の混乱だけでなく、最後に使用したのと同じ端末に座っている他の人は投げますあなたのこと)、プログラマーのものも含めて。