使用BLE实现HID Touch Screen的例程网上很少
今天试了一下,在IOS下能连接,但无法操作
ANDROID下会有鼠标图标,功能和用手触摸一样
只实现了单点触摸
代码没怎么改动,使用BlueNRG-1_2 DK 2.5.0\Project\BLE_Examples\BLE_HID_Peripheral例程
烧好代码和手机连接后按下开发板上的PUSH1或PUSH2指针会从左上角向右下角移动
描述符来源于网络
- uint8_t reportDesc[] = {
- 0x05, 0x0d, // USAGE_PAGE (Digitizers)
- 0x09, 0x04, // USAGE (Touch Screen)
- 0xa1, 0x01, // COLLECTION (Application)
- 0x85, REPORT_ID, // REPORT_ID (4)
- 0x09, 0x20, // USAGE (Stylus)
- 0xa1, 0x00, // COLLECTION (Physical)
- 0x09, 0x42, // USAGE (Tip Switch)
- 0x09, 0x32, // USAGE (In Range)
- 0x15, 0x00, // LOGICAL_MINIMUM (0)
- 0x25, 0x01, // LOGICAL_MAXIMUM (1)
- 0x75, 0x01, // REPORT_SIZE (1)
- 0x95, 0x02, // REPORT_COUNT (2)
- 0x81, 0x02, // INPUT (Data,Var,Abs)
- 0x75, 0x01, // REPORT_SIZE (1)
- 0x95, 0x06, // REPORT_COUNT (6)
- 0x81, 0x01, // INPUT (Cnst,Ary,Abs)
- 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
- 0x46, 0x10, 0x27, // PHYSICAL_MAXIMUM (10000)
- 0x26, 0x10, 0x27, // LOGICAL_MAXIMUM (10000)
- 0x75, 0x10, // REPORT_SIZE (16)
- 0x95, 0x01, // REPORT_COUNT (1)
- 0x55, 0x0F, // UNIT_EXPONENT (-1)
- 0x65, 0x11, // UNIT (cm,SI Linear)
- 0x35, 0x00, // PHYSICAL_MINIMUM (0)
- 0x45, 0x00, // PHYSICAL_MAXIMUM (0)
- 0x09, 0x30, // USAGE (X)
- 0x81, 0x02, // INPUT (Data,Var,Abs)
- 0x09, 0x31, // USAGE (Y)
- 0x81, 0x02, // INPUT (Data,Var,Abs)
- 0xc0, // END_COLLECTION
- 0xc0, // END_COLLECTION
- };
复制代码
|