Treadstone48/32を使ってみようかな?と検討している人、またTreadstone48/32をすでに使っていただいている人に向けて、Treadstone48/32のデフォルトのキーマップがなぜこうなっているかをあらためて少し解説しようかなと思います。
まずはおさらい
ということで、ANSI104(US)キーボード。
大体100キーということでこれを100%として。キー数が少ないやつを〇〇%キーボードと呼んでいますね。
実はこれ以上のキー数のものもあったりと、なかなか闇奥が深いです。
TKLと60%
濃いグレーを削除したらTKL(テンキーレス)。TKLで大体80%くらいですね。
さらに薄いグレーを削除したのがおおまかに言うといわゆる60%になります。
実際の60%はモデファイアの長さやキー数によるバリエーションがたくさんありますし、65%、75%みたいなTKLと60%の間にもいくつか存在します。
私のキーマップの考え方
既存のキー配置をおさらいしたところで、私のキーマップの考え方。
どちらかというとキー数は少ないほうが好みです。
不要キーをそぎ落としてレイヤーに入れるときはギュッと文字キーの下にそのまま潜り込ませるカタチにしています。これはノートPCのキーボードや普通のキーボードの配列との行き来を意識してというのがまずあります。
レイヤーは4つ使います。
- Base:何も押さずに使える。文字、記号、キー数に余裕があればモデファイアその他
- Lower:Lowerキーを押しながら使う。ファンクションキーと記号キー
- Raise:Raiseキーを押しながら使う。数字キーと記号キー、矢印キーやPageUp/DownなどのBaseから削ったキー
- Adjust:Adjustキー、もしくはLowerとRaiseキー両方押しながら使う。QMKの設定、Win/Mac設定、LED設定、マウスキー、Basbeから削ったキー
テンキーレイヤーを入れたり記号キーレイヤーを追加で入れたりしている時もあったのですが、使用頻度がそこまで高くなかったので最近は入れてないです。
この構成でおそらく28キーまでは対応出来るんじゃないかと思っています。
Treadstone48
Treadstone48はANSI104キーキャップを独自配列で使えて、当時の私がBaseキーマップに最低限欲しいキーを配置するように作っています。
完全に不要なものを削りました。次に青をlowerに赤をraiseのキーマップに押し込みます。
紫はlower、raise両方にキーがアサインされています。数字キーそのまま下に押し込みました。
記号系はそのまま左に押し込んでます。
ファンクションキーは左手に集中させています。右手の記号系を邪魔しないためというのもありますが、ファンクションキーを横にならべるとなんとなくF11やF12のおさまりが悪いからとか、VisualStudioなどで左手だけでファンクションキー操作したかったから、という理由もあります。
レイヤー操作専用のキーが欲しい、という事でLowerとRaiseキーを増やしてます。
で配置を整えました。ステップスカルプチャなキーキャップへの影響を考えて主要なモデファイアはほぼ同じ位置です。
BackSpaceは親指位置。個人的に左はバックスペース(←)右はスペース(→)なほうが覚えやすいと思って自作キーボードを使い始めたころからの配置です。スペースバーを2UにしたのはGBするようなキーキャップセットにはオプションで2Uのコンベックスタイプ(スペースキーのかばぼこ型)があって親指にもやさしいです。
右上に唐突に表れた2Uはバックスペースをこちらにも置けるように考慮した配置。デフォルトキーマップではハイフンをいれています。日本語入力では長音の頻度が高いのと、この位置が普通のキーボードでのハイフンの位置に近いため。
実際には矢印キーにHome/End/PgUp/PgDnなどを入れたりして、個人的にはすごく満足なキーボードになっています。
Treadstone32
上の画像の白いキーはLowerとRaiseには何もマップされていない専用キーの扱いになっています。文字キーは残すとしても外回りの白い14キーは何かと兼用出来るはずだ、というのがTreadstone32のキーマップの考え方です。
ハイフン、Menu、セミコロンを削除、EscとTabをLowerへ。矢印はraiseへ。薄いグリーンは基本的に組み合わせて長押し動作させるので(Winキーは単独で押すこともあるけど)ギュッと近隣に押し込みます。
エメラルドグリーン部分は長押し動作とタップ(短押し)動作でキーの働きが変わるものです。
ShiftとAキーが兼用なので、このままだとShift+Aが出来ません。同じようにCtrl+Zも出来ません。なのでEnterキー長押しでShift、/キー長押しでCtrlになるようにして、頻度の高いShift+AとCtrl+Zをカバーしています。
矢印キーはVimタイプの横並びに。慣れればホームポジションを崩さずにカーソル移動出来るのでラクですし、これに慣れると他の40%や60%のキーボードで無理やりに矢印キーを表面に用意しないで良いのでキーマップに苦労しなくなる気がします。
Enterの長さを1Uにして終わり。
ハイフンはLower+Yで打てますが、Treadstone特有のTとYの間にスペースがあるため判別しやすい位置にあります。同様にLower+BやLower+Nなどの位置も少し隙間があるため判別しやすく、一体型だけど分割型のような「見切れの良さ」があって個人的には気に入っています。
長押しとタップ動作の切り替えにタイミングついて
Treadstone32は上にも書いた通り、モデファイアやレイヤーは長押ししたときのみに機能し、タップ(短く押したとき)は文字やバックスペース、スペースを打てるようになっています。
QMKのMTマクロやLTマクロを意識して使っているユーザーならわかると思いますが、これは普段は意識することのないキーの連続打鍵時に発生しているタイミングが問題となってきます。
この問題はあるキー①をキーダウンした状態で別の指で別のキー②をキーダウンしたあと、②のほうが先にキーアップした場合、Ⓐどう処理してほしいか、Ⓑどれくらいの期間まではタップ(短押し)処理として行うのか、というⒶⒷ二つの状態を意識してチューニングすることで違和感を抑えることができます。
Treadstone32に標準で付属させているdefaultとlike_jisのキーマップには自分が普段使っているキーマップと設定値をそのまま入れていて、タイピングテストで英文450WPM(word per minute、いやkeypress per minuteのほうが良いかな)が出るくらいの打鍵が確保出来るような設定値とキーマップ構成になっていますが、人によってはもう少し短くとかもう少し長くみたいな調整する必要がでてくるかと思います。
Ⓐは、たとえばキーマップがLCTL_T(KC_Z)と設定されたキーとAキーをダダっと打鍵したとき、zaと打ったつもりがctrl+aと認識されてしまったというような状態(zをキーアップする前にaをキーアップしている状態)の時にzaと打鍵したいときは以下を書きます。必要なければ消します(コメントアウトしてもいいです)
// default/config.h
// like_jis/config.h
#define IGNORE_MOD_TAP_INTERRUPT
Ⓑはキーダウンしてからどれくらいの期間はタップ(短押し)(Ⓐが効く期間)として認識してほしいかをms単位で調整します。QMKの標準ではMTもLTも同じ時間を調整するのですが、Treadstone32はQMKの機能を使ってMTとLTを独立して調整出来るようにしています。短くするとタップとして認識されにくくなり、長くするとモデファイアキーやレイヤーキーとして認識するまで時間がかかります。同時押し打鍵するクセによって様々だと思うので100ms→10ms単位くらいでおおまかに調整して、必要ならば5ms単位くらいで微調整してもいいかもしれません。
これもconfig.hに以下を記述します
// default/config.h
// like_jis/config.h
#define TAPPING_TERM 200
#define TAPPING_LAYER_TERM 150
TAPPING_LAYER_TERMのほうがTreadstone32で独自定義しているものです。
キーマップの工夫として、スペースを長押しでレイヤー移動するようにしていますが、文章打鍵中にスペース押しっぱなしと認識されてレイヤに移行してしまっても意図しない動作をしないように少なくともRaiseレイヤにファンクションキーやEsc、tabキーなどを入れないようにしています。
まとめ
ということでなんとか理解していただけたでしょうか。キーマップみただけで想像できる人はこんな記事みないでしょうけど何か発見があれば幸いです。
ところでTreadstone48は当初は分割キーボードに飽きたユーザーが二台目以降に買ってもらえればな、という目論見があったんですけど、一作目として作って使っていただける方のほうが多いように感じています(そして大抵OLEDを削ってつけてくれています(笑))。キーマップ自体も冒頭のとおり初めての人でも移行しやすく、物理的な配置も左手のZ行とY行の違和感がなくなるまでの練習コストも他のものより少ないと思うのでもし検討している人は是非に😀
Treadstone32はもうすぐboothで販売しますがこちらはエンスー向けというかホビー向けというか、30%キーボードに挑戦したい人向けです。上記のタイミングを調整してキーマップを手中に収めればものすごい全能感と、デスクトップスペースが異様に広くなって他のキーボードを置きたくなるくらいです(笑)
デフォルトキーマップを素直に使う場合はおそらく使いこなすのは(上記の調整だけすれば)そこまでむつかしくないと思いますが、すでに使いなれているキーマップをベースにカスタムしようとする場合はちょっとハードモードになるかもしれません…