⌨️

自キ活始めてからのキーマップの試行について 〜60%キーボードから40%キーマップを目指した結果〜

8 min read

https://adventar.org/calendars/6280
この記事は キーボード #2 Advent Calendar 2021 の14日目の記事です。

はじめに

こんにちは!TatsutaNicov(タツタニコヴ)と申します。今年の6月あたりから自作キーボードに手を出し、沼にはまった趣味人です。今回は自作キーボード沼の一つ、キーマップ沼について記事にしてみました。こういったアウトプットをしてこなかった人間なので、拙い部分もあるかと思いますが、楽しんでいただけたら幸いです。

キーマップ沼に手を出したきっかけ

元々はフルキーボードに嫌気がさして、テンキーレスのキーボードを探していたことが始まりです。それからHHKBに興味を持ったり、肩こり対策で分割型が良さそうに見えたりと迷走していたところ、7sProというキーボードを見つけて自作キーボードの世界を知りました。40%キーボードにも興味があったのですが、こちらはアサイン対象のキーを減らして擬似的に40%キーボードを再現すればいっか、と安易に思いついたのがきっかけです。

使用しているキーボード

キーマップとキーボードの配列というのは切っても切れない関係なので、まずは今回お話するキーボードについて簡単に。私が主に使っているキーボードは7sProという分割型のHHKBライクのキーボードです。特徴やこだわりについては、下記リンクに熱量が高い製作者様の記事があるので、詳しくはそちらを参照していただくとして、今回のキーマップの話をする上で必要そうな情報は下記の通りです。

  • HHKBライクのキー配列である(英語配列でアローキーなし)
  • スプリット(左右分割型)である
  • 親指を活用するため、スペースバーが割れている
  • 親指キーのホームポジションがある(左右の最下段内側)

https://salicylic-acid3.hatenablog.com/entry/7skb-introduction

いかにしてキー数を減らしていったか

それでは本題です。時系列順にキーマップの変遷をまとめました。

始まりは60%(63キー)

いきなり40%のキーマップに挑戦しても、どういうキーマップにすればよいのかサッパリだったので、まずは60%キーボードとして普段遣いしつつ、徐々にキー数を減らしていくことにしました。

親指の有効活用 Enter編

自キ活を始めようと思ったきっかけの一つに、一般的なキーボードの配列だとEnterが遠くて押しづらいと感じていたことがありました。何か妙案はないかと調べていくと、Spaceが割れているキーボードにEnterを割り当てるというテクニックを見かけました。小指を酷使するのではなく、遊んでいる親指にもっと仕事させようという試みです。これは良さそうと7sProを購入して試したところ10分もかからずに慣れました。体はこれを求めていたんだと言わんばかりの適合の速さです。これで本来のEnterキーは使わなくなりました。まずは1キー削除です。

*右手親指のホームポジションにEnter、左手親指のホームポジションにSpaceを設定。(Enterキーはブランクに)

レイヤーにカーソルキーを設定する

自作キーボードの醍醐味?レイヤー機能を活用したキーマップの設定です。Enterを設定した右手親指キーにレイヤー機能を割り当てて、切替先のレイヤーにカーソルキーを設定しました。7sProにはカーソルキーが存在しないので、残念ながらキー数は減りませんでしたが、これでホームポジションを崩さずにカーソル移動できるようになりました。

Vim準拠など人によって様々な流派があるようですが、アローキーに慣れきった人間なのでi,j,k,lに設定しました。

バックスペースはMacライクに

Macを使っているときは「Control + h」でバックスペースを打っていたので、それっぽく使えるようにカーソルキーと同じレイヤーの h キーにバックスペースを移しました。また、右手Shiftは使えない人間なので、そちらはブランクに設定します。2キー仕留めました。順調です。(Fnキーは最初からノータッチ)

いい感じに小指が楽になってきました

40%への挑戦

ここまでで4キー排除できました。思ったよりも減っていませんが、まだまだ序の口。これから本格的に消し去っていきます。

バリバリにレイヤーを使っていくぞ!……あれ?

40キー以内に必要なキーを押し込めるにはレイヤー機能をフル活用する必要があります。なので、気合を入れてデフォルトレイヤー以外にキーを押し込んでいきました。レイヤーももう一枚追加して、3枚体制です。(レイヤー切替はSpaceに割り当て)
しかし、これは結果的に使い物になりませんでした。慣れればなんとかなるというものではなく、根本的に間違っているような感じです。自分の運指を観察した結果、原因としては下記のことが挙げられました。

  • 空いている場所にレイヤに詰め込んでいっただけなので、直感的にはわからない配置になってた(つまり迷う)
  • いきなり別レイヤー2枚(デフォルト合わせて3枚)は混乱する
  • レイヤー操作が自体が身についていない
  • モディファイアキーと合わせると混乱は激化(特に3キー以上同時しはキーボードを初めて触ったときみたいにオロオロする始末)

このままでは40%キーどころではないので、一旦このキーマップは破棄して、レイヤーはデフォルト合わせて2枚に制限して再度詰めていくことにしました。

親指の有効活用 SandS採用編

勢い余って左右の親指キーにレイヤー切替を割り当ててしまいましたが、上記の通り失敗。Spaceは単独のキーに戻りました。とはいえ、こんな黄金ポジションを遊ばせておくわけにもいかないので、いろいろ調べてみました。すると、SandS(Space and Shift)なるタップするとSpaceでホールドするとShiftになるやり方を発見。実際に試してみたところ、良い感じにしっくりきました。最初の数日はもどかしく感じることがありましたが、1週間もすればほぼ間違えることが無くなりました。また、狙っていたわけでは無いのですが、親指にShiftを配置することで無理なく全てのアルファキーを打つことができるようになったため、CapsLockを抜くことができました。ラッキー!

左手テンキーを始める

レイヤーを1枚に制限した弊害として、カーソルキーと数字キーをアサインしている場所が被ってしまい、調整する必要が出てきました。(A行に0〜9を割り当てていたのでj,k,lが競合する)カーソルキーの方はもう手に馴染んでしまっていたので、数字行の方をどうにかする方向で情報収集を開始。調べてみると色んな方のアイディアがあってとても参考になったのですが最終的には、左手側にテンキーを設定してみることにしました。テンキーは右手派だったのですが、マウスを使いながらテンキー打てたら強そうだし、両方使えたらさらにカッコ良い気がするので、これを機に修行することにしました。(3ヶ月くらい練習してようやく慣れてきたといった感じです)最後に最上段に残った記号キーを別レイヤーの右手側に押し込んで、最上段をごっそりブランクにしてやります。
お洒落なキーキャップをいっぱい飾れるよ。やったね!

左がテンキー、右がカーソル移動系と分類できたので、覚えやすい

Shift+数字キーの記号入力

Shift+数字キーで入力する記号ですが、親指の同時押し(レイヤー切替+Shift)が予想外にしっくりきたので、こっちも打てるように練習しました。(FF14のパッド勢の方はクロスホットバーの同時押しのイメージと言えばわかっていただけるかも)また、この使い方と合わせて、キーボードの設定を英語配列から日本語配列に変えました。記号キーの "(" と ")" が数字の8と9(eとrキー)に相当するので、配置的に打ちやすいのが理由です。

日本語配列だと隣にあって打ちやすい

英語配列だと遠い

ファンクションキーを設定する

数字キーと対応する場所にFnキーがあった方が覚えやすそうなので、Fnキー限定という条件で3枚目のレイヤーを解禁しました。(レイヤー切替は右親指のホームポジションの右隣に設定)F1は人類史上最も不要なキーなので抹殺します。

ちゃっかりPrintScreenが入っていたり、F12以降は適当だったりしますがまあヨシ

Ctrlの迷走

Windows環境用のキーマップも同時に模索していたのですが、Ctrlの配置先が中々決まらず、雑に試す日々がしばらく続いていました。

とりあえず左手側全部に設定して、使いやす場所を見つけようという目論見
結果、さらに迷走しました。ショートカットの押しやすさを試していたのですが、Ctrlが複数箇所あることに慣れ始めてしまい変な手癖になってきました。いくら試行錯誤のためとはいえ、無闇やたらと同じモディファイアキーを配置しないほうがいいですね。

小指の置きやすさから、今はShiftキーの位置に設定しています

だんだん下がってきたTabキー

私は手が小さい方のようで、qやpの隣などはかなり押しづらく、キーボードによっては薬指で打つようにしています。せっかくの機会なので、これら押しづらいキーも別レイヤーの打ちやすい場所に移動しました。(右手側から2キー消えました!)ただし、Tabキーはウィンドウ切り替えなど頻繁に使うので別レイヤーに持っていくわけにはいきません。ここは一つ下げて、元CapsLockの場所に設定しました。

かなり押しやすくなり、運指が楽になった気がします。

TabとControlの統合

しばらくWindows環境で使い続けていると、コピー(Ctrl+C)→ウィンドウ切り替え(Alt+Tab)→ペースト(Ctrl+V)のような頻繁に起こる操作で引っかかりを覚えるようになってきました。観察してみると、Tab↔Ctrl間の小指の移動が億劫に感じるようになってきたようです。だったらTabを更に下げて、Ctrlと合体させてみようと考えました。TandC(Tab and Control)とでも言うのでしょうか?(そんな言い方をするのかは知りませんが)これが個人的には大ハマリしました。今まで窮屈に収められていたものが開放され、最小限の動きでバシバシとキーを叩くこの快感は、沼に堕ちたことに感謝すら抱かせるものでした。(楽しくてバチバチしてたら嫁さんに怒られました)
また、2つのキーを1キーに統合させたため、1キー減らすこともできました。もう最高ですね。

雛形が完成!

上記以外にもキーの入れ替え等の調整を加えてしばらく使ってみたところ、最終的に常用するキー数は38キーになりました。無事に目標達成です。40%キーボードに乗り換えても十分にやっていけることが分かりました。あとは使用するキーボードごとに適時調整していく必要がありますが、私の中でスタンダードなキーマップが出来上がった瞬間です。


Layer3

Layer2
まだ割り当てていないキーは必要になったときに追加していく予定(最近は殆ど無い)

そして30%へ

しかしこのキーマップが仕上がった頃には情報収集の過程で目にしてきた30%キーボードなるものの存在が気になり始めていました。さすがに30キーに収めるのは無理としても、32か34くらいなら、何とかなるんじゃないか?と。

禁断の?アルファキーにモディファイア・レイヤー機能を割り当て

なんとなく常識が邪魔をしているというか、心理的に抵抗感があるというか、アルファキーにモディファイアやレイヤー機能を割り当てることは避けていたのですが、モノは試しとやってみました。結果は、意外とイイ、むしろこれもイイと感じました。無理に親指や小指でモディファイアキーやレイヤーキーを押したまま指を動かさなくとも、隣同士のキーなど、手が打ちやすい組み合わせを見つけると本領を発揮すると思いました。

r→eと連打するように打つことで、Escを打てる

Layer5
タイピングが早いとレイヤ切替が暴発してしまうこともありあますが、TAPPING_TERMの値をいじって自分に合った値を探して対応しました。私は183が丁度よかったです。

あれ?もしかして30キーもいらなくね?

一度手を出してしまえばもう何も怖くありません。打ちやすいアルファキーの組み合わせを考える日々が始まりました。途中でRemapにマクロ編集機能が追加され、括弧記号を1キーでまとめて打つようにしたり、全部のキーにモディファイアキーを設定してみたりと色々遊びました。(流石にこれは頭がおかしくなりそうでした)そしてある日気づきます。

「もしかして30キーもいらなくね?」

そう思い始めると妄想は止まりません。もやは使いやすい配列なんてどうでもいいです。さらにキー数を減らすことに腐心する日々が新しく始まりました。(イマココ)

ここからは新しいキーボードが必要

さて、頭の中ではあれやこれやと思いつくのですが、実際に動かして試してみようにも、7sProで進めるのはそろそろ限界に感じてきました。(特にスペースバーあたり)これは30%キーボードを買うか、自作に手を出すべきなのかもしれません。

私の手癖からすると下記要件を満たすキーボードで試してみたいと思いました。
・親指を遊ばせておきたくないので、長いスペースバーがついてるものがいい
・Z行を親指で操作するのは辛いので、そういいう思想のものは対象外

軽く調べてみたところ、ちょっとキー数が多いですが、M0ii0が理想形な気がします。

https://booth.pm/ja/items/2874236
が、残念ながら販売は終わってしまっているようです。

なのでこんな感じの28キーボードを作ろうかと思っているところです。基盤の設計はやったこと無いのですが、まあ、なんとかなるでしょう。

28キーで左右対称で、4行になってるやつ。

まとめ

自キ活を始めて約7ヶ月、60%から始めて40%配列に慣れることに成功し、最終的に36キーで普段使いできるキーマップを完成させることができました。妄想中の28キーボードまで含むなら、トータル35キー削ったことになります。一月に5キーずつ削っていった計算です。このままいけば来年の2月にはテンキーで文章を書いているはずです。(絶対やらない)
28キーのキーボードはまだ構想というか、妄想段階でしかないですが、ぜひ実現させたいですね。

終わりに

殴り書きのような内容になってしまいましたが、楽しんでいただけたでしょうか?私は自分の文章力の低さに何度も心が折れて複雑骨折状態ですが、楽しかったです。Zennのアカウントも作ってしまったので、めげずに何か書き続けていこうと思います。
最後にAdvent Calendarに参加しようと思った切っ掛け……というか自キ活で憧れていたことを書いて締めとさせていただきます。

この記事は7sPro(Input Club Hako スイッチ)、オリジナル36キーマップで書きました!

Discussion

ログインするとコメントできます