CircuitPython

cuskeyサンプルプログラム一覧

cuskey_settings.py を共通利用する CircuitPython サンプル集。会議操作、PIN入力、PTT、動画操作などを1ボタンで実装できます。

cuskeyサンプルプログラム一覧

examples/ プログラム一覧

cuskey_settings.py で管理するハードウェア設定を共通で利用する CircuitPython サンプル集です。すべてのスクリプトはボタン1個 + モードスイッチ1個の構成を前提としています。


1. auto_keysend.py

自動矢印キー送信

auto_keysendの画面

漫画のながら読みにぴったり。ボタンを短押しすることで自動送信の ON/OFF をトグルし、設定した秒数間隔で矢印キーを自動送信します。長押し中は手動で連続送信が可能で、プレゼンのスライド送りや定期的なキー入力の自動化に使用します。

操作Mode AMode B
自動送信左矢印キーを SEND_INTERVAL 秒ごとに送信右矢印キーを SEND_INTERVAL 秒ごとに送信
短押し自動送信を有効 / 無効トグル同左
長押し押している間、左矢印を連続送信押している間、右矢印を連続送信

主要定数: SEND_INTERVAL(秒)、LONG_PRESS_TIMEMANUAL_SEND_INTERVAL


2. meeting_controller.py

リモート会議用コントローラー

meeting_controllerの画面

Zoom・Teams・Google Meet などのオンライン会議でよく使う「マイクミュート切り替え」と「音量調整」をボタン1個で操作できます。短押しでミュートトグル、長押しでモードに応じた音量変更を行います。

操作Mode AMode B
短押しマイクミュート切り替え(MIC_MUTE同左
長押し音量アップを連続送信音量ダウンを連続送信

主要定数: LONG_PRESS_TIME(0.3秒)、VOLUME_INTERVAL(0.1秒)


3. pin_sender.py

PINコード自動入力キーボード

pin_senderの画面

ボタンを押すだけで、あらかじめ設定した数字列(PINコード)を自動でタイプします。Mode A / B に2種類の PIN を登録でき、ロック解除画面への入力補助などに使用します。

PIN は平文保存のため、銀行等の重要情報への使用は非推奨です。

操作Mode AMode B
短押しPIN_MODE_A の数字列を送信PIN_MODE_B の数字列を送信

主要定数: PIN_MODE_APIN_MODE_BDIGIT_INTERVALPRE_SEND_ESCAPEPOST_SEND_ENTER


4. ptt_key.py

Push-To-Talk(PTT)キーボード

ptt_keyの画面

Whisper Flow・Discord・Zoom などの PTT(押している間だけマイク ON)操作と、PDFビューアやブラウザのページスクロールをモードで切り替えて使うコントローラーです。ダブルクリック検出により、1つのボタンで3種類のアクションを割り当てられます。

操作Mode AMode B
短押し(タイムアウト後確定)Enterキー送信Page Down送信
長押しPTT_KEYS のキーを押し続ける(離すとリリース)マウスホイールダウンを連続送信
ダブルクリックESCキー送信Page Up送信

主要定数: PTT_KEYS(最大3キー同時押し)、DOUBLE_CLICK_TIMELONG_PRESS_TIMEWHEEL_SCROLL_INTERVAL


5. random_mouse.py

ランダムマウス移動コントローラー

random_mouseの画面

ボタンを押すたびにマウスのランダム移動を開始 / 停止します。スクリーンセーバーや画面ロックの防止、PCのアイドル状態を回避するために使用します。Modeでランダム移動の幅を大小切り替えられます。

操作Mode AMode B
短押しランダム移動を開始(±30px)ランダム移動を開始(±10px)
もう一度短押し停止停止
動作中のモード切替移動範囲が即座に変わる同左

主要定数: MOVE_RANGE(30px)、MOVE_RANGE_B(10px)、MOVE_INTERVAL_MIN / MOVE_INTERVAL_MAX


6. youtube_controller.py

メディアプレイヤーコントローラー

youtube_controllerの画面

YouTubeなどの動画プレイヤーを手元のボタンで操作するためのコントローラーです。短押しで再生・一時停止、長押しで巻き戻し / ページスクロールを操作できます。Keyboard・ConsumerControl・Mouse をすべて組み合わせたリファレンス実装です。

操作Mode AMode B
短押しPLAY_PAUSE 送信マウスホイール下(スクロール)
長押し左矢印キー x 2(5秒巻き戻し)PLAY_PAUSE 送信

主要定数: LONG_PRESS_THRESHOLDcuskey_settings.py で管理)


HID機能の使用一覧

スクリプトKeyboardConsumerControlMouse
auto_keysend.py--
meeting_controller.py--
pin_sender.py--
ptt_key.py-
random_mouse.py--
youtube_controller.py

次のステップ