请教input设备坐标显示
时间:10-02
整理:3721RD
点击:
创建了 一个虚拟的输入设备,想请教 怎么在屏幕上显示出坐标或指针
用ADB 可以看到 已经有上报 上去
C:\Users\Byron>adb shell
root@S1:/ # getevent /dev/input/event8
0000 0000 00000000
0000 0002 00000000
0002 0000 00000002
0002 0001 00000003
0000 0000 00000000
0000 0002 00000000
0002 0000 00000002
0002 0001 00000003
0000 0000 00000000
0000 0002 00000000
0002 0000 00000002
0002 0001 00000003
0000 0000 00000000
请教 怎样 才能把这个坐标 和 TP一样显示在屏幕上呢?
下面是 input设备注册 代码
- static void cursor_down(s32 x, s32 y)
- {
- /* Report relative coordinates via the event interface */
- input_report_rel(pixart_input_dev, REL_X, x);
- input_report_rel(pixart_input_dev, REL_Y, y);
- input_sync(pixart_input_dev);
- }
- static void cursor_up(s32 x, s32 y, s32 id)
- {
- input_report_key(pixart_input_dev, BTN_touch, 0);
- input_mt_sync(pixart_input_dev);
- }
- static int cursor_event_handler(void *unused)
- {
- int cnt = 1000;
- struct sched_param param = { .sched_priority = RTPM_PRIO_TPD };/*优先级*/
- sched_setscheduler(current, SCHED_RR, ¶m);
- cursor_p = test;
- do
- {
- set_current_state(TASK_INTERRUPTIBLE);
- cursor_p = &test[cnt];
- if(--cnt == 0)cnt =1000;
-
- cursor_down(2,3);
-
- msleep(20);
- cursor_up(0,0,0);
- msleep(30);
- }
- while(!kthread_should_stop());
- return 0;
- }
用ADB 可以看到 已经有上报 上去
C:\Users\Byron>adb shell
root@S1:/ # getevent /dev/input/event8
0000 0000 00000000
0000 0002 00000000
0002 0000 00000002
0002 0001 00000003
0000 0000 00000000
0000 0002 00000000
0002 0000 00000002
0002 0001 00000003
0000 0000 00000000
0000 0002 00000000
0002 0000 00000002
0002 0001 00000003
0000 0000 00000000
请教 怎样 才能把这个坐标 和 TP一样显示在屏幕上呢?
下面是 input设备注册 代码
- /* allocate input device */
- pixart_input_dev = input_allocate_device();
- if (!pixart_input_dev) {
- dbmsg("Bad input_alloc_device()\n");
- }
- /* Announce that the virtual mouse will generate
- relative coordinates */
-
- //Announce that the virtual mouse will generate
- set_bit(EV_REL, pixart_input_dev->evbit);
- set_bit(REL_X, pixart_input_dev->relbit);
- set_bit(REL_Y, pixart_input_dev->relbit);
- /* Register with the input subsystem */
- result = input_register_device(pixart_input_dev);