AdobeXD+PRK Firmwareで組込み系プロトタイピング
2022年1月ついに「自作キーボード」デビューしました!!
と言っても通常の文字を入力するためのものではなく、製品のUIやUX検証のための製品の形をした特殊なキーボードです。
汎用性の高いプロトタイピング環境だと感じましたので、ちょっと興奮気味にお伝えします。
20年近く同じテーマで様々なツールを使ってきましたが、これまでで一番シンプルで安価で、誰でも直ぐに実行できるメソッドになっています。
2021年に大きく改善したXDのキートリガー
2019年5月のアップデートでAdobeXDに「キートリガー」機能が実装されました。私も機能リクエストを書いていた一人でしたのでとてもワクワクしたのを覚えています。
当時は1つのオブジェクトに1つしかトリガーを設定できなかったため、タッチUIとキーUIを同時に実現するためにはダミーの別オブジェクトを用意するなど業務で利用するには手間と混乱が発生する状況でした。
その状況が大きく改善されたのが2021年です。AdobeXDでは画面内の変化はアートボードの切り替えとコントロールステートの2つがありますが、その両方に対してキートリガーできるようになったのです。
私がキートリガーを要望していた理由は、デジカメのようなボタン操作とGUIが一体になった組込み系製品のプロトタイピングのためです。それまでもPCやスマホのアプリのようなものは作っていましたが、ようやくフィジカルな操作環境とXDを繋げられるようになりました。
自作キーボードブームが環境を作ってくれた
近年PCの処理能力が十分なものとなり、そういったスペックよりもキーボードやマウスの充実に目を向ける人が増えてきており何万円もする高級キーボードが飛ぶように売れているみたいです。
その中の一部の人々が、より自分にマッチしたキーボードを手に入れようと自作に挑戦するようになってきています。市販のキーボードではなく自作をする意味を明確にするため「独自レイアウト」「独自キーアサイン」のものを作る傾向にあり、作成環境もそれに合わせて自由度の高いものになってきています。
会社で製品設計をしている人が、趣味でキーボードを開発することはこれまでもできたと思いますが、最近の自作キーボードブームはハードウェア、ソフトウェアの両方で開発キットやファームウェアが準備され、ネットの記事を読みながら初心者でも、それなりに作れるようになってきたというのが特徴です。
・・・
WindowsでもMacでも、キーボード、マウス、ゲームパッドなどはHID(Human Interface Device)という規格で接続され、USBとの組み合わせでPCに刺すだけで使えるようになっています。そういった機能を実現するためのマイコンチップが出てきたことで、周辺のソフトウェア環境が整えられ、作成ノウハウが共有されるところまで広がってきました。
Pro Microというマイコンボードが多く使われ環境も充実していますが、そこに2021年1月に登場してきたのが今回私が使ったRaspberryPi Picoです。こちらも最近KIT、ファームウェア、ノウハウが充実してきており、シンプルな機能を作る上で十分な環境になってきています。
PRK Firmwareでキーマップをカスタマイズ
RaspberryPi PicoをHIDとして利用するためにPRK Firmwareを動作させRubyでキー動作を記述します。他の方法もありますがプロトタイプ作成環境として断然オススメです!
PRK Firmwareはとてもモダンな構成になっており簡単にセットアップでき、メモ帳でRaspberryPi Picoの中に保存されているRubyファイルのキーマップを直接書き換えることができるようになっています。
プロトタイピングではAdobeXDで使うキートリガーに合わせてキーマップを設定するため通常のキーボードよりも変更頻度が高く、簡単にできることの意味はとても大きくなります。
ロータリーエンコーダーがキートリガーに使える
最近の自作キーボードではロータリーエンコーダを組み合わせてさまざまな操作をさせることが流行になっています。最もシンプルなインクリメンタル型のロータリーエンコーダーのA相B相とGNDの3ピンを直接つなげるだけで回転方向に応じてキー押下と同等の入力がおこなわれます。
デジカメから電子レンジ、クルマのエアコンなどダイヤルは一般的な操作デバイスですので標準構成でロータリーエンコーダーが使えるのはとても助かります。
その他にもハードウェアの工作が必要ですが、フィジカルな動きのセンサーとして利用することもできそうです。
Adobe純正キーパッドKITの夢
プロトタイピングの可能性を大きく広げてくれるデバイスとして、Adobeがデバイスを標準化し活用ノウハウを公開することで凄いことがおきるように思います。
RaspberryPi Picoに使われているRP2040というチップはこの半導体不足の状況でも潤沢に供給できるほどチップサイズが小さく約1ドルという高い経済性をもっておりAdobeの有料契約ユーザーに無料で配ることも不可能ではありません。
例えばデジカメのような製品は日本が大変強い分野ですので、AdobeXDの活用範囲もアプリだけでなく組込みデバイスへもっと伸ばしていけそうです。そのため日本法人の独自企画としてやっても良いかもしれません。
またAdobeXDは入門の敷居がとても低く学習しやすいため企業だけでなく教育現場でも活用できそうです。子供たちが独自のデバイスでXDのアニメーションを活用して作品を作るのを想像するとワクワクします。