日々の記録

ほどよく書いてきます。

メモ マウス、キーボードなりすましマシン

2025-02-04 08:57:21 | その他雑記

Arduino IDEでRP2040Zeroに書き込んでキーボードマウスになりすます。
マウスポインタを原点に持っていく方法がないので、移動を繰り返して原点っぽいところまで持っていく作戦。

 

 

#include
#include
#include

#define LED_PIN 16
Adafruit_NeoPixel pixels(1, LED_PIN);

int responseDelay = 200;
int maxMove = 63;      // 1回の移動量の最大値
int movingStep = 5;

void setup() {
  Mouse.begin(); // Mouse mode start
  Keyboard.begin();
  pixels.begin();
  pixels.setPixelColor(0, 255, 0, 0);
  pixels.show(); 
  delay(1000);
  pixels.setPixelColor(0, 0, 255, 0);
  pixels.show();
  delay(1000);

}
void loop() {

  // 初期マウス移動ループ
  for (int i = 0; i < 300; i++) {
    pixels.setPixelColor(0, 0, 0, 255);
    pixels.show();
    Mouse.move(-10, -10, 0);
    delay(10); // 移動間隔調整
  }
  for (int i = 0; i < 10; i++) {
    Mouse.move(-1, -1, 0);
    pixels.setPixelColor(0, 0, 0, 64);
    pixels.show();
    delay(10); // 移動間隔調整
  }
 

      // 座標 1045, 962 をクリック
    moveWithLimit(1045, 962);
    Mouse.click();
    pixels.setPixelColor(0, 64, 0, 0);
    pixels.show();
    delay(responseDelay);

    // 下矢印キーを押す
    Keyboard.press(KEY_DOWN_ARROW);
    Keyboard.release(KEY_DOWN_ARROW);

    pixels.setPixelColor(0, 0, 64, 0);
    pixels.show();
    delay(responseDelay);

    // 座標 543, 833 をクリック
    moveWithLimit(543 - 1045, 833 - 962);// 相対移動
    Mouse.click();
    pixels.setPixelColor(0, 0, 0, 64);
    pixels.show();
    delay(responseDelay);

    // 下矢印キーを押す
    Keyboard.press(KEY_DOWN_ARROW);
    Keyboard.release(KEY_DOWN_ARROW);
    delay(responseDelay);

    // エンターキーを押す
    Keyboard.press(KEY_RETURN);
    Keyboard.release(KEY_RETURN);
    delay(responseDelay);

    pixels.setPixelColor(0, 64, 64, 64);
    pixels.show();  
}

// 移動量を制限する関数
void moveWithLimit(int dx, int dy) {
  while (abs(dx) > 0 || abs(dy) > 0) {
    int moveX = constrain(dx, -maxMove, maxMove);
    int moveY = constrain(dy, -maxMove, maxMove);
    Mouse.move(moveX, moveY, 0);
    dx -= moveX;
    dy -= moveY;
    
    delay(10); // 移動間隔調整
  }
}

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 生成AIの活用 | トップ | Ubuntuでrarファイルをzipフ... »

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

その他雑記」カテゴリの最新記事