2023年05月06日

【薙刀式】配列勢むけの自作キーボードqmkの扱い

KIHで僕がMiniAxeを触らせたせいか、
tkenさんがLPを買ったり、岡さんも興味津々だったりするようだ。

とはいえ、いきなりqmkをコントロールするのは難しいので、
初めて触る人向けの話を書いておく。


【配列はまずはqwertyデフォルトにしといて、
エミュレータで配列を変えると楽】

自作キーボードの魅力はもちろんqmkファームウェア内に配列を格納できることだけど、
これはある程度cを読み書きできて、
ファームウェア独自の文法や仕組みや、
ファイル構造を把握しないと難しい。

なので最初から無理せずに、
qwertyキーボードを、
エミュレータにより別の配列に読み替える、
という「いつもの手段」を使うことをおすすめする。

そうじゃないと、
自作キーボード勢の中でも配列変更はかなりマニアックなため、
経験者がほとんどいないからだ。
多くの人はqwertyは変えず、
機能キーの変更から手をつけて、
この動線が便利だぞ、と満足している。

まずその面白さからだね。
プラス、エミュレータで配列変更が楽だね。



【コンパイル環境について】

MSYS2という環境を整えて、
makeすると良い。
とはいえ、これ何をやってるか僕は理解してない
(UNIXとかと同じなのはわかる)ので、
これは各自調べられたい。

呪文を使うだけで環境を整えて書き込みまでできるので、
https://qiita.com/cactusman/items/ac41993d1682c6d8a12e
を参考にされたい。

ただ、最新のqmkってバージョンの破壊的変更をして、
昔のキーコード(KC_ではじまるやつ)がいくつか変更になったはず。
デフォルトキーマップが昔のバージョンのやつは、
最新のに合わせないと動かなくて、
たぶんMiniAxeは昔のバージョン。
(僕は面倒なので昔のqmkでコンパイルしてます)


【ファイル構成】

defaultフォルダをまるっとコピーして、
usernameフォルダにして、
その中をいろいろいじる。
デフォルトなくしちゃったらめんどくさいし。

そこに色々なファイルが散在してて、
それらを統合してコンパイルすることで、
ファームウェアに書き込まれる。

特にいじる3つについて。

keymap.cがキーマップの本体。
ここに、レイヤーとかマクロとか、
特殊なことをやりたければ書く。

config.hには、
TapとHoldのオプションを書く。
Tapping_termの定義とか、
permissive_holdオプションの有効化とか。

rules.mkには、
マウスキーの有効化とか、LEDの有効化のスイッチがある。
yes, noだけでオンオフできる。
キーボード以外の要素のコントロールと思うとわかりやすいかな。

実際、これは慣習にすぎなくて、
統合コンパイルすると一緒になるんだけど、
まあ守っときゃ混乱することはないと思う。


他人のキーマップを探して
(キーボード名 keymap.cとかで探せる)、
動いてるやつを参考にするとよいと思われます。



あとは、
qmkのドキュメント(英語)を、
興味のあるところから、
一個ずつ読んでいくことになるので、
僕は一部しかわかってないです。笑

くわしくは偉い人に聞いてください。


あ、そうそう、
僕はプログラムを書くためのエディタすら持ってなかったので、
最初はメモ帳でやってたけど使いにくいので、
Meryを使ってます。
プログラム用のモードがあって自動で色変えてくれるし。
まあいじれればなんでもいいはず。
(ためしにwordでやったらフォントが糞でわらった)
posted by おおおかとしひこ at 12:01| Comment(0) | TrackBack(0) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック