pikvm について
pikvmは、PiKVM APIで画面確認、キーボード・マウス操作、ATX電源制御を行うためのスキルガイドです。接続機器をリモート管理するワークフローに利用できます。
主な機能
- 01画面スナップショットの取得
- 02テキスト入力とキーの組み合わせ
- 03マウスの移動・クリック・スクロール
- 04デバイスとATX状態の確認
- 05デバイス電源の制御
活用シーン
- 01接続機器の画面をリモートで確認
- 02キーボードとマウスの操作
- 03デバイス情報と電源状態の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ okou-ai/ okou-skills --skill pikvmインストール後、Claude Code で/pikvmを入力して読み込まれたか確認します。
詳細
座標系
マウス座標は、画面の中心を原点(0,0)として使用します:
- X が負の場合=左、X が正の場合=右
- Y が負の場合=上、Y が正の場合=下
1920x1080 の画面の場合:
- 左上:
(-960, -540) - 中央:
(0, 0) - 右下:
(960, 540)
使用方法
スクリーンショットを撮る
curl -k -s -o /tmp/screenshot.jpg -u "$PIKVM_AUTH" "$PIKVM_URL/api/streamer/snapshot"
テキストを入力する
テキストは Content-Type: text/plain を指定し、リクエスト本文にそのまま送信する必要があります:
curl -k -s -X POST \
-H "Content-Type: text/plain" \
-u "$PIKVM_AUTH" \
-d "Hello World" \
"$PIKVM_URL/api/hid/print?limit=0"
マウスを移動する
絶対位置に移動します(0,0 = 画面の中心):
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/hid/events/send_mouse_move?to_x=-500&to_y=-300"
マウスをクリックする
# Press
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/hid/events/send_mouse_button?button=left&state=true"
# Release
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/hid/events/send_mouse_button?button=left&state=false"
キーを押す
state=true の後に state=false を指定して、キーを押してから離します:
# Press Enter
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/hid/events/send_key?key=Enter&state=true"
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/hid/events/send_key?key=Enter&state=false"
キーの組み合わせ(例:Spotlight を開く Cmd+Space)
キーを順番にすべて押してから、逆順に離します:
# Press Cmd
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/hid/events/send_key?key=MetaLeft&state=true"
# Press Space
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/hid/events/send_key?key=Space&state=true"
# Release Space
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/hid/events/send_key?key=Space&state=false"
# Release Cmd
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/hid/events/send_key?key=MetaLeft&state=false"
マウスをスクロールする
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/hid/events/send_mouse_wheel?delta_x=0&delta_y=-50"
デバイス情報を取得する
curl -k -s \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/info" | jq .
ATX 電源を制御する
# Power on
curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"$PIKVM_URL/api/atx/power?action=on"
# Power off
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/atx/power?action=off"
# Hard reset
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/atx/power?action=reset_hard"
一般的なキー名
MetaLeft (Cmd), ControlLeft, AltLeft, ShiftLeft
Enter, Space, Escape, Tab, Backspace, Delete
ArrowUp, ArrowDown, ArrowLeft, ArrowRight
KeyA-KeyZ, Digit0-Digit9, F1-F12
PageUp, PageDown, Home, End
Equal (+), Minus (-)
API エンドポイントのリファレンス
| エンドポイント | メソッド | 説明 |
|---|---|---|
/api/streamer/snapshot | GET | スクリーンショット(JPEG) |
/api/hid/print | POST | テキストを入力(本文:テキストそのまま) |
/api/hid/events/send_mouse_move | POST | マウスを移動(to_x、to_y) |
/api/hid/events/send_mouse_button | POST | クリック(button、state) |
/api/hid/events/send_mouse_wheel | POST | スクロール(delta_x、delta_y) |
/api/hid/events/send_key | POST | キーを押す(key、state) |
/api/atx/power | POST | 電源を制御(action) |
/api/info | GET | デバイス情報 |
/api/atx | GET | ATX のステータス |
API リファレンス
- 公式ドキュメント:https://docs.pikvm.org/api/
コメント
Markdown 対応