US配列のHHKBに入門(Mac)

# はじめに
![th_IMG_7925.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/c8fee9d1-ffce-7af3-d684-ec86fa4852fc.png)
US 配列、しかもカーソルキーが無いキーボードは初めてなので、楽しみ半分、不安半分な気持ちでしたが、
**[Happy Hacking Keyboard Professional HYBRID Type-S 英語配列](https://www.pfu.fujitsu.com/direct/hhkb/detail_pd-kb800bs.html)** を購入しました（自慢）。

この記事は、使っていて気づいたことや、慣れるために工夫したことをまとめます。

# 購入前の期待と不安
#### 期待
- US 配列に期待している点
  - 合理的な記号配置 [^1] によるコーディング効率化 (`' '`, `" "`, `( )`, `[ ]`, など)
  - Return キーがホームポジションから近いことによる負担軽減
- HHKB に期待している点
  - やみつきになるような最高の打ち心地
  - 真のプロフェッショナルにとっての”理想のキーボード”を突き詰めた(ry  [^2]

- 両方に期待していること
  - かっこよさ

[^1]: [エンジニアに英語配列キーボードが日本語配列よりおすすめな理由](https://mag.nioufuku.net/2018/12/24/programming/00010-us-keyboard/)
[^2]: [Happy Hacking Keyboard | PFU](https://happyhackingkb.com/jp/)

#### 不安
- かな/英数キーによる入力ソースの切り替えができない
- カーソルキーがない

# 設置環境
プライベート用の iMac と仕事用の MBP で1台の HHKB を共有することにしました。
どちらも Bluetooth 接続です。
接続先の機器を`Fn + Control + [1-4]` で簡単に切り替えられるので便利です。

| プライベート用 | お仕事用 |
| :-- | :-- |
| iMac & Magic Trackpad を使用しています。 | MacBook Pro (15インチ) + **[キーボードブリッジ](https://www.pfu.fujitsu.com/direct/hhkb/hhkb-Option/detail_pz-kbbrg.html)** を使用しています。<br>いわゆる尊師スタイルです。 [^3]<br><br>本当は背後の iMac に画面出力したいのですが、<br>iMac が外部入力に対応してなくて残念な状態です。 |
| ![th_IMG_7927.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/c03742ec-b2db-96dc-59a8-04e126bc5afb.png) | ![th_IMG_7926.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/16402458-aed6-3af2-6d70-d76a79fdfb2c.png) |

[^3]: [MacBookPro で HHKB 尊師スタイル - Qiita](https://qiita.com/midorinokimi/items/8da9f234e96f1fa0f9e0)

# 設定
[Karabiner-Elements](https://karabiner-elements.pqrs.org/) などを使用してカスタマイズしている人も多いようですが、
少なくとも慣れるまでは、デフォルト設定で様子見することにしました。

### DIP スイッチ
SW２ を ON にして、Macintosh モードにしました。それ以外はデフォルトのままです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/04ee5b22-66a7-985e-642d-8cca33b5557d.png)

### Happy Hacking Keyboard キーマップ変更ツール
以下からダウンロードできます。
https://happyhackingkb.com/jp/download/

設定がキーボードに直接書き込まれるため、接続先の機器に依存しないのは素敵です。
いろいろ考えましたが、無駄なキーが一切なさそうだったのでデフォルト状態としました。
(できれば左 Shift の横にも Fn キーが欲しかったです。)

### 入力ソース
`Control + Space` による入力ソース切り替えの無駄を省くために、必要最小限のものだけを残しました。
![th_キーボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/1e569617-37be-bc9d-c8ac-f4a1ee668a57.png)

### IME (Google 日本語入力）
全角スペースはまったく使わないため、常に半角スペースが入力されるようにしました。
なお、全角スペースが必要なときは`Shift + Space`で入力できます。
![th_Google_日本語入力_環境設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/256fd9aa-a68e-928a-0eb6-6653b1717303.png)

### ShowyEdge
https://showyedge.pqrs.org/
入力ソースの状態分かりづらかったので、ShowyEdge を導入しました。

| 入力ソース | 画面上端 |
|:--|:--|
|英語|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/fd8f6921-6543-f88b-e665-0e215fd187bc.png)|
|日本語|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18646/66a6f56c-04c1-bd8f-c4fe-219cdfa63149.png)|
視認性が UP しました。

# 練習
慣れるためには、とにかく練習することと、キーボードショートカットを有効利用することが重要だと感じました。

### カーソル移動
Fn キーを用いたカーソル移動を積極的に利用します。

- `Fn`は小指
- `↑` `→`は中指
- `↓` `←`は人差し指

を使うのが良いと思います。

文字入力時のカーソル移動は、キーボードショートカットを使うとホームポジションを維持できます。
以下、**[Mac のキーボードショートカット - Apple サポート](https://support.apple.com/ja-jp/HT201236)** から特に重要だと思ったものを挙げます。

| key | 説明 |
|:--|:--|
|Control + A|行または段落の先頭に移動します。|
|Control + E|行または段落の末尾に移動します。|
|Control + F|1 文字分進みます。|
|Control + B|1 文字分戻ります。|
|Control + P|1 行上に移動します。|
|Control + N|1 行下に移動します。|
|Control + H|挿入ポイントの左側にある文字を削除します。|
|Control + D|挿入ポイントの右側にある文字を削除します。|
|Control + K|挿入ポイントから、行末までのテキストを削除します。|

:warning: 利用する App によって異なる場合があります。

### 日本語入力
入力ソースは、`Control + Space`で切り替えることができますが、
私は、かな/英数キーを多用していたので、少しつらかったです。

カーソル移動と同様に、ショートカットキーを積極的に利用する練習をしています。
以下、**[Macの日本語変換用のキーボードショートカット - Apple サポート](https://support.apple.com/ja-jp/guide/japanese-input-method/jpim10263/6.2.1/mac/10.15)** から特に重要だと思ったものを挙げます。

##### 文字種を指定して変換
| key | 説明 |
|:--|:--|
|Space|漢字|
|Control + J|ひらがな|
|Control + K|カタカナ|
|Control + セミコロン（;）|英字|

##### 漢字変換時
| key | 説明 |
|:--|:--|
|Control + N<br>or<br>Space|次の漢字候補を選択する|
|Control + P<br>or<br>Shift + Space|前の漢字候補を選択する|
|Control + M|漢字変換を確定する|
|Control ＋ B|変換中の次の文節を選択する|
|Control ＋ F|変換中の前の文節を選択する|
|Control ＋ O|選択した文節を拡張する|
|Control ＋ I|選択した文節を縮小する|
|Esc|漢字の選択中（変換前）に読みに戻す|

### その他
- Mac をスリープさせるときは `Fn` + `Command` + `Option` + `Esc`
- 「」は `[` `]`
- 画面輝度の調整は、`Fn + O` (F14=ScrLk) で輝度ダウン、`Fn + P` (F15=Pus/Brk) で輝度アップ

# 感想 (購入から1週間)
まだ自然に手が動くレベルにはなっていませんが、だいぶ慣れてきました。
<br>
##### HHKB の打鍵感がすばらしい
とても気持ち良くてやみつきになります！

Windows 時代に使っていた Realforce も良かったですが、少し感触が違うように感じました。
Realforce が「すとん」だったのに対して、HHKB は「すこん」という感じです。
<br>
##### US 配列への対応
JIS 配列の記号配置が想像以上に体に染み付いていたようで、苦労しています。

- `@` 複合キーになるため。特に Slack のメンション。
- `:` 複合キーになるため。まさか vim で苦労するとは思わなかった。あと Slack でスタンプを使う回数が減りました。
- `_` 複合キーになるため。スネークケースが嫌いになりそう。
- `+` なぜか覚えられない。

慣れさえすれば、US の方が圧倒的に良いとは思うので、引き続き練習がんばります！
<br>
##### HHKB 独自のキー配列への対応
独立したカーソルキーが無い点は少しずつ慣れていますが、現在でも一瞬迷うことがあります。
特に、他の修飾キーと組み合わせるときに一瞬手が止まることがあります。
初日よりはだいぶマシになってきているので、あと少しで慣れる気がします。

その他、最初は意外なキーでのタイプミスが多かったです(これは1日で慣れました)。

- 隣り合っている `Shift`と`Fn`
- 一般的なUS配列とも異なる `Delete` 
- 何故か`Shift`と`Return` (実はタッチタイピングできていなかったのかも)

<br>
##### 自動電源 OFF は少し不便
デフォルト設定の場合、30分間無操作だと電源が自動的に OFF になるので、
電源を入れるために毎回電源ボタンの長押しが必要です。
自動 OFF を解除しようか悩んでいますが、電池の持ちが心配です。
<br>
##### 一部のアプリケーションでショートカットキーが使えない場合がある。
ごく一部ですが、テキスト編集時に前述したショートカットキーが使えないアプリケーションがあるので辛いです。
<br>
##### やっぱりデザインがかっこいい
かっこよくてモチベーションが上がります。
キートップの印字が見づらいというレビューを見かけることが多く、たしかに見づらいのですが、
タッチタイピングを習得するのに有益なので、私はメリットだと考えます。
<br>
##### 価格について
35,000円もしましたが、
もし１万円だったら初日に挫折していたと思います。笑
なので後悔はありませんｗ

# 感想 (購入から1ヶ月)
良くも悪くも、完全に体に馴染みました。
##### 良くも
愛着がわきました。
HHKB 最高！
##### 悪くも
他のキーボードを触ったときの違和感がすごいです。HHKB しか使えない身体になってしまったかもしれません…。
特に、Delete と Return を押し間違えるので、本番環境でのオペミスが少々怖いです。



# 今後検討したいこと
お洒落カスタム

- [#hhkbハッシュタグ - Instagram](https://www.instagram.com/explore/tags/hhkb/?hl=ja)
- [#特別なhhkb - Twitter検索 / Twitter](https://twitter.com/hashtag/%E7%89%B9%E5%88%A5%E3%81%AAhhkb)
- [hhkb keycaps –AliExpress version](https://ja.aliexpress.com/w/wholesale-hhkb-keycaps.html)