您好:我想修改鼠标的例程将移动鼠标的动作用按键来执行,我找到了app_mouse_send_motion_report()入口,但是如何通过按键操作并将鼠标移动报告给host不是很了解,能告知一下或者有相关案例吗?
不是很明白意思。你是想通过按键来启停鼠标动作的报告?
您好:是这样的,我想把鼠标移动的事件用按键来模拟,就是说我按下按键(上,下,左,右)来实现鼠标report移动方向。目前我的DA14580能实现配对,但是连接总是超时,偶尔能连接上,这部分入口函数没有弄明白,麻烦告知一下;另外,按键能触发鼠标事件报告,但是没有位移发生。刚刚接触,多有不懂,还请解答一下!
@songlaihong,这个问题我这几天看一下,稍晚回复你
你好我也有相似的问题~关于按键如何触发发送report事件,以及按键是怎么对应report map里定义的想使用的相应report ID的report。虽然过去一年了还是烦请解答,谢谢啦
BLE事件里通过 report ID识别具体哪一类的report,such as media, general, mouse report. 这些在描述里都有写明格式的。如果需要了解深入的话可以去看HID描述的资料。在BLE中的话主要是BLE的HID端标准服务描述characteristic。有疑问的话可以将问题描述清楚再问下我。
过了这么久还有回复太感谢了!请问您是比较了解鼠标例程了是吗?
1. 我看到例程里储存发送给host的report是在normal_key_report_st[6] 和extended_key_report_st[1]这两个数组里的。又看了一下鼠标里process keycode的过程,似乎是normal对应的是report map里id=1的map,extended对应id=2,请问我理解的对吗?如果我想要使用report map里id=3的描述里的usage,应该怎么添加呢?目前尝试了一下添加一个新的数组来储存第三个id的report,并且将结构kbd_rep_info里的enum REPORT_TYPE也添加一个新的report type(因为参考了键盘例程,键盘例程里这个REPORT_TYPE里enum的赋值似乎和report id数值有关,猜测。。。),试了一下控制音量,但是结果似乎不成功。QAQ2. 在三个键(左,右,中)的callback 函数里我见到例程给他们对应的keycode是0xF400, 0xF401, 0xF402。请问您清楚这个keycode是怎么来的吗?和键盘manual里扫描keymap的keycode有关联吗?我看了process keycode的过程似乎有关联,可是对应的report map也不同了,没有找到这个keycode是怎么和左右中三键对应的依据呢。因为我想要添加自己的按键,使用id=3的report map所描述的report里的用法(如第一个问题所述),但是不确定它不work的原因是不是我对于这个keycode理解不对所以写错了keycode。。。
再次感谢您的帮助!btw如果在论坛讨论回复繁琐的话可以加我的微信:yanqiuyi0930,注明dialog。我是香港的在读本科生。感谢
不是很明白意思。你是想通过按键来启停鼠标动作的报告?
您好:
是这样的,我想把鼠标移动的事件用按键来模拟,就是说我按下按键(上,下,左,右)来实现鼠标report移动方向。
目前我的DA14580能实现配对,但是连接总是超时,偶尔能连接上,这部分入口函数没有弄明白,麻烦告知一下;另外,
按键能触发鼠标事件报告,但是没有位移发生。刚刚接触,多有不懂,还请解答一下!
@songlaihong,这个问题我这几天看一下,稍晚回复你
你好我也有相似的问题~关于按键如何触发发送report事件,以及按键是怎么对应report map里定义的想使用的相应report ID的report。
虽然过去一年了还是烦请解答,谢谢啦
BLE事件里通过 report ID识别具体哪一类的report,such as media, general, mouse report. 这些在描述里都有写明格式的。如果需要了解深入的话可以去看HID描述的资料。在BLE中的话主要是BLE的HID端标准服务描述characteristic。有疑问的话可以将问题描述清楚再问下我。
过了这么久还有回复太感谢了!请问您是比较了解鼠标例程了是吗?
1. 我看到例程里储存发送给host的report是在normal_key_report_st[6] 和extended_key_report_st[1]这两个数组里的。又看了一下鼠标里process keycode的过程,似乎是normal对应的是report map里id=1的map,extended对应id=2,请问我理解的对吗?如果我想要使用report map里id=3的描述里的usage,应该怎么添加呢?目前尝试了一下添加一个新的数组来储存第三个id的report,并且将结构kbd_rep_info里的enum REPORT_TYPE也添加一个新的report type(因为参考了键盘例程,键盘例程里这个REPORT_TYPE里enum的赋值似乎和report id数值有关,猜测。。。),试了一下控制音量,但是结果似乎不成功。QAQ
2. 在三个键(左,右,中)的callback 函数里我见到例程给他们对应的keycode是0xF400, 0xF401, 0xF402。请问您清楚这个keycode是怎么来的吗?和键盘manual里扫描keymap的keycode有关联吗?我看了process keycode的过程似乎有关联,可是对应的report map也不同了,没有找到这个keycode是怎么和左右中三键对应的依据呢。因为我想要添加自己的按键,使用id=3的report map所描述的report里的用法(如第一个问题所述),但是不确定它不work的原因是不是我对于这个keycode理解不对所以写错了keycode。。。
再次感谢您的帮助!btw如果在论坛讨论回复繁琐的话可以加我的微信:yanqiuyi0930,注明dialog。我是香港的在读本科生。感谢