ここから本文です

ESCキーを割り当てた無線フットスイッチを作ってみた

ITmedia PC USER 7月8日(金)6時10分配信

 「ああ、フットスイッチ欲しいな――」

 5月末、記事編集をしながらこんなことをつぶやいていたキイチ部員。フットスイッチというのは、2010年頃から流通し始めた「足で入力するキーボード補助デバイス」だ。もちろん、USBフットスイッチは今でも一般的に売られているのだが、私が欲しいのはこれではない。無線で動くフットスイッチが欲しかったのだ。デスクトップPCで使うならUSB接続でもいいだろう。しかし、私は仕事で使いたい。仕事で使用するのは基本的にノートPCであり、オフィス、会議室、カフェ、取材先など、さまざまな場所で使うのに有線では取り回しが悪いのだ。だが、「無線フットスイッチ」で検索してみても出てくるのは特定用途に特化したものくらい。一般的なUSBフットスイッチの機能である、任意のキーを割り当てる使い方ができるものはなさそうだ。

【完成品はこれだ!】

 「ああ、無線フットスイッチが欲しい。キー割り当てができる無線フットスイッチが欲しい。具体的にはESCキーを割り当てられる無線フットスイッチが欲しい」

 「待てよ。これ、もしかしたら作れるんじゃないか? 私にはできなくても、電子工作の経験がある人ならできるのでは」そうひらめいた私は、すぐにある人物に連絡を取った。

 「できますよ」

 そう答えてくれたのは、奈良先端科学技術大学院大学に在学している鈴木裕貴氏だ。学部時代には大阪大学でロボコンに打ち込んでいたこともあり、電子工作経験は長い。

井上 材料費っていくらくらいかかります?

鈴木 8000円くらいですかね。

井上 お願いします!

 こんな具合でトントン拍子に話が進み、鈴木氏に作っていただけることになった。その工作過程をレポートしていただいたので、早速紹介していこう。


鈴木氏による解説
●材料

 まず、今回の工作の要になる「mbed HRM1017」のご紹介です。mbed HRM1017はスイッチサイエンスが販売しているBLE(Bluetooth Low Energy)開発ボードです。

 このボードはmbedという開発環境に対応しており、ブラウザ上からプログラミングが可能です。そのため、ローカルに環境を構築する手間がありません。作ったプログラムはドラッグアンドドロップでmbed HRM1017に書き込むことができるので、簡単にBLEデバイスを作ることができます。このボードでフットスイッチの入力を受け取り、Bluetoothで接続したPCに特定のキーが押された際の信号を送るようにします。

 状態を示すインジケーターとして三洋半導体の「赤色LED 3mm SLP-9118C-51H」を使用します。しかし、mbed HRM1017はLEDを点灯できるほどの電流出力を持たないので、トランジスタ「C1815」で電流を増幅させます。

 入力に使うフットスイッチにはKORGの「PS-1」を採用しました。金属製でずっしり重く、耐久性が高いと判断しました。本当は分解して回路を内蔵したかったのですが、頑丈過ぎて諦めました。ですので、今回はケーブルを切断し、配線を基板にはんだ付けすることにしました。

●製作

実験

 いきなりユニバーサル基板に部品を取り付けてしまうと修正が難しいため、まずはブレッドボードで試作します。ブレッドボードは、はんだ付けが不要で、部品を抜き差しして回路の作成や修正が容易な、試作に適した基板です。

 今回用いるmbedはその開発の容易さから、さまざまな人がライブラリを開発、公開しています。その中にBLEでPCと接続し、キーボードとして通信するためのライブラリがあったので、これが動くか試験しました。

 まずブレッドボードにスイッチ回路を作り、mbed HRM1017とつないでスイッチを押した際に、キーボードの特定のキーコードが送れるかを試しました。ボード左側中央にある黒いものがスイッチ、スイッチの上にあるのがコンデンサー、下にあるのが抵抗器です。コンデンサーと抵抗器はチャタリング(スイッチなどの接点が接続状態になる時に発生する、不安定な信号や動作)を防ぐために必要な部品です。この回路でWindows機との通信は成功したので、次の段階に進みます。

設計

 続いて、試作で動いた回路をユニバーサル基板に落とし込んでいきます。最近だとCADで設計して、プリント基板を発注しても3000円程度で作れてしまうのですが、発注から納品まで1週間程度かかるので、今回はユニバーサル基板での設計としました。

 ユニバーサル基板には部品の取り付け穴が一定間隔で並んでいて、そこに部品を差し込み、はんだ付けをしていきます。なるべく配線が交差しないような部品の配置と配線を考えなければなりません。この作業はパズルに似ています。下の写真のように設計図をざっくり書いたのですが、結局部品を置くときに間違えてしまったので、実物では違う配線になってしまいました……。

組み立て

 実際に部品を差し込んではんだ付けをしていきます。はんだ付けで固定をしたら、基板をケースに組み込みます。ケースへの基板の固定にはグルーガンを使いました。

●完成

 そして完成したものがこちらになります。


なぜESCキーなのか?
 鈴木氏にもお願いした時に理由を聞かれたが、「なぜESCキーなのか」というのは疑問に思うところだろう。その答えは私が編集に使っているエディタにある。そう、「Vim」である。Vimと聞いてピンと来ない方もいると思うので、どのようなエディタか説明しよう。Vimの一番の特徴はキーボード上で操作が完結するということだ。起動直後はノーマルモードという、キーボード上でカーソルを操作するモードになる。例えば、Windows標準の「メモ帳」では矢印キーで操作することになるが、Vimではh,j,k,lで左、下、上、右、0で文頭、$で文末などホームポジションからさまざまなカーソル操作ができる。そして文の入力や修正をする際には、iやaなどを押して挿入モードに入るのだが、ここからノーマルモードに戻る際にESCキーを押す必要があるのだ。

 つまり、Vimで記事を編集すると、入力したい位置にカーソルを移動する→文を入力する→ESCキーを押す→入力したい位置に……と何度もESCキーを押さなければならない。そしてESCキーはキーボードを見れば分かる通り、遠い。私がVimを使い始めた理由は「ホームポジションから手を動かしたくない」という面倒くさがりな性分故なのだが、「ESCキーを押すには手を動かさなくてはいけない! 代替手段としてCtrl+cでもいけるけれど、それはそれで面倒くさい! そうだ、足で入力しよう!」という思いつきが今回の発端というわけだ。

●実際に使ってみて

 実は、今この記事も無線フットスイッチを使いながら執筆している。ノーマルモードに戻りたい時にフットスイッチを踏むと、ESCが入力されノーマルモードに戻ることができる。入力遅延は全く感じないし、常用レベルだと言っていい。ただ、足で踏んでみると思ったよりスイッチが軽いため、足は基本的にかかとで支えることになる。まあ、これは慣れの問題であるし、一般的なUSBフットスイッチでも同様だ。あとは回路がフットスイッチ内に内蔵されたら間違いなく外でも使える。というか一般販売できるレベル。

 無線フットスイッチが欲しいと思ったら、この記事を参考にしていただけると幸いだ。

最終更新:7月8日(金)6時10分

ITmedia PC USER