えんじにゃーず・ハイ

主にエンジニアや技術情報についてつらつら書き連ねるブログです

HHKB Hacking会を開催しました

キーボードハック!

f:id:areph:20161230165721p:plain

今回HHKBを購入したので基盤を入れ替えて自前キーマッピング&BT化にチャレンジするイベントを開催しました。

イベントにする予定では無かったのですが、ついでに高級キーボードを持ち寄ったり、キー配列やキーボードにおける熱い想いを語れる場としてみなさんと交流できれば楽しいだろうなということで。

connpass.com

開催の経緯

新しいMacBookProを購入したのですがどうにもこの薄いキーボードに慣れず、外付けキーボードを購入することを決意しました。

他にRealforceとHHKB LiteのJISキーボードを保持していましたが、購入したMBPは英字キーボードのため、外付けキーボードも英字キーボードを購入することにしました。

私としてはHHKBの跳ね返りが好きなため、思いきってHHKBのBT版を購入です。

すると友人のキーボードマニアからツッコミが入りました。

え・・・。

どういうことなのかと聞いてみると、どうやらHHKBの基盤を購入して入れ替えることでキーバインドを変えたり自前でBT化したりできるそう。

詳しくはこちら。・・・って、彼が書いた記事ですが。

http://qiita.com/shela/items/62324752ff703bae3e74qiita.com

確かに、HHKBはタイピングのしやすさは抜群ですがBSが二段目の右端にあったりカーソルキーのマッピングが気に入らなかったり色々と自分好みにはしたいと思っていたので、チャレンジしてみることにしました。

作業場所を探していたところ、他にもキーボードを語りたいという人が集まり、せっかくなのでイベントにしてしまおうという経緯です。

イベント開催の様子

ErgoDox&Kinesis!!

f:id:areph:20161229140812j:plain

Kinesisは新しいモデルだそうで、前モデルのファンクションキーが他のキーと同じキーに変わったそうです。

ErgoDoxもKinesisも特徴があるキー配列ですね。慣れるまでが大変そうですがみなさんキーマッピングを変更されているので慣れ親しんでいるキー配置になっているそうです。タイピング音が心地よいのですよね…。

なお、エルゴノミクスキーボードのおかげで肩が開き、肩こりや姿勢が良くなったという実感はありませんとのことでしたので参考にしてください。

しぇらさんによるHHKB alt controller & キーボード基礎勉強会セッション

docs.google.com

HHKBとキーボード愛に溢れた、実に素晴らしい資料です。メカニカルキーボードの基礎まで盛り込まれており、正直私では説明できません…。

実践!HHKB Hacking!

メインイベントのHackingタイムです。

まずこちらが私が購入したHHKB Type-S 英字配列キーボードです。

f:id:areph:20161229155915j:plain

美しいですね。

さて、今回はこの子の基盤を交換しますので裏返してみましょう。ネジ3本で止まっているだけです。

なお、以下の作業はメーカー保証外となるため、文鎮と化して通夜会場になる可能性があります。自己責任のもと行うようにしてください。

f:id:areph:20161229155930j:plain

ネジを外して、ゆっくりと開きます。ケーブルが繋がっていますので勢いよく開かないよう注意しましょう。

f:id:areph:20161229160226j:plain

交換する基盤は小さい方の基盤です。白いコネクタを外しましょう。なおこれが固くて中々外れず5分ほど格闘しておりました。ケーブルを引っ張らないように、白いコネクタを少しずつ引っ張って外していきましょう。

f:id:areph:20161229160948j:plain

外せました。

f:id:areph:20161229161115j:plain

元々付属していた基盤との比較です。左がalt controllerの基盤ですね。DIPスイッチがリセットボタンになり、2つのUSBハブとなっていた箇所はBTスイッチとLEDランプに変更されています。

このためalt controllerに変更するとUSBハブとしての機能は使用できません。ご注意ください。

alt controller基盤に付け替え、コネクタを接続し蓋をします。

USBケーブルをPCに接続するとLEDランプが点灯しました。

f:id:areph:20161229161923j:plain

hid_listen

HID Listen program, or simple text debug output with Teensy USB

キーボードの入力チェックなど各種デバッグができるツールです。

上記リンクからダウンロードします。私はMac用をダウンロードし、 権限を755に変更。実行するとキーボードで入力された値をデバッグできるようになります。

gyazo.com

gyazo.com

実行中に左Shift&右Shift&Dkeyを入力するとデバッグモードになります。

gyazo.com

デバッグモードを中止したい場合は先程と同じように左Shift&右Shift&Dkeyで解除できます。あくまでキーボードで入力された値が見れるようになるので、他アプリケーションを開いている際に入力されたものも全てデバッグ表示されます。色々と便利かも。

hid_listenを終了したい場合はCtrl+Cで終了します。

BTチェック

今回BTに必要なバッテリーを準備するのを忘れてしまっていたのですが、BTスイッチをONにしてケーブルで接続しつつBTでのペアリングをしてみます。

キーボードのUSBハブの場所にBTのスイッチがあるのでこちらをON。

次に下記の説明書きにあるとおり、キーボードの左Shift&右Shift&OKeyを押します。

gyazo.com

PC側でペアリングします。

gyazo.com

接続されればBTによるペアリングが完了です。

ファームウェアのビルド環境準備

下記のファームウェアを使用します。

github.com

git cloneしましょう。

続いてビルド手順に従い、ビルドしましょう。

brew tap osx-cross/avr
brew install avr-libc
brew install dfu-programmer

なお、ダウンロード&ビルドを行いますのでかなり時間が掛かります。

ファームウェアの書き込み

makeが無事に終ãれば後はHHKBのalt controllerの基盤にファームウェアを書き込むだけです。

まずHHKBのリセットボタンを押しましょう。DIPスイッチがあった場所がリセットボタンになっています。

なお、このリセットボタンを押すとHHKBはキー入力ができなくなります。そのため以下の操作は別のキーボードで入力するようにしてください。

書き込みたいファームウェアをmakeするだけです。今回はしぇらさんのキーマッピングがコミットされているので試しにそれを書き込んでみましょう。

gyazo.com

無事にHHKBでキー入力ができれば成功です!

キーマッピング

しぇらさんのキーマッピングですが、レイヤーが分かれており

  • US配列
  • JIS配列
  • dvorak配列
  • テンキーモード
  • マウスモード
  • HHKBモード
  • SpaceFNモード

が組み込まれています。

SpaceFNモードはスペースキーを長押しするとレイヤーが切り替わる仕組みになっており、カーソルキーの操作などがHHKBのデフォルトアクションに比べ格段に扱いやすくなっています。

デフォルトのキーマッピングもBSが上段右上に変更されているなど、HHKBのキーマッピングにおける不満が解消されています。

もちろん、自分好みのキーマッピングがある場合は変更して同じようにファームウェアを書き換えましょう。

私のカーソル移動はVimキーバインドが好みなので、自分用のファームウェアを作成中です。

そんなわけで目標達成!

無事に基盤を交換でき、キーマッピングを変更することができました!BTのバッテリーは別途注文し、自力でBT化しようと思います。

参加者の皆様もお疲れ様でした!そしてお付き合い頂いてありがとうございます。みなさん実にキーボードマニアで知識量が圧倒的でした。楽しい話がいっぱい聞けたので、今度は東京でもイベントを開催してみたいと思います。

そして今回、会場を提供して頂いたmisocaさん、ありがとうございました!オフィスが凄く広く綺麗になっていて、そしてコメダ席が大変魅力的なオフィスでした。会議室はイベントスペースにもなっているし、プロジェクター/コンセント完備で大変ありがたかったです。またお邪魔させてください。

懇親会

近くの居酒屋で懇親会しました。イベント自体が懇親会みたいなゆるい感じだったので、その延長線みたいな非常に心地よい時間でした。