hirakiucの日記

いろいろ

Elite-Cとスプリングヘッダ

batty keyboardを組み立てる中で、 Elite-Cを使ってみて躓いた件のメモ。

遊舎工房のスプリングピンヘッダでElite-CをPCB基盤につけようとしたところ、以下のように隙間ができた。

f:id:hirakiuc:20190217100817p:plain

スプリングヘッダの黒い部分の高さは2mm Elite-Cの基盤からUSBコネクタ部分の高さは3mm

その差でピッタリはまらない...

karabiner-elements(12.0.0)でvim上でescapeを入力時に英数に戻す設定

すべては、[TerminalやMacVimでEsc (or ^)キーで日本語IMEを英数に切り替える.

設定

以下を~/.config/karabiner/assets/complex_modifications/escape_from_kana_on_vim.jsonに保存。

{
  "title": "Escape from kana on vim",
  "rules": [
    {
      "description": "Change eisu with escape on vim",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "escape",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "japanese_eisuu"
            },
            {
              "key_code": "escape"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.apple\\.Terminal$",
                "^org\\.vim\\."
              ]
            }
          ]
        }
      ]
    }
  ]
}

その後、karabiner-elementsのpreferences -> Complex Modifications -> RulesたぶからAdd ruleよりEscape from kana on vim->Change eisu with escape on vimを追加。

karabiner-elements(12.0.0)を使って1keyで日本語入力をtoggleする方法

karabiner-elements12.0.0を使って、1keyで日本語入力をtoggleする方法。

設定

以下を ~/.config/karabiner/assets/complex_modifications/custom.jsonとして保存

{
  "title": "Japanese input config",
  "rules": [
    {
      "description": "Toggle input source by right command",
      "manipulators": [
        {
          "conditions": [
            {
              "type": "input_source_unless",
              "input_sources": [
                {
                  "language": "ja"
                }
              ]
            }
          ],
          "type": "basic",
          "from": {
            "key_code": "right_command",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_command"
            }
          ],
          "to_if_alone": [
            {
              "key_code": "japanese_kana"
            }
          ]
        },
        {
          "conditions": [
            {
              "type": "input_source_if",
              "input_sources": [
                {
                  "language": "ja"
                }
              ]
            }

          ],
          "type": "basic",
          "from": {
            "key_code": "right_command",
            "modifiers": {
              "optional": [
                "any"
              ]

            }
          },
          "to": [
            {
              "key_code": "right_command"
            }
          ],
          "to_if_alone": [
            {
              "key_code": "japanese_eisuu"
            }
          ]
        }
      ]
    }
  ]
}

Preferences -> Complex Modifications の RulesタブからAdd ruleを選択して、Japanese input configToggle input source by right commandをEnableする。

あとは、Right Commandを使うことで英数 <-> かなのtoggleができるはず。

参考

Iris Keyboardを組み立て中(原因判明)

色々と調べた結果、どうやらUSB micro ケーブルが原因だったことがわかった。

注文していたUSBケーブルが USB miniだったため、近所のホームセンターで購入したものがこちら。

www.pg-a.co.jp

パット見、普通に使えそうなんですが、よく箱の説明を読んでみると以下の文章がありました。

本製品は充電専用です。データ通信には対応しておりません。

つまり、充電専用のUSB microケーブルを使ってたため、PCとProMicro間でデータ通信できずに認識されてなかったという...


結局、充電専用と記載されてないUSB microケーブルを使ってみるときちんと認識されて、ファームウェアの書き込みもできました。

ただ、これを事実を得る代償として、Iris Keyboardの組み立て(ハンダ付け)済みの右側のProMicroが壊れてしまったようで、追加で部品を買う羽目になりそうです。

とりあえず、↓が再販されるまでしばらく待機。

Iris Keyboard - PCBs for Split Ergonomic Keyboardkeeb.io


追記

ペンチでグニグニして、なんとか壊れたProMicroを取り外せた。

ハンダ付けしてたところをざーっと外して、新しいProMicroをつけ直して、ようやくファームウェアを書き込むことに成功。

ただ、右側のreset switchが効かない問題は残ってるけど、とりあえず形にはできた。

残り作業は以下の感じ

  • 注文しているKeyCapが届くのを待って付け替える (今は、暫定的にergodox-ezのkeycap)
  • 傾きをつける方法を考える
  • keymapをカスタマイズする (コードの書き方がergodox-ezと違うぽい...)

Iris Keyboardを組み立て中 (困り中)

少し調べてみた結果、どうもMacOS側からIris KeyboardをUSB deviceとして認識できてない疑惑が。

apple.stackexchange.com

Iris KeyboardをUSB接続してないときの出力

$ ioreg -p IOUSB
+-o Root  <class IORegistryEntry, id 0x100000100, retain 15>
  +-o Root Hub Simulation Simulation@14000000  <class AppleUSBRootHubDevice, id 0x100000300, registered, matched, acti$
    +-o Apple Internal Keyboard / Trackpad@14400000  <class AppleUSBDevice, id 0x100000302, registered, matched, activ$
    +-o BRCM20702 Hub@14300000  <class AppleUSBDevice, id 0x10000035f, registered, matched, active, busy 0 (62 ms), re$
    | +-o Bluetooth USB Host Controller@14330000  <class AppleUSBDevice, id 0x1000003a5, registered, matched, active, $
    +-o USB2.0 Hub             @14100000  <class AppleUSBDevice, id 0x10000d1ad, registered, matched, active, busy 0 ($
      +-o Magic Trackpad 2@14110000  <class AppleUSBDevice, id 0x10000d1ce, registered, matched, active, busy 0 (23 ms$

Iris KeyboardをUSB接続してるとき(左側のみ)の出力

$ ioreg -p IOUSB
+-o Root  <class IORegistryEntry, id 0x100000100, retain 15>
  +-o Root Hub Simulation Simulation@14000000  <class AppleUSBRootHubDevice, id 0x100000300, registered, matched, acti$
    +-o Apple Internal Keyboard / Trackpad@14400000  <class AppleUSBDevice, id 0x100000302, registered, matched, activ$
    +-o BRCM20702 Hub@14300000  <class AppleUSBDevice, id 0x10000035f, registered, matched, active, busy 0 (62 ms), re$
    | +-o Bluetooth USB Host Controller@14330000  <class AppleUSBDevice, id 0x1000003a5, registered, matched, active, $
    +-o USB2.0 Hub             @14100000  <class AppleUSBDevice, id 0x10000d1ad, registered, matched, active, busy 0 ($
      +-o Magic Trackpad 2@14110000  <class AppleUSBDevice, id 0x10000d1ce, registered, matched, active, busy 0 (23 ms$

増えてない.

Ergodox-ezをUSB接続してるときの出力

$ ioreg -p IOUSB
+-o Root  <class IORegistryEntry, id 0x100000100, retain 15>
  +-o Root Hub Simulation Simulation@14000000  <class AppleUSBRootHubDevice, id 0x100000300, registered, matched, acti$
    +-o Apple Internal Keyboard / Trackpad@14400000  <class AppleUSBDevice, id 0x100000302, registered, matched, activ$
    +-o BRCM20702 Hub@14300000  <class AppleUSBDevice, id 0x10000035f, registered, matched, active, busy 0 (62 ms), re$
    | +-o Bluetooth USB Host Controller@14330000  <class AppleUSBDevice, id 0x1000003a5, registered, matched, active, $
    +-o USB2.0 Hub             @14100000  <class AppleUSBDevice, id 0x10000d1ad, registered, matched, active, busy 0 ($
    | +-o Magic Trackpad 2@14110000  <class AppleUSBDevice, id 0x10000d1ce, registered, matched, active, busy 0 (24 ms$
    +-o ErgoDox EZ@14200000  <class AppleUSBDevice, id 0x10000d564, registered, matched, active, busy 0 (17 ms), retai$

Ergodox EZが増えてる(認識されてる)


さて、Iris Keyboardを接続してるのにUSB deviceとして認識していないのはなんでだろう...

追記

keeb.ioで購入したProMicroMacから認識されてない問題。

以下のような話がある様子。

arduino.stackexchange.com

driverをどうこうすると認識されるようになるんだろーか?

Iris Keyboardはすでにはんだ付けして組み立ててしまってるため、調査用に同じ商品を注文しておいた。

www.aitendo.com

なんとかできますように...

Iris Keyboardを組み立て中

keeb.ioのIris Keyboardに一目惚れしてしまったので、入荷待ちしてからの購入。

組み立てるとこまで終わって、firmwareの書き込みできない問題で停滞中。

以下、これまでの作業ログ

買ったもの

Ergodox-ezでは赤軸で快適生活を送れてるため、静音性のある(らしい) silent red switchを選択。

WARNING: falba.techからBRAIDED CABLE ERGODOX SETを購入しましたが、ここに含まれるUSBケーブル(mini USB)はIris Keyboard(micro USB)では使えません!

f:id:hirakiuc:20180415181120p:plain

組み立て

Iris Build Guide - Keebio Documentation

先達のblogを参照してもらえるとわかるはず... :pray:

f:id:hirakiuc:20180415181150p:plain

f:id:hirakiuc:20180415181207p:plain

ハマった/気になった事

  • ergodox-ezと同じインタフェースだと思っていたら、Iris Keyboardでは micro USBだった
    • micro USB cableを探して別途購入するハメに...
  • 絶縁テープが必要だった
    • かなりコンパクトな設計になってるため、数カ所絶縁テープで保護する必要があるらしい
  • ProMicroのmicro USBのインタフェースの強化する/しない問題
  • 一通り組み立てたあとで、firmwareの書き込みができなかった

現状

firmware書き込みできない問題を解決するために、ProMicroを外してresetしてからの再挑戦になる予定。

うまく動いてくれるといいなぁ。