树莓派 pico adafruit_hid.mouse 库的核心命令

用树莓派pico模拟鼠标,实现了屏幕上滑,想用同样的逻辑实现点击,结果试了半天,按下与释放拼接的逻辑没有直接一个click命令效果来的准确。查了一下这个库提供的核心命令,记录如下。adafruit_hid.mouse 库的核心命令(方法)主要有以下几个,可以帮你实现鼠标移动、点击和滚动等功能:

主要命令

命令 (方法) 功能描述 代码示例
move() 移动鼠标光标滚动滚轮。可以同时指定 x, y 的移动量以及滚轮的滚动量。 mouse.move(x=10, y=-5)
mouse.move(wheel=1)
click() 点击一次鼠标按钮。它相当于先按下再释放一个按钮。 mouse.click(Mouse.LEFT_BUTTON)
press() 按住一个或多个鼠标按钮不松开。常用于组合操作,例如实现拖动效果。 mouse.press(Mouse.LEFT_BUTTON)
release() 释放一个或多个之前按住的鼠标按钮 mouse.release(Mouse.LEFT_BUTTON)
release_all() 释放所有被按住的鼠标按钮 mouse.release_all()

主要常量定义

关键常量 (按钮定义)
在使用 click()、press() 或 release() 时,你需要通过以下常量来指定具体是哪个鼠标按键:

  • Mouse.LEFT_BUTTON:鼠标左键
  • Mouse.RIGHT_BUTTON:鼠标右键
  • Mouse.MIDDLE_BUTTON:鼠标中键(按下滚轮)

简单示例

import usb_hid
from adafruit_hid.mouse import Mouse

# 初始化鼠标
mouse = Mouse(usb_hid.devices)

# 执行一次鼠标左键点击
mouse.click(Mouse.LEFT_BUTTON)

模拟鼠标点击

import usb_hid
from adafruit_hid.mouse import Mouse
import time
import random

mouse = Mouse(usb_hid.devices)
time.sleep(1)

while True:
    mouse.move(x=-1000, y=-1000)
    time.sleep(0.1)
    mouse.move(x=200, y=30)
    time.sleep(0.1)
    mouse.click(Mouse.LEFT_BUTTON)
    time.sleep(0.1)
    mouse.move(x=-1000, y=-1000)
    time.sleep(0.1)
    mouse.move(x=160, y=310)
    time.sleep(2.5)
    mouse.click(Mouse.LEFT_BUTTON)
    time.sleep(0.1)
    time.sleep(46)  

移动端玄学的分辨率

本身调试成功的程序,给手机充了会电重试的时候分辨率忽然又不一样了,原本在iphone xsmax上实测大约220全屏移动,重新充电后大约110,直接缩水一半。

import usb_hid
from adafruit_hid.mouse import Mouse
import time
import random


def reset_pos():
    mouse.move(x=-1000, y=0)
    time.sleep(0.05)
    mouse.move(x=40, y=0)
    time.sleep(0.05)
    mouse.move(x=0, y=-1000)
    time.sleep(0.05)
    mouse.move(x=0, y=40)
    time.sleep(0.05)

def move_to(x,y):
    reset_pos()
    mouse.move(x,y)
    time.sleep(1)

mouse = Mouse(usb_hid.devices)
time.sleep(1)

while True:
    move_to(72,-8)
    mouse.click(Mouse.LEFT_BUTTON)
    time.sleep(0.5)
    move_to(30,95)
    time.sleep(0.5)
    mouse.click(Mouse.LEFT_BUTTON)
    time.sleep(46)

标签: pico

移动端可扫我直达哦~

推荐阅读

thumbnail 2026-03-12

pico 安装 CircuitPython 之后的复原与修复

用树莓派 pico板成功模拟了ios系统的有线鼠标, 实测在安卓系统中也同样适用,但多次插拔后,某次安卓手机把它当成了可移动磁盘。重新连上电脑想进入 CIRCUITPY 盘时,电脑只识别出来一个可移动磁盘,内部的程序都不见了,尝试将其...

少儿编程 pico

thumbnail 2026-03-11

利用树莓派pico模拟ios的hid鼠标

关于CircuitPythonCircuitPython 是一个对初学者非常友好的、开源的教学用编程语言,专门用于控制单片机(microcontrollers)——那些可以做成各种电子项目的小型计算机。它最大的特点就是让代码与现实世界...

少儿编程 pico

thumbnail 2026-03-03

简单介绍一下树莓派 pico

树莓派 Pico 是树莓派基金会推出的一系列微控制器开发板。它和我们通常所说的能跑系统的“树莓派电脑”不同,更专注于与传感器、电机等硬件“打交道”,非常适合用于嵌入式开发、物联网、教育和创意项目。Pico 系列核心成员对比树莓派 Pi...

少儿编程 pico