【完結】キー配列を考える - Claw44 ビルドログ12

2022-12-30 08:53:44

前回まででClaw44の組み立てが終わったので、
ビルドログ自体は終了なんだけど、
せっかくキーボードを新しくするのだから、
従来のQWERTY配列から脱却してみようと思った。
ファームウェアの書き込みはすでにやっているので、実際にどのキーにどれを割り当てるかを考えさえすればすぐできる。

日本語、英語の両方を打つことのある僕としては、
特に日本語をもっと打ちやすい配列はないかと思って探したのがこれ。

Eucalyn配列について - ゆかりメモ

母音が左手側に揃っていて、かつ、右手側にはVimの上下左右のキーであるHJKLが揃っている。
もうこれしかないでしょ。

実践

ということで、実際に設定しているキーマップを。

claw44_66

黒が標準で押したときのキー。これをEucalyn配列にしているが、
Claw44はさらに1列外側にキーがあるので、そこにESCやTAB、ALTなどを配置している。

赤と青は、それぞれ親指でRaiseキーやLowerキーを押した状態で押せば入力できるキーマップ。
例えば、数字の3を入力したかったら、Lowerキーを押したままEのキーを押せば入力できる。

矢印キーなどはHJKLに合わせ、Vimでもそうでなくても同様のキーで移動できるようにした。
その他、括弧系やファンクションキーなどは位置はこだわったが、
それ以外の記号は使用頻度に合わせて考えただけで最適かどうかは分からない。
ただ、慣れればあまり気にならないからいいかな。

独自だなと思うのは下記。

PSCR:Print Screen
RST:キーボードのリセットスイッチ
CHJP:Windowsで使ったときに日本語入力できなかったので対応するためのキー
LGINI:OLED画面の初期化

また、他の日本語キーボードも使えるように。JPキーボードとUSキーボードの併用を実現したかった。(claw44はUSキーボード扱い)
参考にしたのは以下
Linuxで尊師スタイルの環境構築 - Qiita

これで書かれているgitをforkして少し書き換えた。

ryotakato/Sonshi-Changer

気をつけたのは、IMEの切り替えを一つのキーでトグルしないこと
これをすると状態を意識しないといけない。
USとJPキーボードではIME切り替えも違うので、ONとOFFにJP,USそれぞれのキーをわりあてた
自身のJPキーボードをxinputで特定するにはLITE-ONって文字がちょうどよさそう
claw44を使うには尊師スタイルボタンを押す
なお、desktopファイルをLancherに登録しておくと楽だが、PCをつけたときに毎回押さないといけない縛りは残る。

このキーマップで2年近く使っているが、そこまで不便に感じたことはない。
だいたいが自分でなんとかできるし。

このキーマップを実装したQMK firmwareは、下記にあげてある。

ryotakato/qmk_firmware

keyboards/claw44/keymaps/ryotakato/keymap.c を見ればだいたい分かると思う。

まとめ

自作キーボードのClaw44づくりはとても楽しかったし、
この先人生のメインキーボードが作れたと思う。
ずっと使い続けていくつもり。

なんとか2022年内に終わって良かった。
では、よいお年を!

(2023/01/10 追記)
おまけ
Eucalyn配列における、Minecraft PC版のキーマッピングについて

Minecraftに限らないが、PCゲームではわりとASDFなどを移動のキーマッピングにしていることがあり、
Eucalyn配列だとそのままは使えない。
よって、割当の変更を強いられるが、それのおすすめ設定。

claw44_67

claw44_68

claw44_69

変えたのはASDFをEXCVにしたのと、それによりインベントリをEから変えないといけないので、
Eの横にあって押しやすいIにしたこと。
あと、アイテム捨てるのをXの横のZにし、その反対のFがアイテム入れ替えるになっているのと対になるようにした。
Creative Modeの2つはかぶってたので、差し替えただけ。
僕はSurvival Modeしかやらないので、ここは検討の余地ありかも。
マウス操作が多いので、その反対の手の左側に主要キーを持ってきた感じ。




Comments

There are currently no comments on this article, be the first to add one below

Add a Comment

Note that I may remove comments for any reason, so try to be civil. If you are looking for a response to your comment, either leave your email address or check back on this page periodically.