ATmega 32u4を使ってUSBデバイスをエミュレーションする、今回は一般的なマウスである相対位置を送信するバージョン。
マウスカーソルを移動させるにはmove関数を使う、引数はchar型なので渡せるのは-127~127の範囲。大きく移動させるには、moveを何度か繰り返して呼び出す。スケッチ例には入れていないが、3つ目のパラーメータはマウスホイールの移動量となっている。
クリックはclick関数で引数無指定で左クリック、MOUSE_LEFT、MOUSE_MIDDLE、MOUSE_RIGHTを引数で渡す事でクリックボタンを指定できる。
以下は32u4のスケッチ開始5秒後、右にゆっくりカーソル移動し右クリック後、左にゆっくりカーソル移動し左クリックするサンプル。
#include <HID-Project.h> //HID-Project by NicoHood
void setup() {
delay(5000);
Mouse.begin();
for (int i = 0; i < 250; i++) {
Mouse.move(1, 0);
delay(10);
}
Mouse.click(MOUSE_RIGHT);
for (int i = 0; i < 250; i++) {
Mouse.move(-1, 0);
delay(10);
}
Mouse.click(MOUSE_LEFT);
}
void loop() {
}