ErgoDox EZを買った
ずいぶん時間が経ってしまったのですが、ErgoDox EZについて書いておこうと思います。
注文
2018/1/1にergodox-ez.comで注文しました。構成は以下です。
- 1x Tilt/Tent Kit - White for $25.00 each
- 1x The Wing: Custom ErgoDox EZ Wrist Rest - White for $30.00 each
- 1x ErgoDox EZ Original Standalone - Blank / White / Cherry MX Silent Red for $240.00 - Shipping : $30.00 USD
総額は$325.00 USDでした。
受け取り
2018/1/20に到着しました。
yeah! pic.twitter.com/2WjJiKO0ju
— yskoht (@_yskoht) 2018年1月20日
カスタマイズ
キーキャップの交換
真っ白は味気なかったのでKBDfansでキーキャップを買い、既に持っていたキャップと混ぜて使いました。
キー刻印も欲しくなったのでBAROCCO MD600のキーキャップを外して付けました。
キースイッチの交換
キースイッチはCherry赤軸のサイレントで注文しました。使ってみると軽いタッチ感でとても静かにタイピングできるのはとても良かったのですが、クリック感のないリニア軸なのでどこで入力されたのかが分かりずらく、キーの底まで力を入れて叩いてしまい指が痛くなってしまうので交換することにしました。
公式サイトを見てみると、2018年の1月からCIY featureがデフォルトで組み込まれたそうなので、付属のKeycap pullerを使って簡単に取り外せました。
代わりに使うスイッチはTALP KEYBOARDでGateronの茶軸を購入しました。
さすがにGateron茶軸は赤軸サイレントに比べればタイピング音が大きいので、職場で使うのは断念しましたが、好みの打鍵感になりました。
キーマップのカスタマイズ
こんな感じで落ち着いています。下段と親指周りのキーがうまく活用できていない感があります。
感想
- BAROCCO MD600やLet's splitでは右手側
B
キーを割り当てる余裕がなかったのですが、Ergodoxはキーが多くて良いです。ただ少し大きすぎる感があり、机の上を圧迫します - 親指付近のキーはホームポジションから遠いのでほとんど使えてないです
- キーキャップのカスタマイズは楽しいですが、必要なのが1u, 1.5u. 2uで集めるのが少し大変かもしれません
QMK Firmwareのkeymap.cからアスキーアートを出力するスクリプトを作った
Keymapviz
Keymapviz: https://github.com/yskoht/keymapviz
導入
Python3で動きます。
$ pip3 install keymapviz
使い方
レイヤーごとにアスキーアートを出力します。ファイルパスにキーボードの文字列があればそこからキーボードを特定します。
現状はergodox(ergodox_ez)
とlets_split
にしか対応していませんが…
以下のキーボードレイアウトに対応しました。(2018/08/01)
- crkbd
- ergo42
- ergodash
- ergodox_ez(ergodox)
- fortitude60
- helix
- lets_split
$ keymapviz.py qmk_firmware/keyboards/ergodox_ez/keymaps/default/keymap.c /* * * .---------------------------------------------. .---------------------------------------------. * | EQL | 1 | 2 | 3 | 4 | 5 | LEFT | ! RGHT | 6 | 7 | 8 | 9 | 0 | MINS | * !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------! * | DELT | Q | W | E | R | T |TG(SYMB| !TG(SYMB| Y | U | I | O | P | BSLS | * !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------! * | BSPC | A | S | D | F | G |-------! !-------! H | J | K | L |LT(MD|GUI_T(K| * !-------+-----+-----+-----x-----x-----!ALL_T(K! !MEH_T(K!-----x-----x-----+-----+-----+-------! * | LSFT |CTL_T| X | C | V | B | | ! | N | M |COMM | DOT |CTL_T| RSFT | * '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------' * |LT(SYM|QUOT |LALT(|LEFT |RGHT | ! UP |DOWN |LBRC |RBRC | FN1 | * '------------------------------' '------------------------------' * .---------------. .---------------. * |ALT_T(K| LGUI | ! LALT |CTL_T(K| * .-------+-------+-------! !-------+-------+-------. * ! SPC ! BSPC | HOME | ! PGUP | TAB ! ENT ! * ! ! !-------! !-------! ! ! * | | | END | ! PGDN | | | * '-----------------------' '-----------------------' */ (以下略)
Keyboard Layout Editorで使えるjsonファイルも出力できます。
-o
で指定されたファイル名に含まれる{}
が添え字に置換されてレイヤーごとにファイルになります。
$ keymapviz.py qmk_firmware/keyboards/lets_split/keymaps/default/keymap.c -t json -o 'lets_split{}.json' $ ls lets_split*.json lets_split0.json lets_split1.json lets_split2.json lets_split3.json lets_split4.json lets_split5.json
このjsonをKeyboard Layout Editorにアップロードします。
すると以下のような感じで画像にしてくれます。
QMK FirmwareのKeycodesと凡例の関係はlegends.py
で変更できます。
この辞書に書いていないものは接頭辞のKC_
を取り除いたものになります。
legends = { 'XXXXXXX': '', '_______': '', 'KC_TRNS': '', 'KC_NO': '', 'LCTL(KC_Z)': 'UNDO', 'LCTL(KC_Y)': 'REDO', 'LCTL(KC_C)': 'COPY', 'LCTL(KC_V)': 'PASTE', 'LCTL(KC_X)': 'CUT', 'KC_PSCREEN': 'PSc', # (以下略) }
感想
keymap.c
を絵にするんじゃなくてKeyboard Layout Editorからkeymap.c
を作れるようにすべきだったのかもしれない- ergodoxだとそういうツールあったりするけど
- 結局アスキーアートだすのもjson出すのもテンプレートを作っておかないといけないのがめんどくさい
MATRIX_ROWS
,MATRIX_COLS
があるんだから自動でいい感じのレイアウトを作れるのかもしれない
keymapviz.py
自体がpngやらjpegやらを作るわけでもないのにvizと名付けたのは大仰だったかもしれない
Ruby on Rails チュートリアル 第14章をやったメモ
Ruby on Rails チュートリアル:実例を使って Rails を学ぼうのRails 5.1(第4版)
14章はユーザーのフォロー。
- 気合で終わらさせた。特に詰まったところはなかった。
- 11章でできなかったherokuでのメール送信のためにSendGridのインストールを試したけどできなかったので、サポートにチケット出した
- スパム認定されてブロックされていたらしい。アンブロックしてもらって、すんなりインストールできた
感想
rails test
でfailureした時の絶望がすごい- たいていはタイポか、編集するファイルが間違っていたかだったけど
- 最初は全部コピペでよいかもしれない。ホントに必要になったらもう一回やればいいわけですし
- Rails, AWS, Heroku一通り触れてよかった
- 演習の解答をまとめてくれてるサイトがありがたかった。理解が深まった
- やり遂げるためのモチベーションが辛い
- このブログにメモを書いていたから最後までできたと思う。メモの内容が他の人の役に立つかどうかはさておき
- Ruby on Rails チュートリアル 第1章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第2章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第3章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第4章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第5章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第6章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第7章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第8章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第9章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第10章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第11章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第12章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第13章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第14章をやったメモ - yskohtの日記
Let's split ビルドログ
Let's split を作りました
Let's split: qmk_firmware/keyboards/lets_split at master · qmk/qmk_firmware
今回はRGB Underglowなし、リセットスイッチなしで作りました。
ケースはサンドイッチプレート1です。サンドイッチプレートでも強度の面で 特に不安は感じませんが、どうせならv2-case2で作れば良かったかなとも思います。
参考にしたビルドログ
作成にあたって以下の記事を参考にさせていただきました。
- nicinabox/lets-split-guide: This guide covers building a Let's Split v2
- 格子配列で左右分離型の超コンパクトなキーボード "Let's Split" を組み立てたよ - Voxel Highway
- やぎ小屋 | Let's Split(レツプリ)を組み立てた
- Let's Split を組み立てた話 | 遊舎工房
いくつかの些細なこと
上記のビルドログを参考に組み立てればなんの問題もないのですが、 いくつかの些細なことを確認しておくとトラブルを回避できるかもしれません。
pro micro の動作確認
pro micro は初期不良があったりするらしいので、組み立て前に書き込みできるか確認しておきました。
書き込み確認中 pic.twitter.com/N2L3fVEwmB
— yskoht (@_yskoht) 2018年2月3日
pro micro のモゲ対策1
USBケーブルの抜き差しによりpro micro側の端子が取れてしまうことがあるようなので、取り付け前にグルーガンで端子の両側を補強しておきました。
スペーサが入らない…
今回使ったパーツだけの問題だったのかもしれませんが、pro microの隣にスペーサを取り付ける際にアクリル側の穴とPCBの穴の中心がずれていたので、自分が用意した厚みのあるスペーサは取り付けられませんでした。なのでここだけ家にあった別のスペーサを使ってナットで固定しています。事前に注意しておくと焦らずに済むかもしれません。
pro micro のモゲ対策2
モゲ対策にマグネットで取り外しできるケーブルを買いました。このケーブルのマグネット部分は上下を逆にしても取り付けできるようになっているのですが、どちらか一方はデータ通信はできないようです(充電は上下どちらでもできる)。それから、Let's splitのdefaultのキーマップでは左手側にケーブルを刺さないとキーマップが左右反転したようになってしまうみたいです。公式ビルドログのトラブルシューティングに似たようなことが書かれていました。
ダイオードのつけ忘れ
レツプリのキーが1つ反応しないなと思っていたら、ダイオード1つ付け忘れていた pic.twitter.com/hSJE8q5fdT
— yskoht (@_yskoht) 2018年2月10日
作り終えた後にキーマップをいじっていると、反応しないキーが1つありました。 最初はファームを疑っていたのですが、defaultのキーマップでも反応しないので、 どうもHWが問題っぽく、基板をよく見てみるとダイオードを1つ付け忘れていました。 Let's split では48のダイオードを使うので、事前に数えてからつけ始めれば防げるミスでした。 付け忘れたダイオードは他のダイオードとは別の面に実装することになってしまい、少しかっこ悪いのですが無事に動作しました。
キーマップ
ほどんどdefaultのままです。配列沼は深そうなのでこれから変わるかもしれませんが、現状は以下のような感じです。
ESC
をTAB
に変更。TAB
を2回押すとESC
になる(Tap Dance)TAB
はQ
の隣にあってほしいけど、ESC
も左上に欲しい。ESC
を押すときは大体2回ぐらい叩いている気がするので問題ないけど、TAB
を連打できないのは辛いかもしれない
A
の隣はCtrl
- Emacsのため
- 左手下段は
Adjust
を削除。Space
をShift
に置き換え。どうやら自分は右手親指でしかSpace
を押さないらしい- 左手親指の
Shift
はかな/英字切り替えをShift
+Space
に割り当てているため
- 左手親指の
Enter
キーはタップでEnter
、ホールドでShift
Enter
の押しっぱなしができなくなるけど連打でカバー
- Lowerレイヤー, Raiseレイヤーはdefaultのまま
あと、なぜかKC_LALT
でGUIキーと認識されていて、KC_GUI
が’Altキーと認識されているっぽい?これは自分の環境のせいだと思うけど…
写真
Ruby on Rails チュートリアル 第13章をやったメモ
Ruby on Rails チュートリアル:実例を使って Rails を学ぼうのRails 5.1(第4版)
13章はマイクロポストの実装。
- 13.1.3:
user.microposts
でUserのマイクロポストの集合を返す- この機構すごい強力だなと思った
- 13.2.2
- 13.4.1
PictureUploader
がNameError
になる。以下で解決した
- 13.4.4 の本番環境での画像アップロードはスキップ
- Ruby on Rails チュートリアル 第1章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第2章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第3章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第4章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第5章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第6章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第7章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第8章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第9章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第10章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第11章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第12章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第13章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第14章をやったメモ - yskohtの日記
Ruby on Rails チュートリアル 第12章をやったメモ
Ruby on Rails チュートリアル:実例を使って Rails を学ぼうのRails 5.1(第4版)
12章はパスワードを忘れたときのためにメールで再設定できるようにする。
モチベーションが結構つらくなってきたのでさくっと終わらせた。 11章に引き続き、まだ本番環境でメールの送信ができてない。
- Ruby on Rails チュートリアル 第1章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第2章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第3章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第4章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第5章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第6章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第7章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第8章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第9章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第10章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第11章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第12章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第13章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第14章をやったメモ - yskohtの日記
Ruby on Rails チュートリアル 第11章をやったメモ
Ruby on Rails チュートリアル:実例を使って Rails を学ぼうのRails 5.1(第4版)
11章はアカウントを有効化するためのメールを送れるようにする。
- 11.3.2
- できないと思ったら、
authenticated?
をミスっていた。
- できないと思ったら、
def authenticated?(attribute, token) digest = send("#{attribute}_digest") return false if digest.nil? # remember_digestのままになっていた BCrypt::Password.new(digest).is_password?(token) end
11.3.3
&&
演算子の方がand
よりも優先順位が高い- 括弧つけたほうが良いように見える
11.4
- クレジットカードを登録したのにアプリケーションにアドオンを追加するのができなかった
address is not permitted to install ~~
みたいなことを言われた
- クレカ登録し直してみるかと思って、いったんリムーブしたら次に登録するには2/1まで待たないといけないらしい…
- クレジットカードを登録したのにアプリケーションにアドオンを追加するのができなかった
- Ruby on Rails チュートリアル 第1章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第2章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第3章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第4章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第5章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第6章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第7章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第8章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第9章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第10章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第11章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第12章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第13章をやったメモ - yskohtの日記
- Ruby on Rails チュートリアル 第14章をやったメモ - yskohtの日記