hirakiucの日記

いろいろ

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してからの再挑戦になる予定。

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

「ghq list」に時間がかかってた問題

ghq listが遅くなる問題に遭遇して解決できたのでメモ。

TL;DR;

GHQ_ROOT/の下に、サンプル用コードを配置するときは、必ず.gitなどでバージョンコントロールすること。

理由

ghq/local_repository.go at master · motemen/ghq · GitHub

ここを見る感じ、「.git, .svn, .hg, _darcsといったディレクトリがある場所を探索して、そこからlocal repositoryだったら、そこから下をskipする」挙動になってます。

そのため、GHQ_ROOTの下にバージョンコントロールされてないサンプルプロジェクトがあると、 その中の.bundlenode_modules再帰的に辿っていく動作になる。

結果的に、たどる必要がないパスを延々と辿ることで、不要なパスをskipせずに、ghq listの実行時間が長くなるという状況だった。


自分でghq listの代替を作ってたけど、やっぱりと思って調べてみて、なんとか改善できたので良かった。

大きな4Kモニタを買ってみた

これまで24インチワイドモニタを使って作業してましたが、そろぞろ少し大きめなモニタほしいなぁと。

悩んだ結果、思い切って大きくしてみたという話。

f:id:hirakiuc:20170211171809p:plain

購入したもの

感想

  • 最初は画面が大きすぎて辛くなり、PCを起動する時間が減るほど、後悔した。
  • 作業台を買って椅子をモニタから遠ざけつつ、フォントサイズを大きくすることで、少し作業しやすくなってきた。(今ここ)

目が悪いため、遠ざかると文字が見えにくくなるという辛みを回避しつつ、いい作業環境にできないか、まだ悩み中…。


これだけ贅沢な買い物したことだし、少しでも活用しないと!

ergodox-ezのkeycapをGMK Carbon Keycap Setと交換した

お仕事で使っているergodox-ezのkeycapを交換した話

今回購入したkeycapは以下の二つ。

注文してから約3か月 + 2週間で届きました。

届いたものがこちら。(画像はGMK Carbon Custom Keycap Setの方だけ)

f:id:hirakiuc:20161123111313p:plain

実際に組み立ててみると、以前wasdkeyboards.comで買ったものより薄くて丈夫そうでした。

f:id:hirakiuc:20161123110740p:plain

f:id:hirakiuc:20161123110528p:plain

数日触ってみた感じ、ホームポジション用の突起(FとJにあるもの)が無い以外は、なかなか気に入ってます。

docker-composeで起動したmysqlにコンテナホストからmysqlコマンドで接続する

自分向けのメモ程度の内容です。

ポイント

  • docker-composeでコンテナホストのvolume/portをmappingする
  • コンテナホストでmysqlコマンドを使うときは--protocol=tcpオプションをつける

雑な説明

docker-compose.ymlのサンプル

volumesとportsでmappingを定義。

version: '2'
services:
  datastore:
    image: busybox
    volumes:
      - ./path/to/mount:/var/lib/mysql:rw
    container_name: datastore
  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: $DBROOT_PASS
      MYSQL_USER: $DBUSER
      MYSQL_PASSWORD: $DBUSER_PASS
    ports:
      - "127.0.0.1:3306:3306"
    container_name: mysql
    volumes_from:
      - datastore

mysqlコマンドの--protocol=tcpオプション

MySQL :: MySQL 5.7 Reference Manual :: 5.2.2 Connecting to the MySQL Server

mysqlコマンドでlocalhostに接続しようとするとき、socketを使って通信しようとするらしい。

今回の場合、dockerでmysqldを起動しているためTCP接続を使って通信する必要があるため、protocolを明示的に指定する必要がある様子。

$ mysql -u $DBUSER -h localhost --protocol=tcp -p