
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() { }