![見出し画像](https://assets.st-note.com/production/uploads/images/32936691/rectangle_large_type_2_635c2c4144e3df6269a7068fd0cda4ab.jpeg?width=1200)
Python×Joy-conでパワポのスライド操作を出来るようにした話
概要
タイトルに記載されている通り、Switchのコントローラを使ってパワーポイントの操作が出来るようなシステムをPythonで開発しました。
開発したシステムの中身や制作/動作時に思ったことについて、記事にまとめました。
システム構成
システムはJoy-conのセンサ値を読み込んでパワポを操作するソフト1つで構成されていて、Pythonで作っています。
具体的にPythonでは、Bluetooth接続したJoy-conをHIDデバイスとして認識し、各ボタンやスティックのステータスを受け取っています。その後、受け取った情報をもとに、マウス操作(レーザーポインタの操作)やキーボードの操作(スライドの操作)を行っています。
開発時に発生した問題点・その改善方法
・マウス操作時の遅延
Joy-conとPython間の通信回数や通信バッファ量を減らすことで遅延が改善されリアルタイム性が向上した。
操作方法
・Aボタン -> 次のスライド
・Yボタン -> 前のスライド
・Bボタン -> マウスのクリック/ダブルクリック
・Xボタン -> マウスの右クリック
・Rボタン -> マウスカーソルの表示/非表示
・ZRボタン -> レーザーポインタのON/OFF
・スティック -> レーザーポインタの移動/マウスの移動
実際に制作して、動かして思ったこと
Joy-conを使ったパワポ操作の使い心地について、市販のレーザーポインタとだいたい同じような気がしました。操作時の遅延は無く、ページの切り替えやレーザーポインタの操作もスムーズにできました。
マウス操作としては、移動量が一定なので大まかな動作は簡単にできますが、細かい動作は苦手なように感じました。ただ、スティックの倒し具合によって移動量を変えるなどの改善をして、細かい動作と大まかな動作の両方が出来るようになれば、操作しやすくなると思います。
コントローラを持ちながら身振り手振りの動作をしてもレーザーポインタの場所やマウスカーソルの位置が変わらないので、同じ場所や近い場所を指したい時には、市販のレーザーポインタやマウスより扱いやすいと感じました。
机に向かって勉強するより、実際に作って動かす方が内容の理解度が深まるのでこれからも自主制作活動を頑張っていきます。
さいごに...つくるのはたのしい
よろしければサポートお願いします。頂いたサポートは全額制作活動費(機材購入、イベント出展、エナドリ代)に活用させて頂きます。 制作活動の継続/生きる希望になりますので、よろしくお願いします。