matobaaのアイコン画像
matobaa 2020年04月29日作成
製作品 製作品 閲覧数 2929
matobaa 2020年04月29日作成 製作品 製作品 閲覧数 2929

タクトスイッチなキーボードを作るまで

TL;DR

tact31_keyboardという自作キーボードをデザインした。この記事では、私がこのキーボードを自作するに至った、その遍歴を書いてみた。

あしざーさんとの出会い

1995年に某IT企業に入社したとき「matobaaくん、Javaとかいうモノがあるみたいだからやってみてくれないか」と部長に言われて調べ始めた。当時、Javaは1.0が出たばかりで、日本語のコミュニティは Java-House ML くらいしかなく、複数の企業の人がなかよくわいわいとノウハウを交換したりしていた。
Javaのビルドツールとして apache ant というものがあったのだが、使い方がよくわからなくて勉強しようと、ドキュメントを翻訳しながら読んでいた。ちょうど ja-jakarta という、ドキュメントを日本語に翻訳するプロジェクトがあったので、どうせならとそこに参加して翻訳結果を公開していた。そのプロジェクトにいたのがあしざーさんである。

AVRとの出会い

Javaのプロジェクトが大きくなるにつれ、ビルドは自動化するようになった。CIやCDという仕組みを導入し、ビルドした結果を素早く開発者にフィードバックする、XFD「エクストリーム・フィードバック・デバイス」というモノが組み込まれるようになってきた。
オブジェクト倶楽部というコミュニティのイベントで、あしざーさんによる「XFDを作ろう」という講座があった。時間の関係で参加はできなかったのだが、資料をもらおうと、あしざーさんに連絡したところ、キットをもらうことができた。attiny2313というマイコンをつかい、v-usbを組み込んだ xfdctrl というファームで、USB経由でGPIOを上げ下げできるという簡単なものだった。
いろいろ面白そうだったので、AVRstudio を使ってファームを書くことを始めた。avr.jp にある attiny2313のデータシートを読み込んで、LチカやらAVRホタルやらを作っていた。

Arduinoとの出会い

そのあとしばらくAVRからは距離をおく期間があったのだが、AVRマイコンを中心に置いたarduinoというエコシステムが登場した。Arduinoのエコシステムによって、AVRのポテンシャルがお手軽に使えるようになっていた。
Digispark という、USBに直接刺さるマイコン基板が登場し、[USBキーボードやマウスを作れる(http://shokai.org/blog/archives/8665)ようになっていた。折しも使い始めたシンクライアントデバイスが、5分触っていないだけでスクリーンロックされるという極端な設定だったので、15秒に1回、1ピクセルだけ動く「ぴくぴくマウス」を実装して、不便を解消していた。

自作キーボードキット「nomu30」との出会い

入社当時のJavaコミュニティで仲良くしていただいていたtakaiさんが、nomu30というキーボードをデザインしていた。ミニマムですごく可愛くて、とても欲しかったんだけれど、キーボードを自作したこともない一般人にとってはちょっと頑張らないといけない値段だったので躊躇していた。
おりしも技術書典というイベントで、そのtakaiさんがブースを出していた。気になっていたのでブースに立ち寄ったところ、takaiさんのほうから「あーmatobaaさん久しぶりー」と声をかけていただけた。名乗っていなかったのに、実に20年ぶりなのに覚えてもらえていたことにとても感激したのと、そのtakaiさんから「nomu30どう?」と背中を押してもらえたこともあって、決心してnomu30を手に入れた。
ビルドガイドをじっくり読んで気持ちを高めて、キーキャップを買い、キースイッチを買い、作ってみたところ、一発で動いて感動した。会社に持っていて御披露目したらとても興味を持ってもらえて、しかも「半田付けがすごくキレイ」と褒めてもらったりして、自作キーボードって面白いものだと思った。

自作PCBへの道のり

nomu30がコンパクトですごく使い勝手がよかったのだけど、それにとどまらず、もっと小さいキーボードを作りたくなった。ゆかりんさんがblockey というキーボードをデザインしていたんだけど、ビルドガイドを見ると、表面実装ダイオードをスイッチの数だけつける手順になっていた。これ、もしかしてダイオードアレイとかカソードコモンのダイオードを使えばもっと減らせるのでは?? という興味があった。
ちょうどALGYANというイベントで「DesignSpark PCB」体験セミナーというのがあったので、ふらっと参加してみたら、なんだか簡単にできそうな気がしてきた。そう思ったらやってみよう、と、nomu30と同じキー数で、タクトスイッチを使ったキーボードをデザインしてみたくなった。できるだけ小さく、でも組み立てられる限界の大きさにレイアウトするのがパズルのように面白かった。
PCBを発注するのもずいぶん安くなっていて、キャンペーンだと5枚で7ドルとかがあったりしたので、いきおいで発注してみた。コロナ騒ぎで春節があけるまで時間がかかってしまったけれど、すごく小さな基板が届いた。
これまた作ってみたら一発で動作した。面白かった。ひとつずつ「実績を解除」しているような感触。

ふりかえってみて

決して一直線で自作キーボードのデザインができたわけではなくて、ちょっとしたつながりと、ふとしたきっかけが連綿と続くことで、ここに流れついたのだと感じる。このあとも同じように、ちょっとしたきっかけを大事につかまえることで、人生が豊かになるんだろうな、と思う。
今後の展望。Leafonyキャンペーンとやらをやっていたので、そのキャンペーンに応募してみた。運よくLeafonyを手に入れることができたら、またなにか面白いことをやって「実績を解除」していきたい。いまから楽しみである。

1
matobaaのアイコン画像
「XFDを作ろう」でAVRに入門し、Arduinoに参戦。DigisparkでUSB HIDなキーボードを作成<https://github.com/matobaa/OneKeyboardWithDigispark>。ESP8266やESP-WROOM-32もときどき使う。mbedやfpgaにも興味あり。
  • matobaa さんが 2020/04/29 に 編集 をしました。 (メッセージ: 初版)
ログインしてコメントを投稿する