ぴろりのくせになまいきだ。

世間に平和はおとずれなぁい

キーボードにおける物理配列に関する考察

はじめに

キーボードは、ヒューマンインターフェースデバイスとして、現代における万年筆といってもよいポジションに位置しているといえます。一日中キーボードを使用している、という方も少なくないはずです。
長時間キーボードを使用していると、肩こり、腱鞘炎等の種々の身体症状が現れる場合もあります。
そこで、エルゴノミックを謳うキーボードも多く販売されています。
そのようなエルゴノミックを謳うキーボードの中には、特殊な物理配列をしたものもあり、市販されていないキーボード(自作キーボードキット等)では、一見するとキーボードにすら見えない攻めた配列のキーボードもあります。

私は、昨年から自作キーボードを作り始め、ついには設計までするようになってしまいましたが、設計する際に物理配列について考察したことについて、備忘録的にまとめておきたいと考えました*1

なお、手の大きさや指の長さ、各指の可動範囲および動かしやすさ等は個人差がありますので、あくまでも私の手においては、という意味の考察であることは予めご了承ください。
一応、全く自作キーボードに触れたことがない方でも(興味があるかどうかは別として)、読めるように記載したつもりですので、ぜひ皆さんお読みください。

親指と小指の位置関係

カラムスタッガード系配列

まず、カラムスタッガード系配列における位置関係についてみてみましょう。
カラムスタッガードとは、列方向(縦方向)にキーがずれて配置されている配列を指します。例えば、以下のようなキーボードがカラムスタッガードのキーボードに該当します。
Corne Cherry V3shop.yushakobo.jp
Lily58 Proshop.yushakobo.jp

今回、数字行は手を浮かさないと届かないものとして、あまり考えないことにします。
こういったカラムスタッガード配列のキーボードにおいては、普段遊びがちな親指を積極的に使おうという思想のものが多く、親指キーに2~4キーほど振ってある設計が大半です。
以下、カラムスタッガード配列のキーボードの配列を真上からみた図を示します(私がKLE*2で適当に作りました。)。

カラムスタッガード配列の例
カラムスタッガード配列の例2

さて、まずご自身の手をご覧になってください。一番短い指は何指でしょうか? もちろん親指ですね。次に短いのは通常小指ではないでしょうか。
そうすると、こういった配列においてすべてのキーを無理なく打てるようにするには、短い親指と小指に合わせて手を置くことになるでしょう。
では、実際にこれらのキーボードに手を乗せるとどうなるでしょうか。
実際には指の曲がり具合もあり、図示することが困難であるため、ご自身の手を眺めながらお読みください。
おそらく、最も内側に置いた親指キーに指が届くようにしつつ、小指を伸ばしてぎりぎりTabキー、Qキーに届くように手を置くと思います。薬指、中指、人差し指はその手の角度なりに置かれることになるでしょう*3

そのうえで、小指の位置を上下するように手の置き方を変え、親指の動く方向を観察してみてください。
小指の位置を下げれば、親指がより内側まで届くようになりませんか? 逆に、小指の位置を上げると親指がより下方向に動くようになりませんか?
言われてみれば当たり前のことなのですが、小指が担当するキーと、親指が担当するキーとの位置関係によって、キーボードに対する手の置き方が変わる、ということになります。
換言すると、小指列が下がるとより親指が遠くまで伸び、小指列が上がると親指の移動方向が上下方向に近づく、ということになります。さらに、親指を曲げ伸ばしした際の軌跡の方向が変化するので、親指が担当するキーの配置をそれに合わせて調整してやる必要があるといえます。

このことが非常にわかりやすい例は、Claw44であるといっていいでしょう。
docs.dailycraft.jp
見ていただくとわかるように、Claw44は、かなり極端に小指列が下がっており、親指キーが非常に遠くまで配置されています。
私も実物を触るまで、「絶対親指遠いでしょ」と思っていたのですが、実物を触ると、上記の現象が体感できると思います。
また、キーボードの外形の上辺と手が垂直になるように手を置くと、ちょうど小指が打ちやすく、親指キーも届きやすい、という角度になるように調整されています*4
打ちやすい配列を試行錯誤の中で発見したふくさんには感服しました。

もし、ご自身でカラムスタッガード配列のキーボードを設計しようとされている方は、上記の小指と親指の位置関係について調整してみるとよいかもしれません。
なお、私の手においての話ではありますが、上の例2の配列における最も内側の親指キーは、おそらくやや遠いと思います。もう少し小指列を下げると、届くようになる気がしています。

ロウスタッガード系配列

もしかしたら、「いやそんな変な配列のキーボード使わないし」と思われた方もいらっしゃるかもしれません。
ところが、上記の小指と親指の位置関係については、ロウスタッガード配列(普通のキーボードの配列)においても大いに関係のある話なのです。

先ほど、小指と親指が担当するキーの位置によって手を置く角度が変わる、と書きました。
ロウスタッガード配列では、親指はスペースキー(と無変換キー、変換キーあたり)を押すことがメインの仕事になるかと思います。
では、この親指が担当するキーがより外側に来るようにするとどうなるでしょうか。すなわち、親指の横方向のホームポジションをより外側にするとどうなるでしょうか。
皆さんもうお分かりかと思いますが、小指が上に持ち上がります。そうすると、右手の小指で取るPキー(またはさらにその上のハイフンキー等)が届きやすくなります。

したがって、例えばスペースバーを長くすると、小指キーがとりやすくなる、ということになります。
また、自作キーボードでは、スペースバーを分割する場合もありますが、それをどこに配置するか(すなわち親指のホームポジションの位置をどこにするか)、ということが他の指の打ちやすさに影響することになります。

この観点から、いわゆるGRIN配列は、まんべんなくキーが打ちやすい配列であると思います。
grin-keebs.stores.jp
実際に触らせていただいたことがありますが、親指側が下がって角度が自然につくので、小指キーがとりやすく、かつ、移行コストが低い、といういいとこどりの配列であると感じました。

また、直交格子配列(オルソリニア配列)においても、上記の親指と小指との関係は存在するといってよいと思います。例えば、親指キーを横長にすれば、小指キーの取りやすさが変わる、ということになるといってよいでしょう。

人差し指と小指の位置関係

カラムスタッガード系配列

ここでまた、皆さんの手を眺めてみてください。
小指の次に短い指は残りのどの指でしょうか。一説には男性と女性で違う傾向にあるらしいのですが[要出典]、人差し指か薬指になると思います。私は人差し指が小指の次に短いです。
仮に、人差し指が薬指よりも長いとしても、人差し指が担当する列は2列(左手だとR列とT列)あり、横方向に遠い列も打つ必要があり、重要度としては、人差し指のほうが高いといって差し支えないと思います。
そうすると、どこまで届くかという観点からは、次に人差し指によって制限がかかるといってもよいでしょう。

先ほど、小指と親指の関係について論じましたが、仮にその手の角度で指を置いたときに、人差し指が届かないのでは意味がありません。
あまり小指が下がっていない配列の場合は、小指側が高くなるように手を置くことになるため、結果として人差し指側が下がります。逆に、小指側が大きく下がっている配列の場合は、人差し指側が高めでも十分届くことになると思います。

このようにして、小指と人差し指との位置関係を決めて手を置くと、いったん親指のことを忘れるとして、中指列(左手はE列)と薬指列(左手はW列)を取る際の各指の曲がり具合が決まります。
もし、中指と薬指の曲がり具合が大きすぎると、下段のキーを取るには大きく指を曲げる必要があり、窮屈でやや取りにくい形になってしまいます。したがって、小指と人差し指の位置関係によって、中指と薬指のキーの打ちやすさが変化する、といえます。
さらには、小指と人差し指の位置を決めると、手の角度が決まりますので、この位置関係によって親指列の打ちやすさが変化する、といえます。

総合的には、短い親指と小指、さらには次に短いか重要であるといえる人差し指の位置関係を調整することが、カラムスタッガード配列の物理配列の調整において重要であると考えます。

そういうお前の設計は?

さて、ここで、「そこまで理解していながら、お前の設計したカラムスタッガードのキーボードの配列、なんかちょっとおかしくない?」と思われた方がいらっしゃるかもしれません。
CygSUS*5の配列を考えていた際のスケッチを示します。

CygSUS配列スケッチ

見ていただいた通り、小指がかなり下がった配置になっている一方、人差し指列もまあまあな下げ幅になっています。そして親指列が結構下向きに配置されています。

前者は何を狙っているかというと、最上段の行に関しては、ほぼ指を伸ばした状態でキーを押下することを前提としており、私の各指の長さに応じた下げ幅になっています。

後者に関しては、よく考えると、親指の指先の軌跡上にキーの中心がありません。ロータリーエンコーダ側(スケッチでは左側)のキーは、指先の軌跡より下に置かれているし、一番内側(右側)のキーは、指先の軌跡からはかなり下がった位置に置かれています。
これに関して、キー部5%でも質問を受けたのですが、左側のキーは、第一関節のみを曲げて指先で取ることを念頭に置いております。真ん中は比較的ニュートラルな状態(だいたい親指の爪の側面あたり)で押し、そして右側のキーは、指の腹(親指の第一関節の側面あたり)で取る狙いにしています。このような配置は、今まで特に説明していませんでしたが、指のどこでキーに触れるかによって、今どの位置に指があるかを見ずに判別しよう、という意図があります*6

したがって、最近設計したカラムスタッガード配列のキーボードにおいては、私の指の長さと押し方を考慮すると、かなり最適化された配列になっています。

ロウスタッガード系配列

ロウスタッガードにおいても、人差し指の位置が重要になるのは、もはや説明しなくてもご理解いただけると思います。
仮に、親指のホームポジションを外側寄りにすると、小指は上がり、上段のキーまで届くようになるといえますが、人差し指が下がるので、TキーやYキーが遠くなり、また、数字キーの5~7あたりも押しにくくなりやすいといえます。
とはいえ、ロウスタッガード配列の場合は、小指できちんと上段の列を打てるように手を置こうとすると、薬指、中指、人差し指を丸めた状態で置くことになると思いますので、親指と小指の位置関係のほうが重要であると思います。

一方、人差し指と小指と親指の位置関係を調整するという観点から見ても、上記のGRIN配列はよくできていると思います。
内側(T列、Y列)が下がっていますから、小指と親指の位置を優先して手を置いたとしても、違和感なく人差し指で上段のキーを取ることができるといえます。
GRIN配列のキーボードを触った際に、考案者のpoliciumさんのすごさを思い知りました。

おわりに

この物理配列に関する考察においては、実は、手の甲が置かれる位置および角度については何ら触れていません。
3Dのキーボードを作った際に思い知ったのですが、パームレストを使うなどして手の甲と指との位置関係を調整すると、それだけで打ちやすさが変化します。また、手全体をどれくらい内向きに構えるのか、という意味の角度(ロール方向の角度)によっても打ちやすさが変化するといえます。
したがって、今回の考察は、あくまで平面の配置を考えた際の一要素である、と捉えていただくのがよいかと思います。

キーボードを設計した人は、少なくとも自分では打ちやすいと思って作っているはずですので、他の人のキーボードを触る際には、なぜこの配置で打ちやすいと思ったのか、という点について思いを馳せてみると面白いかもしれません。

一方、ロウスタッガード派の方も、自分の親指のホームポジションがどこであるか、という点は見直してみると面白いかもしれません。

この記事は、ロウスタッガードなのかカラムスタッガードなのかよくわからないQuokka*7で書きました。

*1:なお、この記事を書こうと思ったきっかけは、オタヒーのサメさんのツイートがきっかけです。オタヒーのサメさんも同様のことに気づかれていたと思いますので、私が最初に提唱したわけではなく、キーボード界隈の皆さんも感覚的には気づかれていたけど、文章になっていなかった、という類の話と認識しています。

*2:Keyboard Layout Editor

*3:ここで、かなり無理しないと指が届かないようであれば、他のキットにするか、ご自身で設計中の場合は配列の設計を見直した方が良いでしょう。

*4:なので、実は適当にこの配列をマネしても、直感的に打ちやすくなるわけではない、という点が面白いところです。

*5:積層ケースのキーボードを基板から作ってみた - ぴろりのくせになまいきだ。

*6:特に許可なくサムクラスタの配置をまねていただいて構いません。ただし、やや場所を取り、筐体が大きくなりがちです。

*7:一体型のキーボードを設計してみた - ぴろりのくせになまいきだ。

キーボード設計データの公開

はじめに

過去、基板発注まで行ったキーボードとして、以下のものがあります(随時更新の可能性あり)。
piroriblog.hatenablog.com
piroriblog.hatenablog.com
piroriblog.hatenablog.com
piroriblog.hatenablog.com

これらのキーボードのケースについて、組み立てたい方用、または、設計の参考にしたい方用にデータを公開します。
下記の注意事項をお読みいただき、良識あるご利用をお願いいたします。

注意事項(2023年7月19日公開後一部更新)

CC BY-SA 4.0 Deed | 表示 - 継承 4.0 国際 | Creative Commons
例えば、データの使用および改変は可能*2ですが、公開する際には原作者のクレジットを表示してください。また、元の作品と同じ組み合わせのCCライセンスで公開することを要求します。

  • 基板のガーバーデータなどは、一部に関しては*3現状で公開する予定はありません。公開されていない基板についてどうしても作りたい場合には、私までご連絡ください*4
  • ガーバーデータが公開されている基板については、私の許可なくプリント配線基板製造業者に発注していただいても構いません*5
  • 本データの利用等によって生じた損害に関しては、一切の責任を負いかねます。
  • 本データをケース等の設計において参考にした場合においては、当該設計行為およびその後の頒布行為等に関して、私に許可を取る必要はありません*6*7

リンク

drive.google.com

質問等があればご連絡ください。

*1:2023年11月5日追記

*2:例えば、プレートデータをそのまま使い、手配線でキーボードを作製するのはOKです。

*3:Paren48のPCBデータを追加したためこの記載を追記(2023年11月5日)

*4:公開するにはややお恥ずかしい点があるためです。

*5:2024年5月6日追記

*6:例えば、配列のエッセンスを取り入れた、配列の一部を取り入れた、ケース構造を似た構造した、基板におけるパーツの配置を参考にした等の場合には、許可を取る必要は当然に生じません。

*7:2024年5月6日一部文言の微修正

一体型のキーボードを設計してみた

はじめに

一体型で気軽に使えるキーボードが欲しくなったので、作ってみました。
基板を発注するのはこの間やったので、作る心理的ハードルは比較的低めに感じました。
名前は、1/4ずつのずれを基調としたキー配列であるので、Qから始まる何かにしようと思っていたところ、たまたま目についたクォッカ(Quokka)という動物の名前を付けてみました。

Quokka完成図

検索していただければわかりますが、クォッカは、にっこり顔に見える動物です。かわいいので検索してみてください。

以下、今回作ったキーボードについて解説します。

実現したかったこと、やってみたかったこと

  • 40 %の一体型
  • 気軽に使える(=パームレストなしで使える)
  • 乳半アクリルを使ってみたい(どんな感じに光るか試したい)
  • POMも使ってみたい
  • 構造によって音がどうなるか試したい

このあたりの事項を念頭に作ってみました。

配列

見ていただいてわかるように、途中で折れ曲がった配列となっています。
いわゆるAlice配列*1は、小指列(Q列およびP列)から折れ曲がっている一方、この配列は、中指列(E列およびI列)から折れ曲がっています。
一見すると、なんだこれはと思われるかもしれませんが、実はカラムスタッガード(列方向にずれた配列)を意図しています。

実はカラムスタッガード

じゃあ普通のカラムスタッガードでよかったじゃんという話は大いにあります。私も一瞬そう思いました。
でも、だったら既にあるものでよいわけで、と思い始めて色々検討してみました。
その中で、見た目の面白さと、使いやすさのバランスを考えたところ、この配列にたどり着きました。
とはいえ、適当に作ったのではなく、今回、パームレストを使わないことを念頭に置いたので、それ用の調整はしています。例えば、比較的手を丸めて打鍵することになるため、その状態に合わせ、あまりずれ量の大きくないカラムスタッガードになるようにしています。また、そのような打鍵状態を想定して、親指キーの位置を微調整しています。
なお、例のごとく、中指列の下には、ロータリーエンコーダを配置しています。

今、この記事を書くためにQuokkaを使っているわけですが、カラムスタッガードに慣れていれば、思ったより普通に使えます。
特に、3列目のキーについては、内側にキーが曲がっているため、指を曲げた方向とマッチしやすく、割と良い感触です。

構造

今回、単に全体が一枚の板となるように、複数の板を積層していく構造を採用しました。
キースイッチや部品が配置される空間以外については、穴の位置および大きさを部品に合わせて正確にカットし、可能な限り板が配置されるようにしています。
具体的には、以下のような積層構造としています。

  • スイッチプレート(POM):1.5 mm
  • ミドルプレート1(乳半アクリル):2.0 mm
  • ミドルプレート2(POM):1.5 mm
  • PCB:1.6 mm
  • ミドルプレート3(乳半アクリル):2.0 mm
  • ボトムプレート(乳半アクリル):2.0 mm

今回もプラスチック板のレーザーカットは、遊舎工房さん*2にお願いしました。いつもありがとうございます。

今回採用した乳半アクリルは、写真で見る限りあまり透過率がないように見えますが、思ったより光は透過します。
ミドルプレート3には、スイッチソケットが収まっているのですが、裏から見ると、ボトムプレートを通してスイッチソケットの色とだいたいの形が分かる程度には透けます。
この透過率だと、どうなるかというと、結構いい感じにLEDの光が拡散します。

LEDのテスト点灯

非常に写真を撮るのが難しく、目視でのきれいさを再現できていませんが、こんな感じでいい感じに光ります。
光源の輪郭が目立たなくなるので、ぼんやり光らせたい場合は、良い選択肢になると思いました。
ちなみに、真ん中の丸い穴は、インジケータ用のLEDの透過穴です。

また、最近、遊舎工房さんの加工材料のラインナップに追加されたPOM*3も使ってみています。これも全く光を透過しない白に見えますが、上の画像からもわかるように、やや透過率があり、LEDの光くらいは透過します。
カットしたPOMを触ってみましたが、安心感のあるタイプの柔らかさがあるので、スイッチ部分とケースを接続する部材に採用すると、程よい柔らかさがあってよいかなあと思いました。
遊舎工房さんで取り扱いのあるPOMの板厚が1.5 mmなので、まあスイッチプレートに使えということでしょう。実は、この間作ったキーボード*4用のスイッチプレートも切ってみたので、また試してみたいと思います。

さらに、このような積層構造としつつ、USBコネクタ部分がきれいに見えるように工夫してみました。

USBコネクタ部分

この構造を実現するために、今回採用したマイコンボードの実装方法をちょっと工夫しています。

端面スルーホールを活用した実装

PCBの裏から、マイコンボードのコネクタ部分が表側になるようにマイコンボードをPCBに直接実装すると、ちょうど1.5 mmだけUSB type-CのメスコネクタがPCBから表側に飛び出る格好になるので、POM板の厚さにちょうど収まるようになっています。
すっきり見せることができて満足です。
実は、前に設計したケースでは、USBのオスコネクタのスリーブ部分をちょっと削らないと刺さらない、という失敗をしていたので、リベンジの意味でちょっとこだわりました。

使った感想

めっちゃ良い、というほどではありませんが、普通に悪くないかな、といった感じです。
狙った通り、パームレストなしでの使用に耐える一体型キーボードには仕上がったと思います。
ちょこちょこキーボードの位置を動かす場合には、やっぱり一体型のほうが取り回しが楽でいいなと思いました。

音に関しては、どこかで音を吸収してくれるわけではないので、プラスチック板を叩いているなあという音がします。ただ、一体化はしているので、音としては悪くありません。
今回の構造にしてみて改めて確認できたのですが、スイッチの打鍵によって生じた振動をどのような材料の部材に、どのように伝えるか、ということが打鍵音の調整において重要なことなんだなあと思いました。
このように硬めの素材で構成すると、固体中を音がよく伝わり、構成される部材そのものを叩いたような音が鳴る傾向にあるように感じます。一方で、フォームなどの音を伝えにくい素材を間に挟むと、ある程度音の伝播が遮断されるので、スイッチからの振動が伝わりうる範囲の部材を叩いた際の音が鳴るように思います。ただし、フォームは、その特性上、高音を吸収しつつ低音を通しやすいといえるので、各素材の特性も加味して、打鍵音の調整をしていく必要があると思いました。
打鍵音エンドゲームを目指して、また新たな構造にチャレンジしたいと思います。

また、今回は、積層して約10 mmのプラスチック板に近いものになっているので、よく言えば安定した打鍵感であり、ちょっと悪く言えばやや硬めの打鍵感です。
とはいえ、打鍵感に関しては、こういった硬めの打鍵感の場合、今回採用しているような弱めのタクタイル感のスイッチ*5のタクタイル感を感じやすいので、悪いことばかりでもありません。
スイッチの特性と、キーボードの構造で大まかな打鍵感が決まるといえますので、このあたりは好みに合わせて組み合わせれば、という気もします。

やや奇抜な見た目ながらも、普通に使いやすいキーボードになり、また、実験的要素も試すことができたので、おおむね満足しています。

おわりに

今回は、そんなにたくさんの部材を切りませんでしたし、金属板も切っていないので、思ったより安価(当社比)にキーボードを組み立てることができました。
例のごとく基板は4枚余っているので、欲しい方がいたらご連絡ください。カット用のデータとともにお渡しします*6

不思議なことに、キーボードを一台組み立てると、なぜか次のキーボードを作りたくなってしまうんですよね。今まさにその状態で、次はどんな構造を試してみようかと思索しています。次は、今回の知見を活かしつつ、打鍵音特化のキーボードを作れればなと思いました。

この記事は、今回作ったQuokkaで書きました。

*1:Alice配列 - Google 検索

*2:レーザー加工サービス

*3:ポリオキシメチレンまたはポリアセタールとも呼ばれる

*4:積層ケースのキーボードを基板から作ってみた - ぴろりのくせになまいきだ。

*5:Durock White Lotus / Light TactileまたはDurock White Lotus Light Tactile キースイッチ(5ピン/56g...

*6:A4サイズに収めようと思っていたのですが、他の部材と一緒にでかいサイズで切るからいいか、と思ってA4サイズに収まらないまま作ってしまったので、何か別の部材の発注のついでに切ってください……