プロトタイプ キー配列
この記事では、合理的なキーレイアウト、プロトタイプ配列の開発した経緯と、どうやってキーを配置したのか?の説明をします。
# QWERTY の歴史
https://dictionary.sanseido-publ.co.jp/column/qwerty01
このブログ記事が分かりやすいです。
雑に説明すると、現代の感覚からすると非合理的に思える QWERTY配列 も、当時の合理性を追求し、アップグレードされて作られた合理的なキー配置でした
# Ctrlキーは何故左下に追いやられたのか?
https://www.itmedia.co.jp/news/articles/1912/17/news102.html
記事に書かれている通りですが、IBMが改善を繰り返す過程でそうなりました。当時はCapsLock(ShiftLock)の方が優先度が高かったのですが、これが、コンピューターが発展する過程でCtrlの優先度は高まりましたが、その時にキーボードも一緒にアップグレードすればよかったのですが、コストの関係なのか?アップグレードされませんでした
# iso ansi ?
https://jp.quora.com/naze-nihongo-ki-bo-do-ha-wazawaza-kigou-no-ichi-wo-henkou-shita-node-shou-ka-han-wa-shiku-te-shouga-nai-no-desuga
ワープロが日本に普及する過程で、当時の主流は今の英語キーボードである ansi でした。今のUSキーボード、[Shift + 2 = @] の記号配列とかがそれにあたります
資料が見つからなかったので記憶からの記入なので evidence は無くて恐縮ですが、日本にワープロが復旧する過程で、共通規格を作ろうということで共通規格が作られました。これが iso規格 日本語キー配列の元となるキー配列であり[Shift + 2 = ¨]とかです。
iso の意味は共通規格です
ではなぜ2020年において、USキーボードと日本語キーボードが存在するんだよ?というと、じつはせっかく共通規格を作ったのに、アメリカはその後やっぱり ansi規格のほうが良いという事になって、iso規格が普及せずにansi規格の既存のキーボードが普及し続けました。共通規格というのはそこから存在しなくなり形だけのISOという文字だけが残りましたとさ
当時の設計では合理的だが、コンピューターが普及した現在では、どうしても合理的とは言えない QWERTY配列、現在の合理性を追求して新しい合理的なキー配列を作ろうという事から prototypeキー配列を開発しました
# Ortholinear
現在のキーボードは、タイプライターの構造上の名残を引き継ぐ、スタッガート方式、左右にキーがズレているキー配列を採用しています
その形をキーボードも引きずっているので謎な入れ子の形になっています。なので必ず上段、中段、下段、最下段のキーの幅が合わない構造になっています。
How a Mechanical Typewriter Works ?
現在のキーボードの形は、タイプライターの形を使っていますが合理的ではありません。
なぜなら現在のキーボードは
・ハンマーで叩く必要が無いので互い違いにする必要が無い
・タイピングする上で合理的なデータを使って合理的な配置にする余地が有る
次に、不特定多数のニンゲンがブラインド状態で指でキー入力をできる合理的な数は3段だろうと思われます。
# キーボードの段は何段が最適なのか?
現在のキーボードは上記の画像にある様に6段配列がスタンダートな配列になっております。
# 無理のある部分
しかし、ブライドタッチをする上で数字の段、ファンクションキーは無理があります(出来ないとは言っていない)
出来る事なら快適にブラインドタッチをしたほうが、首を上下に動かすコストが下がるので合理的だと思います。(思っているだけで Evidence があるわけではない)
そう考えると、親指を除く指達が担当できる限界は、上下に一段ずつ、最下段のキー含めて4段が最適だと考察出来ます。(個人の感想です)
そのような思想で自然と行きつくキーボードが 4 x 12 = 48 keyborad となります
普段この16x4=48キーボードを使っているのですが
ここからさらに不必要というか、不自然なキーを排除しても、ショートカットさえ駆使すれば問題ないことが判明
最下段の左右3キーを削りました。理由は親指が担当できるキーは各3キーが限界だからです
とりわけ、インターネッツ検索などをしていると
48 keyboard だと右下に無理やり十字キーを入れるキーデザインが主流なのですが、上下の位置が並列しているキー配列の学習コストが非常に高く、ただでさえスタッガードではないキーボード、キー数がデファクトスタンダードなキーボードよりも少ないという学習コストの高いデザインをしているので、十字キーの位置が合理的ではないというのはとても学習コストの高いデザインとなります
結果
4 x 12 - 6 = 42 keyboard
なキー数とキーボードデザインになりました。
これが今回の考察であり、どのような形のキーコンフィグが最も合理的な形か?を考察します。
# 指にかかる負担を考察する
キーボードを使う上で指にかかる負担を考察します。上記の画像は英語におけるどのキーがどれくらいの頻度で入力されているか?を視覚的に表示した画像となります。頻度が高いほど色が濃くなっております。
現在のキーボードでは、小指に非常に負担がかかる構造になっております。
キーボードは小指と人差し指が担当するキーが各6キーと多く
左小指 > esc Ctrl Shift a
右小指 > Enter BackSpace
とキーボードを快適に使う上で頻出するキーがすべて小指側に配列されているからです
構造上仕方ないとは言え、小指が担当するキーが多すぎます。小指と人差し指の負担を減らすために、Tierリストを作って優先度を付けました
優先度
←高い 1 2 3 4 5 低い→
小指と人差し指は担当するキーが多いので、それらの優先度を下げました
# Alphabet heat map
https://en.wikipedia.org/wiki/Letter_frequency
English 利用頻度
高い E T A O I N S H R D L C U M W F G Y P B V K J X Q Z 低い
World wide 利用頻度
高い T A O I S W C B H P F M D R E L N G U K V Y J Q X Z 低い
Japan 利用頻度
https://w.atwiki.jp/raycy/pages/261.html
高い A I O U N E T K S R Y H M W D G Z B P F V Q 低い
小指に負担のかからない構造を考察するうえで Tireリストを作ってみました。
次に、英語と日本語では母音の数が同じであり 日本語では あいうえお
英語では A E I O U が母音にあたります
母音の頻出度は
US = E A O I U
WW = A O I E U
JA = A I O U E
Aがもっとも頻度が高く U が最も頻度が低いです
上記の Tireリストを考慮して 母音の位置を決定しました。
次にショートカットで頻出するキーを配置します。この部分は Colemak を参照
まず Z X C V は移動できません、これを移動させるとあまりにも利便性が下がります
Ctrl + Z = Undo
Ctrl + X = Cut
Ctrl + C = Copy
Ctrl + V = Paste
次に Q W F も頻出しますので残します
Ctrl + Q = Quite
Ctrl + W = Wipe
Ctrl + F = 検索
以前は左手上に D を入れて S を右手側に設置していたのですが、あまりにも [ Ctrl + S = save ] を多用したので配置換えしました。
Ctrl + S = Save
ありがたいことに Q と Z はキー入力において使用頻度が高くありません。小指の負担を下げるうえで、この部分は qwerty 配列を踏襲しても良いと判断しました
完成したキーマップ
# 右手
左手側には子音で頻繁に使うアルファベット、Sを抜いて、上位5を調べると
https://note.com/illlilllililill/n/n3b51f4aaf086
reference
下記記号が頻度が高い記号となります。
US = T N H R D
WW = T W B H P
JA = N T K R Y H
どの国でもTの頻度が高いことが分かります。T H R N の4キーは国を問わずに頻度が高いようです。よく使う、使いやすい位置を考察しながら配置します
完成
次に最も使用頻度の低い単語を左右人差し指上段に配置します。ここには以前記号を入れていましたが、なるべく両手小指の負担を減らしたいということから、人差し指上段に、英語入力では使用頻度の少ないアルファベット J P を配置しました。
日本語入力の場合は J P の使用頻度は上がります
# 残った中で最も頻度の低い記号
EN = K J
WW = Y J
JA = B P
最後に残ったキーを優先度に合わせていい感じに配置します
この辺りは、もうほとんど使用頻度の低いキーばかりなので、いい感じとしか言いようがありません
残ったキー
US = D L M G Y B K
WW = B M D L G K Y
JA = K Y M D G B L
完成したキーマップ
例えば Y L を人差し指上下に配置していますが、これはUSではLが使用頻度が高くYは低い、一方JAではYの使用頻度が高くLの使用頻度が低め、QWERTY方式ではYは上なので学習コストを安くするためにYが上、Lが下に配置、バランスを取って右手人差し指上下に配置しました
次にBが US JA 両方において圧倒的に利用頻度が低いので、打ちにくい薬指下に配置
Dはどの世界でも頻度が高いので、薬指上に配置
MはNの隣の方が学習コストが下がるだろうという事からNの下に配置
最後に余ったGを入れて完成
合理性を突き詰めれば、UEAOIなどをもっとバラして配置したり QWSF ZXCV をまんべんなく配置できるとは思いますが、これらのキーは Ctrlとの組み合わせでアホほど使うので、どうしても片手操作がしやすい左側に配置した方が便利でした。
QとWはターミナルを使わなければそうそう使いませんし、ターミナルでもQWはほとんど使いませんので、WとUの位置を変えても良いかもしれませんが、UEAOIの母音が必ず左手メインスポットに配置してある。のほうが学習コストが低いと判断
最後に記号をいい感じに配置して完成
, . セミコロンとコンマなのですが、そこそこ頻度の高い記号となります。バランスを考えて両人差し指下段に配置しました。この形で使っていますが場所が覚えやすですし、頻度もそこそこと、上記の場所で差し支えないかな?とは今のところ思っております。将来変更するかもしれません。
このやり方が The Best と言いたいのではなく今の所、この考察が合理的なのではないかな?といった程度Death。とりわけ、依然と比較して S の位置を調整しました ,. の配列に関しては今の所全く不便は感じておりません。
ver1だと、記号の /? をそんなに使用していない事が判明したので、小指の負担を減らすために小指下に追いやりました。また、英語では使わないが日本語ではぱぴぷぺぽにPをじゃじゅじょにJを使うので、日本語にすると頻度が上がります。この部分は以前のキー配列から変更して 上段に移動させました
# 最後に esc Shift といった記号をどう配置しているのか?について
こんな感じで使っています。
とりわけ右手小指のEnter と BackSpace を移動させて、上下を記号で埋めたので、日本語だと伸ばし棒を使うのでやや右手左上のキーの使用頻度が高いですが、それ以外はおおむね満足しております。
というのは、BackSpace, Enter, esc の3つのキーは、使用頻度が非常に高く人によるのでビッグデータ化できませんがすくなくともIキーと同程度の頻度で押します
とりわけ右手小指は Enter, BackSpaceを担当しているので、やたらめったらエンターを押す必要のある日本語入力の場合、小指の負担が尋常じゃないです。
# BS と Space 位置について
BackSpace は左の文字を削除します。
Space は右に進行します
BackSpace← →Space と理にかなった動きをします
細かい課題としては、 Alt よりも esc キーを頻繁に使うので esc を左親指左に配置しました
# 小指から頻出キーを排除出来た
画像のように濃い灰色のキーはほとんど入力しないキーです。QWERTYだと小指は6キーを担当していましたが、極論を言えばprototype配列では左小指は Ctrl Shift U の3キー 右小指は H の1キーしか担当しません。
# バリエーション
ちなみに好みの分かれる部分で、一緒にキーデザインをした叡智は、キーが重複する事が嫌いなので意見の分かれるバージョンですが、右手にもShiftを入れる事で、左手小指の負担を和らげるバージョン
もう一つが十字キーを入れるという配置です。こういう事を考え出すとキリがないので、バリエーションはこのあたりにします。
ちなみに英語を使う場合やパイソニスタ(python code を使う人)は′があるとめちゃくちゃ便利なので
こんな感じの配列がおすすめでこれでよく使う Can't とか Dosen't、 I'm We'll とかを使うときに素早くアクセスできますし pythonでリストを書くときなど、とても楽になります。
# chage key 1
記号やファンクションキー、数字を入力するうえで、合理的な配置を考えました。
chagen key1 左手親指中央では主に数字とファンクションキーを入力します
数字はテンキー方式を採用
0は無理やり1の隣に配置しました
次に、四則演算しやすいように+-*/=を数字キーの右側に配置、右側キーは上からファンクションキーを配置
最後に左側の余った部分ですが、時刻を入力するときに使うコロン、小数点を入力するときに使うドットを配置。とりわけナムパッドは入力したい数字をすぐに簡単に入力できますし、マウスを離さなくても数字を入力できる部分は利便性が非常に高いです。この配列はとてもおすすめの配列です
# chage key 2
デファクトスタンダードのキーに入っている記号をすべて完備、{}をシフトキーなどを入力しないで一発で入力できる部分は使い勝手が良いです
右側はすべての[] () {} <> '" を配置、開いた上部には’”を配置、右下にはバッククオートとチルダを配置。バッククオートはマークダウンでコードを入力するときによく使います。記号が合理的に配置されているのでこの配置はとても使いやすいです。
左側はANSI方式の記号を踏襲してCh1で配置されたキーの記号を配置、ch1と重複してもいい部分は重複させる事で学習コストを軽減、最後にch1でドットだった部分はセミコロン。0には?を配置、素早く ?! を入力できます。
それと * の代わりに \ を配置しました。ここは縦に / \ | のパイプ記号がそろっている方が学習コストが下がると思い配列
紫色の部分はch1 ch2で教数な挙動をするキーです。なるべく共通を増やすことで学習コストを下げるようにしました。
本当は、上記の案のようにアンダーバー、チルダ、バッククオート、セミコロン、コロンの配列をもう少し合理的にしたかったですし、できればこっちの方がいいかな?とは思うのです。とりわけセミコロン、コロンが隣り合っていないと居心地が悪いです。今ではネイティブでも筆記体並みにほとんどセミコロン、コロンを使わなくなったので必要ないといえば必要ないですが…
# Ch1 + Ch2
Ch1 + Ch2 を同時長押しすることで、キーレイヤー3の挙動になります
このレイヤーは左右の押し易い位置にジュウジキー、Home PageUP PageDOWN ENDが配置
下段は左下から
MB↓ = screen brightness DOWN
MB↑ = screen brightness UP
Vol↓ = Volume UP
Vol↑ = Volume DOWN
LED↓ = Keyboard LED UP
LED↑ = Keyboard LED DOWN
<< = 戻る
>|| = 再生、一時停止
>> = 進む
となります。ジュウジキーはこのショートカットで賄うのでジュウジキーが独立して存在しなくても差し支えありません
# QWERTY の場合
QWERTY の場合はこの形が良いのではないでしょうか? Tab GUI の位置が不自然ですが、この配列が最も学習コストが低い配列です
バックスペースやエンターがデファクトスタンダートとほぼ同じ配置にありますし、escもおおむね同じ、GUIやTabは使わない人はとことん使わないので配置がズレても人によるがそこまで支障は無いと思われる
ただし、小指の負担は相変わらずなので、コンパクトなオーソリニアキーボードを使ってみたいという人向けです。
こっちは、prototype配列にやや似た配列です。esc Eneter を親指が担当するので、小指の負担はやや軽減されています。左手親指をスペースにしたらゲームを遊びやすいと思います。prototype配列のように左手親指がBackSpaceだとゲームがとても遊びにくいです。ゲームをしない人ならprototype配列と同じでBackSpace、ゲームをするならBackSpaceをSpaceにしてもいいと思います。その場合右上の記号をツブしてBackSpaceを配置します
# かなしい時
ごくたまにphotoshopとかのエディターで[ Shift + Ctrl + Alt + S ] とか使うので、その場合、[ Shift + Ctrl + Alt ]がおしにくいという課題が残ります
ウェブブラウザでタブを頻繁に移動する場合 [ Ctrl + tab = 先のタブ ] [ Shift + Ctrl + Tab = 前のタブ ]を使えて便利なのですが、この方式だとソレをするにはいちいちマウスから手を離さなければならないので実質使えない
・esc が左上にないというのは強烈な違和感であり、なれるまで時間がかかる
・BackSpace が左親指にあるのは強烈な違和感であり、なれるまで時間がかかる
・Enter が右手親指にあるのは強烈な違和感であり、なれるまで時間がかかる
最後に、
FPSなどのゲームは遊べない(致命的)
FPSなどのゲームは遊べない(大事なことなので二回)
また、細かい改善が生まれるかもしれませんが、今の所、この設定でおおむね満足してます
このように考えられる限り合理的に作ってます。
# 使いこなせるの?
デファクトスタンダートのキー配列から格子配列のオーソリニアに変更して、キー入力できるの?という不安とかに関しては、『人による』としか言えませんが、慣れれば別にどんな変態キーボードでも成れるもの。ただし成れるまでの違和感は有るし、学習コストを払う必要がある。という事です。新しい靴を買ったときは靴ズレでかかとなどが痛くなりますが、そのうち皮が厚くなって普通に履けるようになります。そんな感じです。あとは成れるまで学習コストを払い続けられるかどうか?という感じだと思います。なので『人による』です。
十字キーが並列して存在する46keyboardは使いにくいという意見をよく耳にしますが。成れるまでとても時間がかかるが成れるモノである。という感じです。今では全くタイムラグも違和感なく十字キー入力できます。なので「人による』となります
# これらに最適化したキーボードを販売中です
# プロトタイプキーボード05
https://prototype-tel.booth.pm/items/5821732
# オリジナルキーキャップ