28キーのミニマルなキーボード、Alpha
このエントリはキーボード #1 Advent Calendar 2020の2日目の記事です。前日はskyhigh_worksさんの【QMK】VSCodeでKeycodeの補完を有効にする - 天高工房でした。
本記事では28キーのミニマルなキーボード、Alphaの紹介をします。一見とっつきにくそうですが、とっても楽しいですよ!
僕のゲーミングキーボード見て pic.twitter.com/MSmcaLo0Fp
— yhara (Yutaka HARA) (@yhara) December 2, 2020
Alphaとは
Alphaはキー数がわずか28しかない小さなキーボードです。いわゆる30%キーボードの一種ですが、代表的な30%キーボードであるGherkinでさえ30個のキーがあるのに、そこからさらに2つキーが減っています。
狭い面積に機能を詰め込まなくてはならない30%キーボードなのに、贅沢にも鎮座する2uのスペースバー!そのばかばかしくさえあるキュートな見た目に、これはぜひとも手に入れねばならないと思ったのでした。
なぜ30%キーボード?
実は前々から30%キーボードには少し興味がありました。私がメインで使っているのは48キーのLet's Splitで、最初こそ数字列がない簡素さに戸惑いましたが、自分に合ったレイヤー構成を見つけてからはむしろ数字列は不要だと思うようになりました。
であれば、最適なキー数とは一体いくつなのだろう?もっとキーを減らしたらどうなるだろう…?
もちろん、キーを少なくすればより快適になるというものではありません。qmk_firmwareの機能をフル活用して必要な全てのキーを配置する必要があるでしょう。ですが、もしかしたらその過程で新たな可能性をひらめくかもしれない。そしてそれはLet's Splitにもバックポートできるかもしれない…、というのがAlphaに期待していたことです。
構成
Alphaはキットを通販で手に入れることができます。組み立てにははんだ付けが必要です。簡単なビルドログがここにあります。詳しくは以下を参照してください。
キースイッチはGateronの赤にしました。今までタクタイルしか使ったことがなかったので、リニアを試してみたというところです。リニアもなかなか、悪くないですね。
キーキャップはTALPさんで購入しました。Alphaはフルのキーセットだと大量に余りが出てしまうので、アルファベットだけ買うことができて良かったです。
ケースは先ほどのサイトでキットと同時に購入した積層式のもので、色はFrosted(スモーククリア)を選びました。アンダーグローLEDとの相性がよいです。
キー配置
さて本題のキー配列の話です。最初に完成したキーマップを貼っておきます。
レイヤー構成
Alphaを使う上で欠かせないのがqmk_firmwareのレイヤー機能です。28個のキーはアルファベットを配置しただけでほとんどいっぱいですから、記号や数字は別のレイヤーに置いて「何か+何か」で入力することになります。
これは実は、48キーのLet's Splitでも同じことです。48ではすべてのキーを賄うには足らないため、記号や数字は別のレイヤーに配置します。ただしLet's Splitには親指で押すためのキーがたくさんあるため、レイヤー切り替えのためのキーを用意することができます。いっぽうAlphaにはそんな余裕はないため、アルファベットキーがレイヤー切り替えの機能も兼ねなければなりません。
そこで試してみたのが、ホームポジションのキーをレイヤー切り替えに使うという作戦です。具体的にはSおよびLが数字レイヤー、DおよびKが記号レイヤーへの切り替えになっています。例えばKを押しながらQを押すと「!」が入力されます。
括弧レイヤー
Let's Splitの場合は一つのレイヤーに全ての記号類がおさまるのですが、Alphaの場合はなんと1レイヤーに記号類が入り切りません。そこで、記号のうち4組の括弧類はそれ用のレイヤーを設けることにしました。切り替えキーはFで、Fを押しながら右手のキーをタイプすることで括弧類が入力できます。
カーソルレイヤー
Space + HJKLでカーソルキーの上下左右が入力できます。Macの場合は多くの場面でCtrl + F等によるカーソル移動が効きますが、VMで別のOSを動かしていたりするとそれが通用しない場合があります。ショートカットが場所によって効いたり効かなかったりするのは非常にストレスですが、qmkの設定であれば必ずカーソルキーとして動作することが保証されるため快適です。
Spaceをレイヤー切り替えに使うデメリットとして、Space長押しで連続した空白を入力できなくなります。しかしこれは「Spaceを2回押す、2回目は長押し」という操作で代替できるようになっているので、大きな問題はないでしょう。
モディファイヤ
記号や数字以外にも考えないといけないキーがあります。例えばShiftキーやCtrlキーはどうしましょうか?
qmkではレイヤー切り替えと同様、モディファイヤも一つのキーに兼用させることができます。私はZおよびMをShiftに、AおよびWINキー(右端の紫のキーです)をCtrlに割り当てました。2つずつあるのは、例えばShiftがZだけだと「Shift + Z」を入力することができないからです。これはなかなか上手くいって、ShiftもCtrlも意外なほど違和感なく入力できています。
特殊キー
残るはEnterやEsc、Tabなどの特殊キーです。最初はカーソルレイヤーに配置していたのですが、EscはVimで多用するため「〇〇を押しながら〇〇」だと少しまだるっこしく感じました。そこで役立ったのが、qmkのCombo Key機能です。
Combo Keyは複数キーの同時押しにキーコードを割り当てる機能で、例えば今回はWとEを同時に押すことでEscになるようにしました。同様にEnterやBackspace、英数、かなキーkも同時押しで入力できるようにして、格段に快適性が増しました。
アンダーグローLED
購入したキットにはLEDテープが付属しており、これを基板の下に取り付けることでqmkから制御できるようになります。
いろいろな使い方ができそうですが、例えばレイヤー切り替えに応じて光らせるのは専用の設定があり、簡単に実現できます。
qmkの各種機能
採用を検討した機能について触れておきます。
Combo Key
複数キーの同時押しにキーコードを割り当てます。便利です。
注意点として、LTやMTで複数キーコードを兼用させているキーはコンボに使えません。私のキーマップにはいたるところに兼用キーがあるため、コンボに使えるキーはかなり制限されますが、6キー程度であれば問題なく配置することができました。
Combo Key関連の設定値として、COMBO_TERMがあります。この値は微調整が必要で、小さすぎると少しずれただけで同時押しと認識されなくなり、かといって大きすぎると通常のタイピング中にコンボが暴発します。まあ前者の方が挙動としては安全側なので、小さめにしておくのが無難かもしれません。
Tap Dance
あるキーをカカッと連続で入力することで別のキーコードを送信する機能です。
この機能はAlphaとは相性が良くないと思われます。例えばppに何か機能を割り当てた場合、「apple」と入力しようとすると暴発することになります。qqみたいに英単語に登場しないものならいいかというと、それはそれで固有名詞やプログラミングの変数名、Vimのキー操作などで起こる可能性はあり、微妙です。
Auto Shift
aを少し長押しすることでAになる機能です。
面白そうですが、Alphaの場合はアルファベットキーの長押しに機能を割り当てるため、使えなさそうです。
おわりに
本稿では28キーの小さなキーボード、Alphaを紹介しました。組み立てるまで実用に足るのかは半信半疑だったのですが、qmkの機能を活用することによって日本語文章入力やプログラミング作業にも十分使える感じになりました。
最後に実際に打鍵している様子を載せておきます。緊張ですこしたどたどしいですが、今はもうちょっとなめらかにタイプできています。いやあ、Alphaは楽しいですね。満足です。
この記事はもちろん、Alphaによって書かれました。