ゆるく楽しむプログラミング

RaspberryPi Picoで作るマウスジグラー ~CurcuitPython版~

マウスジグラーとは、定期的にマウスをチョットだけ動かして、パソコンがスリープやロック状態になるのを防ぐツールです。
※普通(?)は仕事に使うパソコンのスリープやロックは会社指定のセキュリティツールで設定されていて変更できません。
※私の勤務先では変更するとセキュリティー監視に引っ掛かり、会社のネットワークから(切断ではなく)遮断されます。

テレワークのお供に人気(?)ですが、Amazonでマウスジグラーを探すと
▼ こんなランナップ
えっ!? マウスをチョット動かすだけの機能に3千円って高くない!?
と言う訳で RaspberryPi Pico でマウスジグラーを作ってみました。

CircuitPythonにHDIライブラリをインストール

HDI(RaspberryPi Picoをマウス・キーボードとして認識させる)ライブラリが揃っているのでCircuitPythonを使います。

adafruit/Adafruit_CircuitPython_HID: USB Human Interface Device drivers. の右上「Code」「Download ZIP」をクリック
Adafruit_CircuitPython_HID-master.zip をダウンロードしてください。

ダウンロードしたファイルを展開して、ZIPファイルの中の adafruit_hid フォルダを RaspberryPi Picoの libフォルダにコピーします。

 

マウスジグラーを作る

Adafruit_CircuitPython_HID-master.zip に一緒に入っているexamples/hid_simpletest.py を参考にします。
単純なコードなので容易に必要か所を抜き出すことができます。
動きが全くないと不安なのでLチカと合体しました。
動作確認時には、間隔を短く、移動幅を大きくすると分かりやすいです。

完成状態ではマウスカーソルを2分ごとに2ドット左右に動かします。
グラフィックデザインとかCADオペレーターとか微妙な操作を要する作業でなければ、たまにマウスカーソルが2ドットくらい動いても気づきません。

-- code.py --

import digitalio
import usb_hid
from adafruit_hid.mouse import Mouse
from board import *
import time

mouse = Mouse(usb_hid.devices)
led = digitalio.DigitalInOut(GP25)
led.direction = digitalio.Direction.OUTPUT

ledmode = True

while True:
    for i in range(1,120):
        led.value = ledmode
        ledmode = not ledmode
        time.sleep(1)
    mouse.move(2, 0, 0)
    time.sleep(1)
    mouse.move(-2, 0, 0)

 プログラムは RaspberryPi Picoに code.py のファイル名で保存します。
 CircuitPythonでは電源ONで code.py が自動実行されます。

 

フリスクのケースならピッタリなのですが
旧タイプのフリスクを売ってる所が少なくて入手困難&高い(200円)ので
ミンティア・ブリーズのケースに入れてみました。
サイズ的には普通のミンティにも入りますが
厚みがギリギリで押さえつけられてる感じかしたので
余裕のあるミンティア・ブリーズのケースにしました。



解説動画