キーボードのある生活

今年三回目の登場になりました、 @sys_cat です。
今年の頭に「今年は痩せるぞ！」と意気込んで早12ヶ月、体重は減るどころか微増しました。もちろん来年の目標も「今年は痩せるぞ！」です。21日分です。

昨日は [社内でマテリアルデザイン勉強会を開催して、デザインの意味を知った #GameWith #TechWith #DesignWith](https://tech.gamewith.co.jp/entry/material-design-study) でした。
この社内勉強会、とても参加したかった！！コード書いてる人間でもデザインは気になるものです（なりますよね？）

---

「エンジニア」という職種の方々であればキーボードに多少なりともこだわりがある方が一定の割合でいらっしゃるのでは無いでしょうか？
本記事では筆者がどの様にキーボード（トラックボール）の沼にハマっていったかを書きつつ推しキーボードとキー配列について書いていきます。

## キーボード遍歴

### 沼の縁編

私がキーボードにこだわるようになったのは社会人になってからでした。まだ沼に足は入ってない、大丈夫大丈夫。

- Majestouch Tenkeyless
- HHKB Lite
- KBC POKER

この後作業環境がMacへ移行したりキーボードがMagicKeyboardになったりしたので足は入れずに数年過ぎました。

### 片足編

この時期はいろんな会社さんにお邪魔してお仕事のお手伝いをするような事を業務としていました。
就職してから3年とか5年目とかその辺りで、肩こりとか腱鞘炎に悩み始めた頃でした。なにやらエルゴノミクス型の某が良いと。そんな中見つけたのがTrulyKeyboardでした。
個人的に私が一気に沼に浸かるきっかけかもしれない…

- Truly Ergonomic
- Microsoft Sculpt Comfort

この後にErgodox ez とかが盛り上がりつつあるのを見ていて自分の英語力の無さを激しく後悔したなぁと覚えています。
あとこの時期位にトラックボール沼にハマり始めLogicoolのM570を使い始めたのがこの頃です。

### 両足編

2017年頃からLet's Splitの波がものすごい勢いで来ているなというのを観測していてもはやこれしかない、作るしか無いと勇んで出来ない英語を機械翻訳に頼りつつ取り寄せて慣れないはんだ付けをして高い文鎮を作ったのが初めての自作キーボードでした。Switchもどうやって買うか分からず国内のJW-Systemさんの通販からCherry赤軸を買ったりしていました（今でもたまにお世話になります）。
2019年にはあの「遊舎工房」さんがリアル店舗を出されたりしてある時期毎週の様に通っていたのを覚えています。この頃から一気に自作キーボード率があがります。

- Let's Split (文鎮化)
- Helix (文鎮化)
- Mint60 (初の成功)
- Helix (Underglowでいい感じに治安悪く)
- CorneCherry x 2
- Lily 58
- UT47.2
- MiniAxe (完品を購入)

この頃には親指トラックボールに窮屈感を覚えるようになってKensingtonのExpertMouseを使うようになりました。すっかり今ではトラックボール無しの生活は考えられない位になってしまってます…ｗ

## 推しキーボードの話
![iOS の画像 (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4411/0f6a6394-9242-ad0c-8510-6ebdea5429d1.jpeg)


画像は私が現在現役で利用しているキーボード達です。
奥から

- [Lily58](https://yushakobo.jp/shop/lily58-pro/) : サブ
- [CorneCherry](https://yushakobo.jp/shop/corne-cherry/) x 2 : メイン（会社用+自宅用）
- [MiniAxe](https://booth.pm/ja/items/1094860) ：サブ（いつかメインにしていきたい）

を使っています。
この中で一番好きなのはやはり **Corne Cherry** でしょうか。[foostan](https://twitter.com/foostan) さんが作られたキーボードでいわゆる40%キーボードと呼ばれる種類になります。この記事もCorneCherryで書いています。天下一キーボード3で見たCorneCherry+がとてもかっこよくて良きでした... 


### 推しの理由

何より **手にフィットするから**　が一番でしょうか。私は生来手のサイズに比べて指の長さが短く太いのですが、  
Lily58だとどうしても数字列が遠く、MiniAxeだと指が詰まってしまう事がよく発生していまいます。

Corneはその分列数が少ないし程よく面積があるので自分の手にとてもフィットするという感じです。  
Helixなどのような格子配列よりもcolumn-staggeredな配列というのも個人的に良かった点です。

### ちょっとしたこだわりに似た何か

**ゴム足チルト**

![iOS の画像 (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4411/5da4a57f-736d-6128-ce56-8a3c66630adf.jpeg)


Corneのケースでたまにチルティングしているものがあってとてもほしかったのですがタイミングが悪く購入が出来なかったので個別にゴム足を購入して調整しています。
左の方が会社で使うようなのですがパームレストを常備しているので少し高めに1cmの高さのものを使っています。
右が自宅用なのですが椅子の高さでキーボードに接地する面を変えているのであまり高くせず0.8cmのものを使っています。
（どっちがどういいかはなんとも言えないですがやはりパームレストある方が手首は疲れにくいなぁという知見はあります。）

**Keymap**

もともとVim使ってる人なのでhjklでの移動に苦は無いのですがTruryからの癖で十字キーでカーソル移動したいという欲があります。
それを考慮して少しデフォルトからKeymapを変えたりしてます。

```c
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_QWERTY] = LAYOUT_kc( \
  //,-----------------------------------------.                ,-----------------------------------------.
        TAB,     Q,     W,     E,     R,     T,                      Y,     U,     I,     O,     P,  BSPC,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LCTL,     A,     S,     D,     F,     G,                      H,     J,     K,     L,  SCLN,  QUOT,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LSFT,     Z,     X,     C,     V,     B,                      N,     M,  COMM,   DOT,  SLSH,   ESC,\
  //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
                                  GUIEI, LOWER,   SPC,      ENT, RAISE, ALTKN \
                              //`--------------------'  `--------------------'
  ),

  [_LOWER] = LAYOUT_kc( \
  //,-----------------------------------------.                ,-----------------------------------------.
        TAB,     1,     2,     3,     4,     5,                      6,     7,     8,     9,     0,  BSPC,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LCTL,    F1,    F2,    F3,    F4,    F5,                  XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LSFT,    F6,    F7,    F8,    F9,   F10,                  XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\
  //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
                                  GUIEI, LOWER,   SPC,      ENT, RAISE, ALTKN \
                              //`--------------------'  `--------------------'
  ),

  [_RAISE] = LAYOUT_kc( \
  //,-----------------------------------------.                ,-----------------------------------------.
        TAB,  EXLM,    AT,  HASH,   DLR,  PERC,                   CIRC,  AMPR,  ASTR,  LPRN,  RPRN,  BSPC,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LCTL, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,                   MINS,   EQL,  LCBR,  RCBR,  PIPE,   GRV,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LSFT, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,                   UNDS,  PLUS,  LBRC,  RBRC,  BSLS,  TILD,\
  //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
                                  GUIEI, LOWER,   SPC,      ENT, RAISE, ALTKN \
                              //`--------------------'  `--------------------'
  ),

  [_ADJUST] = LAYOUT_kc( \
  //,-----------------------------------------.                ,-----------------------------------------.
        RST,  LRST, XXXXX, XXXXX, XXXXX, XXXXX,                  XXXXX, XXXXX, XXXXX, XXXXX,    UP, XXXXX,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LTOG,  LHUI,  LSAI,  LVAI, XXXXX, XXXXX,                  XXXXX, XXXXX, XXXXX,  LEFT,  DOWN, RIGHT,\
  //|------+------+------+------+------+------|                |------+------+------+------+------+------|
       LMOD,  LHUD,  LSAD,  LVAD, XXXXX, XXXXX,                  XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,  RSFT,\
  //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------|
                                  GUIEI, LOWER,   SPC,      ENT, RAISE, ALTKN \
                              //`--------------------'  `--------------------'
  )
};

```

基本的にはデフォルトな配列からはあまり離れない感じですね。


## 弊社における自作キーボード

割合的な話ですが社内で自作キーボードを組み立てて業務で利用しているのは事実私のみです。
とは言え布教活動には余念が無くサブキーボードをたまにお貸ししたりしているので将来的に仲間を増やせれば…と画策していますｗ

※社内Slackに専用チャンネルを作ったりして社内にひろまれーーーーという圧を掛けたりしている感じ。まだ広まってないですが少しずつ、着実に輪は広がっているのです。
![Screenshot from 2019-12-21 06-50-38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4411/439ac1e1-fb65-fec3-8f69-1b2ecd175a33.png)