【Helix 5 rows】おまえらが作らないから俺が実用的なJIS配列キーマップ作ったったった【QMK】

![IMG_7435.JPG](https://qiita-image-store.s3.amazonaws.com/0/149049/10a2c1d4-d57f-0d10-17f1-37641de9a052.jpeg)

# Helix買ったー！作ったー！キーマップ考えたー！

　[遊舎工房さん](https://yushakobo.jp/product-category/keyboard/)（[ないんさん@pluis9](https://twitter.com/pluis9)）が販売しているHelixという名のキーボードキットを買って作りました。作るの楽しい、置いてカッコいい、カスタムわくわく！の趣味的かつ実用的なアイテムでめっちゃ気に入ってます。
　Pro micro (Arduino、最初からUSB HID機器として認識するようになってる)にQMKというキーボード用のファームを入れてキーマップを自分で好きなだけ（使用するOSに依存しないで）カスタム出来るのも醍醐味。  
　US配列には慣れているのですが普段使ってるのはWindows日本語キーボード。ということでJIS配列キーマップを作ったので公開します。  

# コンセプト

　日本人でWindows日本語JISキーボードLOVERな人間向け（≠かな打ち）。違和感の少ないキー配置と使い勝手を意識しました。 
　慣れないキー配置の自作キーボードにイマイチ踏み切れない人にオススメ。
　自分で作ったキーボード以外に日本語JISキーボードを触る機会が多い方（一般的なキーボードが触れなくなる病ｗに侵されないようにしたい方）

* JIS配列（Windows 109日本語キーボードに慣れてる人とか）
* 日本語入力時、キーマップを移動しないで済むようにBaseマップに配置
* Shift/Ctrl/Tab/Esc/Win/Appキーは一般的な位置になるべく配置
* ベースからはみ出た記号キーをLowerキーマップに集約
* F1-12キーとマウスキーをRaiseキーマップに配置
* 矢印キーを矢印キーらしく
* 長押しで別キーとかもとりあえずはなしの方向で考える

# キーマップ（標準版）

![keyboard-layout_norm.png](https://qiita-image-store.s3.amazonaws.com/0/149049/d2b1b6a3-c440-a3c2-1488-fbd325cc3b73.png)

* 黒文字：Baseキーマップ
* 青文字：Lowerキーマップ
* 赤文字：Raiseキーマップ

Adjustマップは省略しています…



## 解説

　Helixの5行版はキーが64個しかありません。そのうえキーマップを移動するLower、Raise、Adjustをどこかに挿入したいので実質61個に何かしらのキーをアサインしていくことになります。日本語Windowsフルサイズキーボードは109キー、テンキーレスで89キーとかそれくらいなので、61個にするために割り切りは当然必要になってきます。

* 10キーとそのまわり、PrintScreen、ScrollLock、Pause、Insert、CapsLockは削除
* 変換、無変換、かなも削除
* 右のShift/Ctrl/Altも削除

　割り切り割り切り。

* 長音符「ー」をBaseキーマップに

　ローマ字で日本語を打鍵するとき頻繁にキーマップを移動したくないため。  
　利用頻度が少し低い記号はLowerキーマップに移動しました。左手でLower+Shift+\で「_」がちゃんと打てます。

* winキー、appキーもBaseキーマップに

　winでキーボードから手を放したくない人は使う機会が多いです。

* F1-F12はRaiseキーマップに移動
* PageUp/Down、Home/Endは似たような配置に

　キーボードだけでなにかしようとするとこの辺も結構使いますね。  

* マウスキーを矢印キーに、Z、X位置にクリックキーを同じ位置に配置に（おまけ）

　違うキーマップで同じ位置に置くことで脳内変換しやすくします。

* Enter、Bksp、Delキーは移動

　通常のキーボードにない位置にありますが、この辺は妥協というか、仕事率の低い親指に分担させたり打ちやすそうな位置に設定させました。

* BとNキーをクロスオーバー

　左手でNキーを、右手でBキーを無意識に探していたので両方のキーボードに付けました。

# 逆配置版キーマップ（左右のキーボードを置き換える）

![keyboard-layout_exc.png](https://qiita-image-store.s3.amazonaws.com/0/149049/9fe78ba9-2ad7-6b58-f801-1fd6c14fd727.png)


　Helixの下二段のでっぱりに十字キーを収めて、かつ記号を増加してみたバージョンです。
　Helixの左右のキーボードを交換、つまり左で使うほうを右側に、右で使うほうと左側に交換すると、右下に矢印キーを置いても違和感のないスペースが出来ます。個人的なクセかもしれませんが矢印キーを操作するとき右親指＝左キー、薬指＝上下キー、小指＝右キーというのが自然で、ここの端っこに凸型で配置されていると安心感が違います(笑)

# キーマップソースコード

　qmk_firmwareに入っていますので、cloneしてmake helix:five_rows_jisでmakeしてください。config.hはお好みで。

[qmk_firmware/helix/five_rows_jis](https://github.com/qmk/qmk_firmware/tree/master/keyboards/helix/rev2/keymaps/five_rows_jis)

　一度入れたら両方試せるので、しばらく試して気に入ったほうを使えるように、Adjustキーマップに通常版(BASEマップ)と逆配置版(EXCHANGEマップ)のモード切り替えがありますのでそちらで切り替えます。Lower/Upperはそれぞれ専用のキーマップがありますが、Adjustのみ共通で使うようにしています（バイナリ容量削減のため）
　マウスキー用のキーコードを入れてあるので、Config.hでマウスキーをonにすることで使えます。ただし、キー入れ替え以外のカスタムが出来ないくらい容量カツカツになりますので、くれぐれも容量オーバーに気を付けてください。

# さいごに

　慣れたら自分でカスタマイズすると使い勝手がめちゃくちゃ増します。右手側でマウスを触っているときでも触りたいキーを左手に割り当てるとか（エンターとかファンクションキーとか）、10キーを作ったりをやると作業効率がグンと上がって色々捗りますよ:relaxed:逆に人間に戻れなくなっていきますが:alien:

　あとBase、Lower、Raise、を2つ分独立して扱えるのを生かして、片方のマップを普通のキーボードに、もう片方を画像や動画編集用のショートカットキーを登録してみたり、ゲーム用に配置を変えたりしたマップを作るベースとして使うのもありかもしれませんね。

# 参考

[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/)
[QMK Firmware](https://github.com/qmk/qmk_firmware)
[Helix](https://yushakobo.jp/shop/helix-keyboard-kit/)
[ErgoDoxのキーマップをいじる時に見るチートシート](https://qiita.com/ReSTARTR/items/970354940f49c67fb9fd)