MiSTEL Barocco MD600 Setting

[MD650L](https://qiita.com/hakaicode/items/6243b43d2af6cfb05a29)
[MD700](https://qiita.com/hakaicode/items/657da58c79b0beb65808)

# Barocco Setting

Barocco MD600のキーアサインを変更していたが、操作を間違えたのか消えてしまいよくわからなくなった。工場出荷状態からやり直したので、次回からは最初からは調べなおさないで良いように設定方法をまとめておく。　

参考：[公式マニュアル](
http://www.archisite.co.jp/wp-content/uploads/2016/09/Barocco-Manual.pdf#search=%27barrocco+%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB)

## ゴール

* Aの横は<kbd>Ctrl</kbd>キー、<kbd>Caps</kbd>は無し
* 左下の<kbd>Ctrl</kbd>を<kbd>Fn</kbd>キーに
* <kbd>BS</kbd>キーと<kbd>\\</kbd>キーを入替

<kbd>BS</kbd>キーを<kbd>Enter</kbd>の上に置くのはHHKBで染み付きました。ホームポジションからの移動距離が少なくておすすめです。<kbd>Ctrl+h</kbd>が染み付いていればそっちの方がいいかも。

## レイヤーについて

MD600/MD650Lにはキーボードレイヤーが4つあります。レイヤー0はカスタマイズ不可です。
* Layer0: <kbd>Fn+M</kbd>
* Layer1: <kbd>Fn+<</kbd>
* Layer2: <kbd>Fn+></kbd>
* Layer3: <kbd>Fn+/</kbd>

というふうに切り替えるのですが、Layer1でFnを他のキーに割り当ててると場合、Fn+<でレイヤー１になったあと、どれが正しいFnキーなのかを知らないとレイヤーの変更もままならなくなります。こんな時に使えるのが工場出荷状態リセットです。アサイン変更に関係なく元のFn+Rの5秒押しで、現在選択されているレイヤーの状態がリセットされます。どうしようもなくなったらこれを叩いて設定をやりなおします。

## キーアサイン方法

開始:<kbd>Fn+RCtrl</kbd>
変更:<kbd>変更対象のキー</kbd> <kbd>変更したい機能を持っているキー</kbd> <kbd>Pn</kbd>
完了:<kbd>Fn+RCtrl</kbd>

## 設定手順

- <kbd>Fn+R</kbd> 5秒 押下中現在のレイヤーのLEDが白点滅
 - 現在のレイヤーを工場出荷状態にもどす。`Fn`の位置を移動していても初期`Fn`のキーでOK
- <kbd>Fn+RCtrl</kbd> 右LED青色点灯 変更開始
- <kbd>Caps</kbd> <kbd>LCtrl</kbd> <kbd>Pn</kbd> それぞれ順番に一度ずつ押す、PNを押すと青色LEDが点灯
- <kbd>\\</kbd> <kbd>BS</kbd> <kbd>Pn</kbd> BSは使用頻度が高いのでホームポジションから近い方が良い。 HHKBと同じ。
- <kbd>BS</kbd> <kbd>\\</kbd> <kbd>Pn</kbd>
- <kbd>Fn+\\</kbd> <kbd>Del</kbd> <kbd>Pn</kbd> これで`Fn+\`でも`Fn+BS`でも`Del`になる 
- <kbd>Fn+RCtrl</kbd> 右LED消灯 通常キー設定終了

<kbd>LCtrl</kbd>への<kbd>Fｎ</kbd>の割当は最後に行う。先に行うと他のキーにLCtrlを割り当てられなくなる。
- MD600: <kbd>Fn+LShift</kbd> 3秒 <kbd>Fn</kbd> <kbd>LCtrl</kbd> 右LED赤点灯
- MD650L: <kbd>Fn+LShift</kbd> 3秒 右LED赤点滅 <kbd>LCtrl</kbd>  
初期FnはRWinとなり変更できない。このあとに誤って`LCtrl`に別のキーを割り当ててしまうとと`Fn`がなくなって詰む(工場出荷状態にリセットで戻る)。 

ここまではMD600本体に記憶させるのでOSを問わず設定が引き継げる。

## macOSキー配置

### 目的
* Shift+Spaceで入力切替(macOS/Windows/Linuxで統一している)
* キーボード外付け時のみCmd⌘とOpt⌥を入れ替える
* Ctrl+SpaceはIntelliJ IDEAのコード補完に割り当てる

### デフォルト
* システム環境設定での入力切替がCtrl+Spaceになってた
* OS標準ではShift-Spaceに変更できなくなった(!)

### 対応策
* 環境設定では入力切替をCtrl+Alt+Space(または^⇧Space等)にする
* 「⌘英かな」でShift+SpaceをCtrl+Alt+Spaceにする(これでShift+Spaceが入力切替になる)
* KarabinerでBaroccoの時だけCmd<->Optを入替、MacBookのキーボードを使う時は入れ替えないまま

### 不満点
* ShiftのKey upイベントまで発行されないと入力切替が完了しないので、Shiftを離す前に次の文字を押してしまい誤入力になる時がある。「⌘英かな」の設定でどうにかなるのかな。
* Cmd_L 英数、Cmd_R かなの割当もKarabiner/「⌘英かな」共にKey Upまで確定しないのでタッチタイピング中にショートカットとして発動することが多くこれもつらい
* Google Inputで「IME ON/IME OFF」がmacOSだと「ひらがな入力切替」「キャンセルしてIME無効化」だと思うんだけど設定しても思った通りに動かない
* Karabinerとかな英数両方入れるのなんかアレ、システム環境設定とアプリと優先順位とか考えるのだるい
* VS Codeでコード補完が効かんと思ってたが編集したらVS Code再起動しないといけないようだ。そしてGUIでは`^space`や`⌘space`の設定ができなくなってた。macが悪いのか入れてるアプリが悪いのか。とりあえず`keybindings.json`に`ctrl+space`って書いて再起動したらうまく行ったのでよし

## その他のキーボードについて

* [UHK](https://www.crowdsupply.com/ugl/ultimate-hacking-keyboard)をずっと待っていた。201806現在では入手できるようです。
*  [ErgoDox](https://falba.tech/product-category/ergodox-parts/)ハードル高すぎると思ってたけど[ErgoDox EZ](https://ergodox-ez.com/)なるものを記事を書きながら知ったので買った。これはこれで辛いので使っていない。
* Barocco カラー黒：赤軸を買ったけど音がそれなりにうるさいので、BroccoRGB白、静音ピンク軸も買ったが帰国時のゴタゴタで失くしてしまった。静音はキータッチがほにゃほにゃしていた
* 左右のキーをつなぐケーブルがカールケーブルでちょっと短い。microUSB両オスのケーブルを秋葉のTSUKUMOで購入。腕を開いて使うにはちょっと短いし広げるとすぐ外れて認識しなくなる。深圳ではmicroUSB凸-USB凹変換ケーブルにUSB凸-microUSB凸変換ケーブルを指して代用した。安かったけど50cmくらいあって長すぎて机上で邪魔。あわせて20元(約360円)もしなかったと思う。