USB-HID鼠标键盘驱动

news/2024/11/7 8:39:26/

先说结果:

本章驱动,实现了一个USB slave接口模拟出鼠标、键盘设备。在windows10上验证通过。

可以通过本章配套的测试程序,可以完成任意位置的鼠标移动,左击、右击等操作。

键盘的测试程序没有写完,只写了部分案件。就没有贴上来。

下面的代码是在tiny4412开发板上面验证通过的驱动代码。之前在imx6上面用过类似的代码,USB-HID鼠标、键盘驱动和平台相关性无关,理论上下面的代码在imx6上面也是可以正常使用的。 

和这个驱动有一个匹配的应用测试程序。该程序里面读取PC通过串口发送过来的坐标信息,然后转换成USB-HID鼠标数据,再上传给PC,以此来控制PC的鼠标。

测试流程:

1、移植驱动程序到内核里面

2、移植应用测试程序到开发板里面

3、连接硬件到PC上,这个时候PC应该提示有鼠标插入

4、运行应用测试程序,读取串口数据

5、PC通过串口发送坐标信息给开发板

6、开发板收到数据后,进行重组,然后通过USB口上发给PC,控制PC光标

驱动程序如下:

/** hid.c -- HID Composite driver** Based on multi.c** Copyright (C) 2010 Fabien Chouteau <fabien.chouteau@barco.com>** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as publis

http://www.ppmy.cn/news/211215.html

相关文章

雷柏MT750S鼠标使用总结(驱动|连接|模式|续航)

【什么值得买 摘要频道】下列精选内容摘自于《无线办公好帮手 雷柏MT750S无线蓝牙鼠标体验》的片段&#xff1a; 驱动 雷柏MT750S的驱动软件界面比较简单&#xff0c;因为没有灯光的原因&#xff0c;软件主要是鼠标按键功能的设置&#xff0c;在左侧显示了各种功能&#xff0c…

USB总线驱动及鼠标驱动实例

转自&#xff1a;https://blog.csdn.net/liangzc1124/article/details/119333357、https://www.cnblogs.com/lifexy/p/7631900.html 1、Windows USB设备驱动 为什么一插上就会有提示信息&#xff1f; 以windows为例&#xff0c;插上一个没有USB驱动的USB设备&#xff0c;会提示…

虚拟鼠标驱动的实现

虚拟鼠标驱动的实现 好久以前的东西了&#xff0c;发出来给感兴趣的朋友参考一下。 虚拟鼠标驱动就是通过驱动虚拟一个mouse&#xff0c;然后通过上层应用程序控制其发码&#xff0c;可以模拟硬件级的发码。 下面来看一下代码&#xff0c;主要的函数如下&#xff1a; NTSTATUS …

USB设备驱动之鼠标

USB设备驱动之鼠标 1. 概述 USB鼠标驱动程序大致分为两大部分&#xff1a;USB设备驱动部分和输入设备驱动部分&#xff0c;USB设备驱动只起了挂接总线和传输数据的作用&#xff0c;而具体的设备类型的驱动仍然是工作的主体。 USB设备驱动部分&#xff1a;负责注册USB设备驱动…

usb键鼠驱动分析

一、鼠标 linux下的usb鼠标驱动在/drivers/hid/usbhid/usbmouse.c中实现 1.加载初始化过程 1.1模块入口 module_init(usb_mouse_init); 1.2初始化函数 static int __init usb_mouse_init(void) //初始化{int retval usb_register(&usb_mouse_driver); //注册usb鼠标…

USB鼠标设备驱动程序简单实现(一)

一、Linux下的USB驱动程序 分离和分层是Linux下驱动程序开发采用的最基本的形式&#xff0c;USB驱动开发在主机端主要涉及两个部分&#xff1a;主机控制器驱动和设备驱动。 主机控制器驱动主要是和具体的Soc相关的&#xff0c;它来识别USB设备&#xff0c;安装对应的设备驱动…

USB鼠标驱动

仿照drivers/hid/usbhid/usbmouse.c系统自带的USB鼠标驱动实现的USB鼠标驱动。 一、usb/usbmouse_as_key.c #include <linux/kernel.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/init.h> #include <linux/usb/input.h…

编写USB鼠标驱动程序,并测试

转载自&#xff1a;https://www.cnblogs.com/lxl-lennie/p/10189188.html 8.1 编写USB鼠标驱动程序&#xff0c;并测试 学习目标&#xff1a;编写USB鼠标驱动程序&#xff0c;并测试&#xff08;将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键&#x…