我正在尝试创建一个假触摸设备,用于从原始设备中抓取和写入所有用户触摸事件。我正在尝试为此目的使用 libevdev,但在编译过程中出现很多错误,如下所示,
libevdev.c:在函数“libevdev_event_type_get_name”中:libevdev.c:1724:9:错误:未声明“ev_map”(在此函数中首次使用)1724 | 返回 ev_map[类型];| ^~~~~~ libevdev.c:1724:9:注意:对于出现在 libevdev.c 中的每个函数,每个未声明的标识符仅报告一次:在函数'libevdev_event_code_get_name'中:libevdev.c:1735:9:错误:' event_type_map' 未声明(在此函数中首次使用) 1735 | 返回 event_type_map[类型][代码];| ^~~~~~~~~~~~~~ libevdev.c:在函数'libevdev_event_value_get_name'中:libevdev.c:1752:9:错误:'mt_tool_map'未声明(在此函数中首次使用)1752 | 返回 mt_tool_map[值];| ^~~~~~~~~~~ libevdev.c:在函数'libevdev_property_get_name'中:libevdev.c:1761:9:错误:'input_prop_map'未声明(在此函数中首次使用)1761 | 返回 input_prop_map[prop]; | ^~~~~~~~~~~~~~ libevdev.c:在函数'libevdev_event_type_get_max'中:libevdev.c:1770:9:错误:'ev_max'未声明(在此函数中首次使用)1770 | 返回 ev_max[类型];
顺便说一句,这些是 libevdev 库本身中的预定义函数。这些显然是从数组中返回一个对象,但是这些数组没有定义!谁能指出这些错误的正确方向?或者用于使用 uinput 实现 Type B 多点触控协议。我已成功实现 A 类,但面临 B 类问题,由于 epoll 挂断事件,新设备被立即添加和删除。