どうもこんにちわ、キーボードオタクの佐藤かえでです。

まず、いきなり自分がいま使ってるキーボードーを見せます!!!

(画像)

なんとキー数が42個しかないキーボードを使っています。
皆さんにこれを見せると「どうやって数字とかだししてるの?」「キー数足りる?」とめちゃめちゃ言われます。

この質問をめちゃめちゃうけるのに対して、いい感じにまとまってる記事がなかったので、私が書くことにしました。

対象読者

  • ちっちゃいキーボードはじめましての人
  • ちっちゃいキーボードに興味あるけど、入力のイメージが掴めてない人。
  • ファームウェアのキー配置をいい感じにしたい人。
  • 現状、私と同じようにいちいち聞かれたときに答えるのがめんどくさい人。

キーボード初心者向けに書いたので、前提が長く感じるかも知れませんがお付き合いください。

はじめに

一般的なキーボードの操作とは割とかけ離れた操作をしていて
いわゆるノートパソコンのキーボードとかゲーミングキーボードに無いような機能を使って操作してます。
この機能は後半に説明します。

まずそもそも何種類のキーが必要なのか。

本題に入る前に、どのくらいのキーがあったら十分にPCが操作できるのかについて議論したいと思います。

キーの意味

さらにその前に、“キー” という曖昧な言葉を明確にしておきます。
キーが示しているのは2つあり、
キーボードの物理的なキーと
そのキーを押したときにPCに送られるキーコード(論理的なキー)に分けられます。
例えば、キーボードの左上のキーを押すとESCキーが送られるということです。

ここでは
物理的なキーを「物理キー
論理的なキーを「キーコード
と呼ぶことにします。
物理キーにキーコードを割り当てることをマッピングと言います。
例えば、左上のキーにESCをマッピングするという表現になります。

カスタムキーボードでは独自のマッピングができる。

一般的に市販されている安いキーボードと違いカスタムキーボードと呼ばれるものは、キーのマッピングが変えられるものが多いです。
例えば、CapsLockキーをCtrlキーに変えたりすることができます。

結局何個のキーが必要なの?

キー数が少ないキーボードのキー配置を考えるための基本的なメモ
一般的なUSキーボードには104のキーがあります。
ここから機能が重複している、テンキー部分を除くと87キーになります。
これは一般的にテンキーレス80% と呼ばれているものでこのタイプのキーボードをつかってる人も多いです。

じゃあ87キーがあれば良いのか…
そういう人も多いと思いますが、
キーボードは文字を入力する以外のことをするときもあります。

例えば、
PCの電源を入れたり、
電卓を出したり、
音量やディスプレイの明るさを変えたり
これらは実はしっかりキーコードとして実装されていて、これらの機能もカスタムキーボードでは自分の好きな物理キーにマッピングできます。

逆に、ctrlやaltキーは重複していて片側しか使わない、というのであれば減らせます。

結論をいうと人によって必要なキーコード数は変わって、おおよそ90-130くらいになるんじゃないでしょうか

本題 どうやってコンパクトキーボードに130ものキーコードを割り当て、運用しているのか

画像を見ながらだと解説しやすいと思い、サンプル画像を用意しました。
これは、どの物理キーにどのキーコードが割り当てられているのか、を示した図になります。
これを使って解説していきます。
このキーボードは左右分離キーボードで、物理キーが全部で36キーのキーボードになります。

Layer

コンパクトなキーボードを使う上で最もシンプルで最も頻度が高く使われるのがレイヤーです。
画像の方には、4段になってキーコードが示されていますが、これは4種類のキーボードがあるわけでは無くて、4つのレイヤーに分かれているということです。
画像では、赤くなっている物理キーを長押ししてる間は、そのレイヤーになるということです。
2つの物理キーを押すとFunレイヤーに入れて、長押したまま左上のキーを押すとF1が出てくるということです。

※ 一番わかり易い例だと、60%キーボードのFNキーとかはわかりやすい例です。

このレイヤーの使うことによって、36キーのうち、レイヤー操作のキーを2つ用意して、残り34キーで、34キーに対して4レイヤーだと、136のキーコードを割り当てることができます。

なので、ほぼこれで完結します。

Hold & Tap

ホールドタップは、長押ししているときと、短押ししたときで、キーコードを変える機能になります。

画像中のFやJのキーは、短押しでF,Jを出し、長押ししたときはShiftとして機能します。

このホールドタップの機能は、1つのレイヤーにたくさんのキーコードを詰め込む機能で、通常長押しでしか使わないキーと短押しでしか使わないキーを1つの物理キーにマッピングし、圧縮することができます。
例えば、スペースは長押ししない、シフトは単押ししないなどです。

で、この画像にはないんですが、1つの物理キーを長押しししたときに、
Alt+Ctrlを長押ししてるみたいに2つのキーコードを長押ししてるように設定することもできます。

また、レイヤーの切り替えもホールドタップをすることができ、画像の場合は
短押しで左がバックスペース、右がスペースになってます

Combo

コンボは2つのキーを同時に押したときに、別なキーコードを出力するという機能です。
画像中では、DとFを同時に押すと(が出るようになっています。

ホールドタップと同様に、これも1つのレイヤーに多くのキーコードを詰め込むための機能です。

コンボとレイヤーの違いは、レイヤーは切り替えるとキーボード全体が変化します。
それに対してコンボは特定のキーを同時押ししたときだけ反応します。

以上です。

ここからは、深堀りしていきます。

レイヤーの切り替え方法

主に2種類あります。
モーメンタムとトグルです。
名前の通りで、モーメンタムは押してる間だけ、トグルは一回押したらもっかい押すまでそのレイヤーが維持される。
というやつです。

基本はモーメンタムなんですが、トグルも結構便利です。
数字を連続で入力したいときとか、
動画編集用に片手デバイスとして使いたいとき、
など、そういったレイヤーを用意しておいて、トグルさせると一つのキーボードでいろいろな使い方、テンキーや片手デバイスに化けます。
オススメです。

わたしの場合は、大西配列とQWERTYを切り替えたり、
日本語配列と英語配列を切り替えたりしています。

記号ワンコン出し

記号はShiftを押しながらでないと出ないキーがあります。
30キーだと、数字はほぼレイヤーに収めますので、
そのままだと記号を出したいときは、
レイヤーキーを長押し → Shiftキーを長押し → 数字キーを押す。
という流れになってしまいます。
指がきつい&レイヤーの方にもShiftを割り当てておかないといけない
というデメリットがあります。
これを克服するための機能が、記号ワンコン出しです。
実質マクロみたいなもんですが、ひとつのキーに「Shift + 1 」みたいに割り当てることができて、!を直接出せます。
画像の2レイヤーめの記号たちはこれで割り当てているやつです。

これの地味に良いところは
日本語キーボードでも、英語キーボードでもほぼ同じように入力できるようになる。ということです。
日本語と英語は記号が違うだけなので、これである程度同じように入力することができます。
OSが日本語キーボードのときと英語キーボードのときでトグルで切り替えればいいだけです。

悪いところはキーをめちゃめちゃ使うということです。
純粋に、アルファベット以外のShiftをつかって入力するものは全部ワンコンで割り当てることになると思うんですが、通常の記号を合わせて20くらいになります。
(数えてないのでわからないです…)