「布団から手を出さずに読書アプリのページをめくるやつ」を作るまでの流れ
ある日「アプリで本を読んでいる時に、指で画面をタップせずにページをめくりたい」と思い、それっぽい物を作ってみました。
1 button keyboard for book-reading app #M5stickC
— もやしパン(猫がいます) (@Moyashipan) 2020年1月18日
「布団から手出さずに読書アプリのページめくるやつ」を作りました。
・正面ボタンを押すと次ページ、長押しで前ページ
・側面ボタンを押すとモード選択(KindleアプリとAppleブックアプリでめくるキーが違うのに対応) pic.twitter.com/w7apSe9wTb
最終的には、このM5StickCだけで済んだのですが、
2019 M5StickC ESP32 PICOミニIoT開発ボードフィンガーコンピューターカラーLCD付き (1セット)
- 出版社/メーカー: M5Stack
- メディア:
本記事では、それを作るに至るまでの調査や試行錯誤の流れを紹介します。
そんな製品・やり方もあるんだなぁという知見をお伝えできれば幸いです。
(作り方は別記事で紹介する予定なので、そちらをお待ちください。)
かなえたいこと
- 無線: ゴチャゴチャしないように無線だと嬉しい
- サイズ: ジャマにならないサイズだと嬉しい
- ブラインド操作: 手元を見なくても操作できるようにしたい
- カスタマイズ性: アプリごとにキーが違うなどに対応したい
- 値段: できるだけ安く
案
ゲームコントローラー
Windowsでは JoyToKey などでゲームコントローラーからの入力をキー入力に変換するソフトウェアがありますよね。
そのノリで「もしかしてコントローラーがそのままアプリで使えるのでは」と思い、日頃使っているPS4のDUALSHOCK 4をiPadに接続してみたのですが、残念ながら読書アプリのページめくりには対応していませんでした。
Bluetooth接続のキーボード
「読書アプリはキー入力でページめくりができる」というのに気づいたきっかけがBluetooth接続のキーボードでした。
ロジクール ワイヤレスキーボード 無線 キーボード 薄型 小型 K380BK Bluetooth K380 ワイヤレス マルチOS: Windows Mac iOS Android Chrome
- 発売日: 2015/11/05
- メディア: Personal Computers
無線で使えるし、物によっては3000円ぐらいで手頃なのはいいのですが、サイズ・ブラインド操作・カスタマイズ性の面で見送りました。
具体的には上下左右キーなどで操作できるのがわかったのですが、布団の中でそれらのキーを狙って押すのもなかなか大変ですし、そもそも布団の中にキーボードがあるのはちょっと困ります。
とはいえ、ページめくり以外のこと(日常のタイピング操作)にも使いたい場合には良い選択肢だと思います。
Bluetooth接続のテンキー
次に、サイズとブラインド操作を考慮して、フルサイズのキーボードではなくテンキーを検討してみました。
電気屋の店員さんに相談して、以下の製品の実機をiPhoneに接続して試させてもらいました。
エレコム テンキー Bluetooth パンタグラフ 薄型 ブラック TK-TBP020BK
- 発売日: 2018/07/30
- メディア: Personal Computers
すると、iOSでは数字キーとしては正しく使えるものの、NumLockをOFFにした際の上下左右キーは機能しませんでした。(Androidならうまく使える可能性はあります)
よって、これも見送りました。
Bluetooth接続のフットペダル
"Bluetooth ページめくり"などで検索していたら以下の製品が見つかりました。
IK Multimedia iRig BlueTurn モバイルBluetoothフット・ペダル【国内正規品】
- メディア: エレクトロニクス
こんな製品があるんですね。
頑丈そうなボディ、暗くてもわかりやすいLED、省電力化などを考えなくていい、といった点で選ぶのであればこれが良さそうです。
しかしズボラな読書体験のために8000円以上出すのはちょっと気が引けたのでこれも見送りました。
とはいえ「Page Up / Down」「矢印キー上下」「矢印キー左右」という3つのモードを切り替えられるというのが、その後の制作の良いヒントになりました。
iOSのヘッドトラッキング
iOSの「設定 > アクセシビリティ > スイッチコントロール」には「ヘッドトラッキング」という機能があります。
これを利用することで、iPhone, iPadのカメラに対して右へ顔を向けたら右へスワイプ、左へ向けたら左へスワイプ、といったことができるようになります。
ただこれはiPadと自分とのポジションがある程度固定されてしまいます。
自分の場合は、より自由な状態で読書を行いたかったのでこの方法も見送りました。
iOSの音声コントロール
iOSの「設定 > アクセシビリティ」には「音声コントロール」という機能もあります。
自分の場合はこの設定をONにしようとしてもなぜか「必要なファイルをダウンロードできませんでした。音声コントロールをオンにしてやり直してください。」と表示されてしまって困っていたのですが、日を変えて試したらONにできました。
試している様子は以下の動画から見れます。 https://twitter.com/Moyashipan/status/1218439387907641344
「Swipe right」「Swipe left」で左右それぞれにスワイプできたり「Go to home」「Open "Kindle"」などの操作ができて便利です。
ただし自分の場合は「Swipe left」の「left」がうまく聞き取ってもらえず、何度も言い直す必要があって困りました。
そこで「新規コマンドを作成」から「"Next page"と発話したら画面右をタップ」「"Previous page"と発話したら画面左をタップ」というコマンドを追加しました。
これであればうまく聞き取ってもらえるので、なかなか便利になりました。
いくつかのキーを組み合わせられるキーボード
音声コントロールが良いのは、iPad以外のデバイスがいらないという点でしょう。
ですが、1ページめくるために毎回声を出すというのは地味に面倒です。
そこで前述の「Bluetooth接続のキーボード」から「Bluetooth接続のフットペダル」までの発想に立ち返り「結局、上下なり左右のキーだけが押せるデバイス」を探してみました。
するとこんなのを見つけました。
自分の好きなキーを好きな配置にカスタマイズできるキーボードです。
www.kickstarter.com
残念ながら製作の折り合いがつかずプロジェクトはキャンセルになったようですが、こういうのを自分で作れると楽しそう&ドンピシャな物を得られて良さそうですね。
M5StickC
ESP32というマイコンはBluetooth Low Energyが利用できます。
そしてM5StickCにはそのESP32が積まれており、2つのボタンと小さな液晶パネルもついています。
これらの特徴を活かせば、複数のアプリにも対応できるワンボタンのキーボードが作れそうです。
バッテリーがどれだけ持続するかなどは不安材料としてありましたが、2000円ほどで買えてコーディング以外の作業がいらないという手軽さから、M5StickCを使って作ることにしました。
2019 M5StickC ESP32 PICOミニIoT開発ボードフィンガーコンピューターカラーLCD付き (1セット)
- 出版社/メーカー: M5Stack
- メディア:
いくつかの製品を組み合わせた自作キーボード
もしかしたらもっと良いアイディアがあるかもしれないと重い、これまでの流れを会社の同僚に説明したところ、以下の製品を紹介してくれました。
HelixとBLE Micro Proを使ったBLE Froggy完成。
— れいてんし (@raytency) 2019年6月2日
USBに刺せば充電出来ます。
あとQi(無線給電)でも充電可。 pic.twitter.com/12jyb7kwL2
無接点充電ができてカスタマイズ可能なBluetooth接続のキーボード。かっこいいですね。
バッテリーや充電について改善したい気持ちが出てきたらこういった制作にチャレンジしてみても良さそうです。
ワンボタンキーボード
他にもこのような製品を紹介されました。
まさにひとつのキーです。
www.one-button-key.com
ミニマルなコンセプト。実際に販売している。そういった、みんなに広まる電子工作っていいですね。
方法としては選択しませんでしたが、これらを見たことで、今は赤ちゃんレベルの電子工作しかできないけど今後はこういうのやりたいなーと、目標のような物を持てた気がします。
まとめ
いろいろな案を紹介しましたが、今回の自分のニーズにはM5StickCが最も合ってそうだったのでそちらを選択しました。
とはいえ「布団から手を出さずに読書アプリのページをめくる」というのを実現するためにも、いろいろな案が浮かんで来るし、それを叶えられそうないろんな製品が見つかるというのが伝わったでしょうか。
もし今回僕が叶えたかったことと完全には一致しなくても、ここで紹介した内容のどれかがみなさんのヒントになれば幸いです。