基于高通平台创建虚拟input设备

为了解决长时间玩王者荣耀中反复点击攻击键的问题,本文介绍如何利用高通平台创建一个虚拟input设备,自动上报坐标事件,简化操作。通过注册input设备、建立notifier和工作队列来实现这一功能。
摘要由CSDN通过智能技术生成

最近在学习玩王者荣耀,非常喜欢后羿这个角色,但是在攻击时,要不停地按攻击键,玩了一段时间之后,真担心自己提前进入帕金森。于是想到创建一个虚拟的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 =
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值