minipeg48

こんにちは
田植えも終わりに近いていて勉強ざんまいの日々が復活しそうです。
とはいえ田植え期間中はパソコンを触らなかったかといえばそうではなくて、勉強とは違うことをしていました。

それは新キーボード「**minipeg48**」のQMKファームウェア作成である！
![24ACC7F4-ABC4-4719-820D-6E91374A0699.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/4080ad5f-f2b9-ecf2-5855-6aec6c72c73f.jpeg)
[Chosfox x sporewoh | minipeg48](https://chosfox.com/products/minipeg48-kowgary16)

QMKファームウェアにはJavaScriptやC言語のファイルが含まれていて、そこにキーマップやルールなどを書くのですが、俺はそこらへんの知識を兼ね備えていないため、GPTに手伝ってもらったり、[公式ファームウェア](https://github.com/ChrisChrisLoLo/bancouver40/tree/main/firmware)をいじる程度で完成させました。

# あらすじ
これまでpeppyに憧れて40%キーボードを買ったことはあったのですが、しっかりしたもの（Planckなど）ではなく、Aliexpressで購入したKprepublicのCTSC40でした。
ただ流石に破格なだけありプラスチックの作りも荒く、それゆえかモチベーションもあがらず自然と使わなくなりました。
ところが最近再び使ってみたくなり、埃が被ったCTSC40を引っ張り出してきました。
そのころViaやVialより詳細に設定が可能な…というか元となっているQMKという存在を知り、適当にQMK Configuratorでファームウェアを作成、QMK Toolboxでフラッシュしてみた。

**「あれ？なんかキーも動かないしリセットもできないぞ…？」**

大した知識もなしに適当なことをしたせいで壊してしまった模様。
謎にスペースキーを押すと「D」と打たれる以外はなにも反応しなくなり、Escリセットも基盤物理リセットも効かない（というか基盤についているリセットボタンはおそらく飾り）、Vialも認識してくれない。素人の俺にはどうすることもできなくなってしまいました。

縋る気持ちで公式に問い合わせをしてみたが、「うーん…公式のファームウェアを使ってください…。」と返事が。
そりゃそうだ、こんな状態で問い合わせしても向こうも困るよな。
仕方なくCTSC40は諦めることにしました。

# 購入
CTSC40は諦めたが40%キーボードを諦め切れたわけではなくフリマアプリでPlanckを漁る日々。
そんな時出会ってしまった。
小さく薄いフォルム、そして40%、さらにType-C…！！！
でも高いんでしょう…？と思い詳しく調べると、基盤とケースのセットで約15,000円と確かに高いがPlanckとほぼ同価格ではないか！
Planckより一回りも小さいフォルムと可愛らしい狐のマークで完全に一目惚れし、数時間悩んだ末、金欠なのにも関わらず衝動買いをしてしまったのでした。
#### 購入商品
- [minipeg48 + Carry Case](https://chosfox.com/products/minipeg48-kowgary16?variant=43954454331586)（公式サイト）
- [ChocFox CFX WoB Keycap Set ALL-IN-ONE](https://chosfox.com/products/chocfox-wob?pr_prod_strat=jac&pr_rec_id=33bbc48b1&pr_rec_pid=7584956350658&pr_ref_pid=7732737048770&pr_seq=uniform&variant=42753190396098)（公式サイト）
- [Ambients Silent Choc Switches Nocuturnal 50個分](https://shop.yushakobo.jp/products/9086?variant=49258165436647)（遊舎工房）
- [SUNGUY Type-C USB 0.3m](https://www.amazon.co.jp/gp/product/B09FJVP4C8/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&th=1)（Amazon）
**合計金額: 約36,000円**

<br>ほげえええええええたけえええええええええ
金ピンチ！！！！！！！

とは言いつつめちゃくちゃ楽しみでいつも配達状況を確認していました。

# 到着
発送元は中国の東莞市
20日くらいを覚悟していたものの、たった7日で届きました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/fe89d9e3-5649-7a05-a5a9-b265bef3ae8a.jpeg" width="32%" />
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/70d2c671-bb41-2162-8e26-42bfbf06201e.jpeg" width="32%" />
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/5167df3a-dd04-4d3e-c249-271022d31fe3.jpeg" width="32%" />
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/0a61b1ff-931f-87be-8c25-b950b2ed7458.jpeg" width="32%" />
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/bb79c39f-db0e-ffc6-8e6b-97805fbef71d.jpeg" width="32%" />

基盤にまでプリントがされていて可愛いのなんの
これだけでも買ってよかったと思えます。

しかし小さくて薄いせいかタイプ音は結構チープな感じなので、Foam ModとTape Modを施しました。
まだちょっとチープなものの、これだけでも結構落ち着いた音になりました。

# ファームウェア作成
簡単にvialでキーマップを作ろうと思った矢先、パソコンでは認識しているのにChromeで対応デバイスとして認識してくれない事態。
調べてもわからず、諦めて一からファームウェアを作ることに。

公式のファームウェアを書き込んでみたところ、vialが認識！正常に動いてくれました！
…ただここで一つ不満ができる。

**「なんかマウスの動きがカクカクだな…。」**

俺が思い描いているのはpeppyのようになめらかに慣性が働いたようなカーソル。
なのに俺のカーソルはキーを離すとピタッと止まる、言い換えればカクカクした動作。

ここで初めて知ったのだが、QMKのマウスキーにはいくつかのモードがあるようで、その中に慣性モードが存在していた。

そうそうそれそれ、慣性モード！
やる気がみなぎる。GPT頼んだぞ！

…
…
できない…。

カクカクから卒業できない…。

[このページ](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md)をみたところ、慣性モードを有効にするには`config.h`に`MOUSEKEY_INERTIA`を追加する必要があるらしいのだが、GPTはこのページを見せても「`MK_KINETIC_SPEED`を追加しろ」の一点張り。
その通りにしても慣性が働かず、埒が開かないので一度`MOUSEKEY_INERTIA`を追加してみることにした。

**「なめらか…なめらかだぞ！？？」**

これで正解だったようだ。peppyのようになめらかなマウスさばきになったではないか！！
勢いに任せ細かい感度やキーマップを完成させられました。

# 余談
省略しているが公式ファームウェアを使わず、一から作成を試みたこともあった。
ただ詳しいプログラムがわからずフラッシュしてもキーボードが動いてくれなかったので公式ファームウェアの改造に至ったわけだ。

minipeg48はキーの間隔が狭く非常に小さいので、慣れていない現在、本当にタイプミスのオンパレード。
慣れるまで結構時間を要しそうで勉強に支障がでそうだが頑張ろう。

ちなみにせっかく作ったので、キーボードのファームウェアやchromeのテーマなどなどをそのうちアップロードしてみるつもりだ。

それでは　ノシ