hirakiucの日記

いろいろ

ergodox-ezのkeyswitchを交換した話

tl;dr

最初に買ったergodox-ezのkeyswitchを変えたくなったため、 バラ売りのkeyswitchを購入して、はんだゴテ使って全部入れ替えて、最高のkeyboardにした。


1. ergodox-ezのkeyswitchを変えたくなった

最初、特に考えずとりあえず茶軸を購入して使用してました。

しかし、使っているうちに、もう少し静かでクリック感もなく軽いkeyswitchにしたいなぁと考えるように。

2. Ergodox-ezのサポートに聞いてみたら

>  Can I change key switches my ergodox-ez by myself?

Of course you can change by yourself -- no problem! 
To open it, just remove the back sticker, one screw is hidden behind. 
Of course this voids your warranty, but have fun modding! Share your results! :)

キーボード裏側のシールをはがすと、一つネジが隠されていて、そこも含めてネジを外すと交換できるよ、とのこと。

ただし、通常は2年間保証がついてますが、キーボード裏側のシールをはがすと保証がなくなってしまうそうなので、よく考えてから判断しましょう。

2. Keyswitchをバラ売りで購入

この界隈ではFalbatech.plが有名みたいなので、こちらで赤軸keyswitchを予備含めて80個購入。

10日ほどで到着。

f:id:hirakiuc:20160917161952p:plain

名刺とあま〜いキャラメル味のお菓子x2個が入ってました。

(keyswitchは画像用に2個だけ)

3. はんだゴテが使える場所探し

keyswitchの中身だけ入れ替える方法もあるみたいですが、今回ははんだゴテを使ってマルッと入れ替える方向に。

ただ、はんだゴテを使うとなると機材が必要になり、数千円以上の出費が必要になりそうです。

自分の場合、この作業が終わると使う予定もないため、機材を利用できるようなスペースがないか探してみました。

いろいろ探して利用させていただいたのは、秋葉原Assemblageさん。

利用料金はFAQを参照。

はんだゴテはもちろん、必須アイテムのサンハヤト はんだシュッ太郎NEO 45Wタイプ HSK-300もあり、機材や使用するはんだもお店で提供してもらえます。

4. 交換作業

まずは、keyboardのネジをすべて外して基盤をむき出しにします。

f:id:hirakiuc:20160917162127p:plainf:id:hirakiuc:20160917162136p:plain

あとは、以下の流れで機械的にkeyswitchを一つずつ、取り替えていくだけです。

  1. keycapを取り外す
  2. はんだシュッ太郎で、はんだを融かして吸い取る
  3. keyswitchを取り外して、入れ替える
  4. はんだ付けする
  5. keycapを付ける

最初ははんだシュッ太郎を使わずに頑張ってたのですが、時間がかかるし汚くなるしで良い事なし...。 お店の人にはんだシュッ太郎を貸してもらってからは、短時間でキレイにはんだが取れました。

はんだを吸い取る時のコツは、サンハヤト はんだシュッ太郎NEO 45Wタイプ HSK-300を対象に5秒ほど当てて、しっかりはんだが溶けてから吸い取る感じです。 当ててから吸い取るまでの間隔が短いと、少し残ってしまい、キレイに吸い取れませんでした。 (キレイに取れなかった場合は、少しはんだを追加して取りやすくしてから、リトライしました)

交換作業は約4時間ほどかかりましたが、最初の試行錯誤で時間を浪費してしまってるため、上のルーチンワークで進めれば多分3時間くらいでいけそうです。

注意

keyswitchがはめ込まれてる向きは全て同じではなく、場所によって違います

基盤にも向きがわかるように文字が書かれてますが、自分は心配性なので、画像に記録しておいてから作業しました。

5. 動作確認

持参したノートPCに接続して動作確認してみましたが、特に問題なく終われました。


久々のはんだ体験ができたし、良い感じのkeyboardになったし、最高でした。

最近のキーボード事情

ergodox-ez(茶軸)を購入してから自分なりに色々と模索してる状況をメモしてみます。

現状

f:id:hirakiuc:20160831235416p:plain

Firmware

/* Keymap 0: Basic layer
 *
 * ,--------------------------------------------------.           ,--------------------------------------------------.
 * |   =    |   1  |   2  |   3  |   4  |   5  |  {   |           |   }  |   6  |   7  |   8  |   9  |   0  |   -    |
 * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 * | Tab    |   Q  |   W  |   E  |   R  |   T  |  (   |           |   )  |   Y  |   U  |   I  |   O  |   P  |   \    |
 * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 * | BkSp   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2|' / Cmd |
 * |--------+------+------+------+------+------|  [   |           |   ]  |------+------+------+------+------+--------|
 * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl| RShift |
 * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
 *   `----------------------------------'                                       `----------------------------------'
 *                                        ,-------------.       ,-------------.
 *                                        | App  | LGui |       | Alt  |Ctrl/Esc|
 *                                 ,------|------|------|       |------+--------+------.
 *                                 |      |      | Home |       | R_Cmd|        |      |
 *                                 | Space|Backsp|------|       |------|  Tab   |Enter |
 *                                 |      |ace   | End  |       | Esc  |        |      |
 *                                 `--------------------'       `----------------------'
 */

https://github.com/hirakiuc/qmk_firmware/blob/master/keyboard/ergodox_ez/keymaps/hirakiuc/keymap.c

色々と手直ししつつ、使い易いキーマップを目指してます。

こだわったとこは以下のあたり。

  • vimでescapeがすぐ押せるように親指で押せる場所に配置
  • 日本語変換のtoggleキーをすぐ押せるように親指で押せる場所に配置
  • カッコ類をすぐ使えるように(あまり使わなかった)中央部分に配置

他のレイヤーも少しだけ変えてますが、そんなに変わってないはず。

karabiner

iterm2でvimを使ってる時、escape押したら英数に戻す設定

日本語入力中にもすぐにコマンドモードに戻れて便利。(iterm2の中だけ)

(どこかのサイトを参考にさせてもらいましたが、メモし忘れました...)

<?xml version="1.0"?>
<root>
    <appdef>
        <appname>iTERM2</appname>
        <equal>com.googlecode.iterm2</equal>
    </appdef>
    <appdef>
        <appname>MACVIM</appname>
        <equal>org.vim.MacVim</equal>
    </appdef>
    <item>
        <name>Leave Insert Mode with EISUU (vim keybind apps)</name>
        <identifier>private.vim_keybind_apps_esc_with_eisuu</identifier>
        <only>iTERM2,TERMINAL,MACVIM</only>
        <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
    </item>
</root>

静音化リング

サイズ Cherry MX軸対応 静音化リング MXORDP

サイズ Cherry MX軸対応 静音化リング MXORDP

キーを底まで入力した時の音がうるさかったため、装着。

一部キーで外してますが、全体的に装着して使ってます。

少しは静かになってる感はありますが、やっぱりHHKB Professional2 typeSよりはカチャカチャ音が鳴る感じ。

今後の予定

  • 入力ミスを極力減らすように慣れる
  • Keycapの付け替え
  • Keyswitchの変更(赤軸45gにしてみたい)

開発環境を移行中

Macで趣味っぽいコードを書いたりしていたけど、i3wmの話を聞いて使ってみたくなり、VirtualBox on MaxOSXi3wm on ArchLinuxを作って開発環境にすることに。

Linuxのdesktop環境を触るのはかなーり久しぶりなため、ほぼゼロ状態から調べつつどうにか形にできた。

f:id:hirakiuc:20160521224011p:plain

まだ細かい設定とか細かいとこを調整しないといけないけど、こういう環境を整えていくのは少しずつ楽しみながらやっていけばいいかなーと。

  • Todo
    • consoleにloginしてからstartx実行しないといけない
    • zshのconfig load順が期待通りになってない?
    • i3barの設定を何も変更してない (エラー起きたまま放置)
    • 日本語入力環境がない (Mac側があるから要らない?)
    • クリップボード関連の設定ができてない (xselで何とかしのいでる)

hhkb購入

PFU Happy Hacking Keyboard Professional2 Type-S 白(英語配列)

PFU Happy Hacking Keyboard Professional2 Type-S 白(英語配列)

1ヶ月ほど悩んだ結果、思い切って購入。

まだカーソルキー探したり、ヘコヘコ音に馴染めなかったり、Ctrlキーの位置にいらっとしたり。 慣れるまで我慢強く使い続けねば。

会社用にも安いの買おうかなぁ。

chef solo

お仕事でシステム監視のシステムを構築する必要があり、sensuをいろいろ調べつつようやく目指す仕組みが見えてきた。

そこでchefのcookbookを使って環境を作るのもやっておこうと、今更ながらchef soloのお勉強中。

sensuの仕組みを勉強してるときは、自分で環境作ってhandlerとかmutatorのスクリプト書いてscpして設定してと手作業でやっててちょっと辛めだったけど、chef solo使って環境できるようになるとすごい捗る。

最初のとっかかりがとてもハードル高いけれど、この本読んでみると最初のとっかかりがすぐ見えて楽だった。

入門Chef Solo - Infrastructure as Code

入門Chef Solo - Infrastructure as Code

それにしてもsensu + uchiwaは楽しい。

今はchef-monitorのwrapper cookbookを参考にしつつ、cookbookを作成中。

Mac Book Pro retina

使ってたMacBookAirさんのキーボードがJIS配列で辛くなったのと、そろそろ二年たつのもあって、思い切ってMac Book Pro retina 13inchを購入。

データ移行

  1. 古いMacBookAirと新しいMacをthunderboltケーブルで接続

  2. 古いMacBookAirをrebootして、起動時にTボタンを押しっぱなしで起動(参考

  3. 新しいMacを起動して、データのコピー元に古いMacのHDDを指定

  4. 終わるまで待つ


データ移行は終わったのだけど、brew でinstallした各種パッケージのコマンドが見れない。

パッケージ自体はinstallされてるっぽいけれど、brew --prefix/bin の下にlinkが無いので、unlink && linkで対処。

$ for pkg in `brew list`
do
    brew unlink $pkg && brew link $pkg
done

いくつかのパッケージでWarningが出てたから個別に対応中...。

やっぱりRetinaだけあってキレイな気がする。

あと、やっぱりdiablo3は発熱すごくて動かすのは諦め...。