资源简介
arduino自带的鼠标库有坐标限制,坐标单位无法对应屏幕像素,把此库放在arduino库中即可使用,使用方法基本相同,初始化时输入屏幕的分辨率。如果出现找不到HID.h等提示,请下载最新版的arduino。

代码片段和文件信息
#include “AbsMouse.h“
#if defined(_USING_HID)
static const uint8_t HID_REPORT_DEscriptOR[] PROGMEM = {
0x05 0x01 // Usage Page (Generic Desktop Ctrls)
0x09 0x02 // Usage (Mouse)
0xA1 0x01 // Collection (Application)
0x09 0x01 // Usage (Pointer)
0xA1 0x00 // Collection (Physical)
0x85 0x01 // Report ID (1)
0x05 0x09 // Usage Page (Button)
0x19 0x01 // Usage Minimum (0x01)
0x29 0x03 // Usage Maximum (0x03)
0x15 0x00 // Logical Minimum (0)
0x25 0x01 // Logical Maximum (1)
0x95 0x03 // Report Count (3)
0x75 0x01 // Report Size (1)
0x81 0x02 // Input (DataVarAbsNo WrapLinearPreferred StateNo Null Position)
0x95 0x01 // Report Count (1)
0x75 0x05 // Report Size (5)
0x81 0x03 // Input (ConstVarAbsNo WrapLinearPreferred StateNo Null Position)
0x05 0x01 // Usage Page (Generic Desktop Ctrls)
0x09 0x30 // Usage (X)
0x09 0x31 // Usage (Y)
0x16 0x00 0x00 // Logical Minimum (0)
0x26 0xFF 0x7F // Logical Maximum (32767)
0x36 0x00 0x00 // Physical Minimum (0)
0x46 0xFF 0x7F // Physical Maximum (32767)
0x75 0x10 // Report Size (16)
0x95 0x02 // Report Count (2)
0x81 0x02 // Input (DataVarAbsNo WrapLinearPreferred StateNo Null Position)
0xC0 // End Collection
0xC0 // End Collection
};
AbsMouse_::AbsMouse_(void) : _buttons(0) _x(0) _y(0)
{
static HIDSubDescriptor descriptorNode(HID_REPORT_DEscriptOR sizeof(HID_REPORT_DEscriptOR));
HID().AppendDescriptor(&descriptorNode);
}
void AbsMouse_::init(uint16_t width uint16_t height bool autoReport)
{
_width = width;
_height = height;
_autoReport = autoReport;
}
void AbsMouse_::report(void)
{
uint8_t buffer[5];
buffer[0] = _buttons;
buffer[1] = _x & 0xFF;
buffer[2] = (_x >> 8) & 0xFF;
buffer[3] = _y & 0xFF;
buffer[4] = (_y >> 8) & 0xFF;
HID().SendReport(1 buffer 5);
}
void AbsMouse_::move(uint16_t x uint16_t y)
{
_x = (uint16_t) ((32767l * ((uint32_t) x)) / _width);
_y = (uint16_t) ((32767l * ((uint32_t) y)) / _height);
if (_autoReport) {
report();
}
}
void AbsMouse_::press(uint8_t button)
{
_buttons |= button;
if (_autoReport) {
report();
}
}
void AbsMouse_::release(uint8_t button)
{
_buttons &= ~button;
if (_autoReport) {
report();
}
}
AbsMouse_ AbsMouse;
#endif
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-09 14:59 AbsMouse\
目录 0 2017-11-24 05:48 AbsMouse\absmouse-master\
文件 207 2017-11-24 05:48 AbsMouse\absmouse-master\keywords.txt
文件 363 2017-11-24 05:48 AbsMouse\absmouse-master\library.properties
文件 763 2017-11-24 05:48 AbsMouse\absmouse-master\LICENSE
文件 343 2017-11-24 05:48 AbsMouse\absmouse-master\README.md
目录 0 2017-11-24 05:48 AbsMouse\absmouse-master\src\
文件 2566 2017-11-24 05:48 AbsMouse\absmouse-master\src\AbsMouse.cpp
文件 654 2017-11-24 05:48 AbsMouse\absmouse-master\src\AbsMouse.h
目录 0 2018-02-09 14:59 AbsMouse\AbsMouseDemo\
文件 235 2018-02-09 14:58 AbsMouse\AbsMouseDemo\AbsMouseDemo.ino
- 上一篇:如何用wordpress 做CMS 系统
- 下一篇:STM32 hx711电子称程序
相关资源
- usb hid调试工具
- HID调试助手
- USB.Over.Network.Server 注册机
- WPF USB 网络 串口 通信软件
- USB转串口驱动,FT232R驱动程序,最新
- WinCE下CP210x的驱动程序
- hidusage.h hidpi.h 等USB开发用头文件
- ADNS-3080光流传感器测试程序Arduino
- 基于JM20329的SATA转USB 1394
- 430系列单片机USBFET下载驱动
- CY7C68013A固件程序(用于摄像机采集)
- usb调试程序 对USB设备进行数据的读写
- USB 驱动 让电脑与arm进行通信
- USB助手(调试USB通信协议的工具) 源
- 基于FPGA的USB接口设计
- 枚举USB设备接口(C 源代码)
- 多普达USB Modem驱动(适用于818、828、
- SN9C291B datasheet
- 希捷公布USB外部硬盘解决方案
- EESkill NRF24L01 无线模块用户手册
- USB调试模式一键设置
- USB网卡驱动 USB2.0 TO Fast Ethernet Adapte
- USB转串口(RS232/RS485/RS422)驱动程序文
- USB Type-C SPEC
- H310.B360.H370.Z390.USB WIN7 64位第三方驱动
- 300系列WIN7 USB驱动.7z
- 华硕P8H61/USB3 R2.0主板BIOS驱动 免费版
- RTL8188EVT USB WIFI无线网卡驱动 免费版
- RTL8188 USB无线网卡模块完整方案
- USB PCB布局布线要点及注意事项
评论
共有 条评论