最近在学习玩王者荣耀,非常喜欢后羿这个角色,但是在攻击时,要不停地按攻击键,玩了一段时间之后,真担心自己提前进入帕金森。于是想到创建一个虚拟的input设备来替我完成不停按攻击键的操作。废话少说,上代码。
既然是input设备,肯定是要先注册input device啦
v_data = devm_kzalloc(&pdev->dev, sizeof(struct virtual_dev_data), GFP_KERNEL);
if (!v_data) {
return -ENOMEM;
}
input_dev = input_allocate_device();
if (!input_dev) {
return -ENOMEM;
}
v_data->input_dev = input_dev;
input_set_drvdata(input_dev, v_data);
input_dev->name = VIRTUAL_DEV_DRIVER_NAME;
input_register_device(input_dev);
创建一个notifier,让主TP那边满足触发条件的时候,通知虚拟TP上报坐标事件。
v_data->v_notifier.notifier_call = virtual_dev_noti_callback;
virtual_dev_register_notifier(&v_data->v_notifier);
创建一个work,用于上报事件
v_data->evn_report_workqueue =