自作キーボードのNIU Miniを組んだその後。

# NIU Miniを何ヶ月か使ってみて。
僕は今回は初めての自作キーボードというのもあってレイアウトやキーボードのサイズをどうしようかかなり悩んで悩んでこの、[NIU Mini](https://kbdfans.cn/products/niu-mini-40-diy-kit)にしました。
こんな感じのやつ。
![qiita-keyboard.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234904/efc199fe-43fb-ffa5-b7d9-04b64b9d7675.jpeg)

ちなみに、[実際に組んだ時のブログ](http://wafu.hatenadiary.com/entry/2018/09/14/203507)。大した事書いてないけど。
ブログからですがなんか9月に組んだらしいですねそろそろ3ヶ月くらいですかね。
そんな僕の感想を書きます。**※あくまでも個人の感想です。**
ちなみにアドベントカレンダー初参加のQiitaへの投稿も2回目なのでお手柔らかに。
## 先に結論
**最高。**
この一言に限る。ただ、Gateronの白軸が軽くて、僕の手だと結構誤字るのがあれだけどまだ慣れてないからなのもあるかな。
後今まで使ってたの普通のやっすいキーボードだったせいもあると思う。
### 何が最高か
+ QMK Firmwareが最高。
+ 格子配列が最高。
+ サイズが最高。

#### QMK Firmwareの恩恵
[QMK Firmware](https://github.com/qmk/qmk_firmware)というファームウェアを使っているんだけど。このファームウェアがかなりカスタマイズが出来て、キーに対して色々と設定が出来て楽しいし。
一度使うと他のキーボードには戻れない機能が沢山。
例えば、以下のような機能があり、また、**簡単に設定出来る**ようになってる。

1. キーを押した回数に応じてキーが変わる機能。

    これを利用し、1回 → [ 、2回 → { のようなキーが設定出来る。

1. 普通に押した時と長押しした時で違うキーになる機能。

    普通に押すとTabキーに、長押しだとCtrlキーに。
    他にも普通に押すとSpaceキーに、長押しだとShiftキーなどが出来る。

1. 長押しすると自動でShiftが押された事になる機能。

    長押しすると数字が記号になって打たれるため、Shiftキーいらずに。

### 格子配列及びサイズの恩恵
格子状?なんだそれ。と最初は思っていましたが。従来のキーボードよりも打ち易い。(個人差あり)
何故世の中のキーボードは全てこれにならないのか…。と思いました。
また、サイズが40%のため、**手が常にホームポジションにあるため、手を動かさずに全てのキーが打てる!!**
わざわざ手を移動させるのが煩わしい人にはオススメ。
40%でサイズは十分。これ以上いらない。ていうかまだ小さいサイズの組んでみたくなってすらある。

## 自分が思った及びよくありそうな疑問点
### サイズが40%だけど本当にキーの数足りるの?
**足ります。ていうか何個かキー使ってないくらい。**
サイズも小さいから持ち運びしやすい。
(キーボードのケースが金属で重いからその長所が少し消えてるけどねー。)
使いたいキーが多いとレイヤが増えますけどねー。
### スペースキーやエンターキーとかは小さくて押しづらくないの?
**普通に押せる。**今までの長さいらな…ってなるー。
現状僕はまだスペースキーが2uのサイズだけど1uにする予定なくらい。
### QMK Firmware難しそう
簡単な設定なら検索して出てくるブログなどを参考にして設定が出来るので**結構楽**。
また先程伸べた通り簡単に設定が出来るようになってるため、特に凝った事をしない限り**楽に実装出来る**。
また、環境の構築も同じく調べれば結構色んな人が書いているため、僕がやる時も楽に出来ました。

## 僕の考えた最強の配列(途中)
[僕の配列(現在)](https://github.com/nora75/qmk_firmware/tree/master/keyboards/niu_mini/keymaps/nora75)は以下の図のようになっています。
重要な部分のみ抜粋しました。これ以外にもマウス操作や、どのキーも無効などもあります。
というかまだまだ拡張したい。
(現在ではスペースキーを2分割して利用してます。)
色のついているキーの説明

+ 緑は特殊なキー(QMKの機能を利用したキー)。説明を適時入れてます。
+ それ以外は押している間だけ他のレイヤのキーが有効になる。つまり押してる間だけ事前に設定されている他のキーの動作になる。
+ 灰色はレイヤ0と同じキーになります。

### レイヤ0
最初の普通の状態の配列。普通にキーを押したらこうなる。
白いキーのうち4つは使ってません。無くてもいい。
Tab/Ctrlのキーは普通に押すとTabですが、長押しだとCtrlになります。
Ctrlは長押しでしか使わないし。Tabなんてそんなに使わないので1つにしてよくね?という奴ですね。
![keyboard-layout.jpg](https://qiita-image-store.s3.amazonaws.com/0/234904/aa9df5f5-bd38-af7c-4083-18c4037a25fb.jpeg)
### レイヤ1
青いキーを押している間だけ各キーが有効になる。
LEADERキーというのはVimでいう「:」というキーなんですが。
このキーを押した後に自分で設定したキーを押すと特定の動作をさせる事が出来ます。
例えば、LEADER → q の順番で押すことで alt + F4 が押された事になるという使い方が出来ます。
![keyboard-layout1.jpg](https://qiita-image-store.s3.amazonaws.com/0/234904/602afbe5-0574-caa8-fdcf-2497dd678b5f.jpeg)
### レイヤ2
オレンジのキーを押している間だけ各キーが有効になる。
{ [ と } ] のキーは先程も伸べた通り、それぞれ、1回で [ 又は ] に、2回で { 又は } になります。
![keyboard-layout2.jpg](https://qiita-image-store.s3.amazonaws.com/0/234904/9e865db3-2813-f3e7-9332-1e7e36a0b8dd.jpeg)

# 最後に。
QMK最高、ばんざーい(\*ﾉ･ω･)ﾉ。自作キーボードばんざーい(\*ﾉ･ω･)ﾉ。
また、キーボードから外れますが、エディタでVimを使っております。Vimも如何?
また、Vimのキーの動きを一部採用及び、今後も実装していきたいと思っているのでまた投稿するかもですね。
使用したツールなど

+ [Vim](https://www.vim.org/)
+ [NIU Mini](https://kbdfans.cn/products/niu-mini-40-diy-kit)
+ [keyboard-layout-editor](http://www.keyboard-layout-editor.com/)
+ [QMK Firmware](https://github.com/qmk/qmk_firmware)

授業中に書いたため、誤字とかありそうなので指摘あったら気軽にどうぞ。
読んで頂きありがとうございました。

# 後日談

キーボードへの満足度はかわらず、配列の変更は少しづつはありましたが、基本的に満足ですね。 
愛用しています、たまに、スイッチが反応が悪かったりするのが難点ですが、まあ不良品を引く事が何故か多い人なので仕方ないとして交換して使っています。
いつか完全自作をしてみたいと考えているこの頃。