« ラズパイ5の電源SWと周辺AV機器のリモコン+webアプリ【2025/02/11追記】 | トップページ | MacBook Air(Mid 2017, Intel i5)故障、MacBook Air(2022, M2)への乗り換え【2025/03/13追記】 »

2025/02/19

簡単な動画再生補助デバイス(ラズパイ5・Firefox用)

Raspberry Pi 5(ラズパイ5)の電源SW制御がうまくいったのに気をよくしてコントロールボックスとwebアプリを作ってFirefoxで各種のラグビー配信動画を楽しんでいます。ほとんどの操作は無線マウスで済むのですが、動画を少し飛ばしたりリプレイしたりしたいときに、マウスでシークバーをいじるのが少し面倒に感じます。我ながらズボラだと思いますが、ラグビーの場合フルゲームでは2時間ほどありますから、精度良くクリックするのが少々難しいのです。

さて、ほとんどの動画サイトでは短いスキップが左右の矢印キーに割り当てられています:  
サイト左矢印右矢印備考
RugbyPass TV-5秒+5秒Jで-10秒、Lで+10秒
TOP14-10秒+10秒
HANAZONO LIVE--スキップなし
J SPORTSオンデマンド-30秒+30秒
ただ、これだけのためにキーボードを持ち出すのも面倒(またズボラな…)。というわけで、ちょっとスキップするだけのHIDデバイスを作ろうと思い立ちました(作るのは全然面倒だと思わない)。

イチから作ることも考えたのですが、ちょうど手元に使わなくなったページめくり機があるので、とりあえずこれのキーアサインとラベルを差し換えるだけで様子を見ようということで、作ったのがこちらです:
01rpi_movie_ctl
左が元のもの、右が今回手直ししたものです。ちなみに、ページめくり機として現役なのはSeeed Studio XIAO nRF52840 Senseを使ったものです。

コーディングは
「戻る(KEY_MEDIA_VOLUME_DOWN)」だったキーを「右矢印(KEY_RIGHT_ARROW)」に、
「送る(KEY_MEDIA_VOLUME_UP)」だったキーを「左矢印(KEY_LEFT_ARROW)」に、
「本棚へ(KEY_MEDIA_WWW_BACK)」だったキーを「ESC(KEY_ESC)」に、
それぞれ置換しました(ESCはフルスクリーンを解除するキー)。これだけだと少し芸が無いので、もうひとつマウスで面倒に思っていたFirefox起動をマクロにしてESC長押しに割り当ててみました。具体的には
🍓>下矢印>下矢印>右矢印>下矢印>リターン
↑berry mark
という手順です。私のラズパイ5ではメニューバーが上・ブラウザが2番目・Firefoxが2番目になっているので、このような手順になっています。なお、間にdelay()を適当に入れています。

ところで、これをArduino IDEでコンパイルして転送しようとしたところ、次のエラーが出てできませんでした:
error: 'adc_gpio_init' was not declared in this scope
このエラーで検索すると、Espressifのボードライブラリが2.0.3に更新されたときに出るようになったらしく、2.0.2に戻せば動くということで、その通りの対応で動くようになりました(現時点の最新は3.1.1)。どうやら今ではadc_gpio_init()自体が要らないようなのですが、その辺りの詳細は詰めていません。
コードはGitHubのページめくり機と同じリポジトリに「rpi_movie_ctl.ino」という名前で置いておきました。

もうここまできたら専用マウスを自分で作った方がいいのでは、という気もしていますが、以前にマウスのようなデバイスを作ってみたときにフィーリング通り動かすのがとても難しかったので、いまのところはペンディング。そのうちに、アイデアが湧いたら作ってみたいモノのひとつです。

以上、何かの参考になれば幸いです。

パドラッパ from MacBook Air (2017)

| |

« ラズパイ5の電源SWと周辺AV機器のリモコン+webアプリ【2025/02/11追記】 | トップページ | MacBook Air(Mid 2017, Intel i5)故障、MacBook Air(2022, M2)への乗り換え【2025/03/13追記】 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« ラズパイ5の電源SWと周辺AV機器のリモコン+webアプリ【2025/02/11追記】 | トップページ | MacBook Air(Mid 2017, Intel i5)故障、MacBook Air(2022, M2)への乗り換え【2025/03/13追記】 »