首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

20.Linux-USB鼠标驱动

在上一章分析完USB总线驱动程序后, 接下来开始写一个USB驱动: 本节目的: 将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键 参考/drivers/hid/usbhid/...usbmouse.c(内核自带的USB鼠标驱动) 1.本节需要用到的宏如下: struct usb_device_id usbmouse_id_table []=USB_INTERFACE_INFO(cl...,sc,pr); USB_INTERFACE_INFO()设置usb_driver驱动的id_table成员 cl:接口类,我们USB鼠标为HID类,所以填入0X03,也就是USB_INTERFACE_CLASS_HID.../kernel.h> #include linux/slab.h> #include linux/module.h> #include linux/init.h> #include linux/...,比如鼠标,键盘等 然后make uImage 编译内核 将新的触摸屏驱动模块放入nfs文件系统目录中 5.2然后烧写内核,装载触摸屏驱动模块 如下图,当我们插上USB鼠标时,可以看到该VID和PID,

8.4K81
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux下驱动开发_块设备驱动开发(内存模拟存储)

    一、前言 块设备驱动块是Linux下3大设备驱动框架之一,块设备主要是针对存储类型的设备设计的驱动,配合文件系统完成数据存储。...在应用层的cp、cd、touch、vim、mount等等可以操作文件,可以操作目录的命令都会通过文件系统,通过块设备驱动完成对底层存储设备的访问,实现数据读取或者写入。...所以大致总结下:块设备驱动的目的是给Linux文件系统提供底层接口。 二、编写块设备驱动的思路 既然学到了驱动开发,了解到块设备开发。...这份代码里存储数据的空间是申请了一段内存来模拟的。...看懂块设备框架,使用的模拟的内存。 2.​ 加入SD卡的驱动,配合块设备框架,完成完整的块设备驱动编写。

    4.7K30

    “穿透”层的鼠标事件

    标题可能不是一读让人容易明白,上张图(转载的) 需要实现如下的效果,有一个浮动层,需要层级在它之下的一个元素也能照常响应相应的事件 ?...一个100*100的元素,边框为1px solid #406c99,它有两个事件(鼠标移入、鼠标移出): onmouseover="this.style.borderColor='#f00';" onmouseout...解决这样的问题有以下方案: 1、纯使用CSS的属性pointer-events,设置其为none (默认为auto) 优点:无需额外的代码 缺点:不支持IE(IE不支持此属性,IE9是否支持有待考评..) 2、捕捉事件获取鼠标的位置...平时我们用调试工具选取页面中的元素,高亮显示的区域就是依据这个原理) 优点:兼容各浏览器 缺点:需要编写Javascript,效率并不高 这样获取有也有两种处理方法: 循环获取每一个元素的位置,然后对比鼠标的...elementFromPoint的使用例子(移动鼠标时,如果那一点在某一元素的占位区域则添加3像素的红色边框,鼠标移开该元素时清除边框) <!

    1.7K20

    Linux驱动开发新手必读 | 二、LED子系统——硬件驱动层

    二、LED子系统——硬件驱动层 上篇文章我们了解了子系统的框架,下面我们来分析驱动框架中每层的实现以及作用。...image-20230417084033734 在LED子系统中,硬件驱动层相关文件在包括:kernel/drivers/leds/ 目录下,其主要的函数有:led-gpio.c、led-xxx.c,其中...在硬件驱动层需要与其进行关联,遂在此介绍。...4、回调函数分析 硬件驱动层,肯定包括最终操作硬件的部分,也就是上面提到的一些回调函数,属于我们驱动工程师开发的内容。...5、总结 上面我们了解了硬件驱动层的实现流程以及相关数据结构,总结来看: 5.1 数据结构之间的关系如下 LED子系统-LED数据结构.drawio 5.2 函数实现流程如下 gpio_led_probe

    62740

    12.3 实现模拟鼠标录制回放

    本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作...MOUSEEVENTF_LEFTDOWN:模拟鼠标左键按下事件。 MOUSEEVENTF_LEFTUP:模拟鼠标左键释放事件。 MOUSEEVENTF_RIGHTDOWN:模拟鼠标右键按下事件。...mouse_event 函数允许模拟鼠标事件,通过设置 dwFlags 参数来指定需要模拟的事件类型,设置 dx 和 dy 参数来指定事件发生时的鼠标位置。...通过调用这个函数,可以实现自动化鼠标操作,如模拟鼠标点击、拖动等。...如下代码段实现了鼠标动作脚本的回放功能,它从之前录制保存的脚本文件中读取鼠标动作信息,并按照脚本中记录的顺序模拟鼠标动作,实现鼠标动作的回放。

    26920

    14.linux-platform机制实现驱动层分离(详解)

    本节目标: 学习platform机制,如何实现驱动层分离 1.先来看看我们之前分析输入子系统的分层概念,如下图所示: 如上图所示,分层就是将一个复杂的工作分成了4层, 分而做之,降低难度,每一层专注于自己的事情..., 系统只将其中的核心层和事件处理层写好了,所以我们只需要来写驱动层即可,接下来我们来分析platform机制以及分离概念 2.分离概念 优点: 将所有设备挂接到一个虚拟的总线上,方便sysfs节点和设备电源的管理...使得驱动代码,具有更好的扩展性和跨平台性,就不会因为新的平台而再次编写驱动 介绍: 分离就是在驱动层中使用platform机制把硬件相关的代码(固定的,如板子的网卡、中断地址)和驱动(会根据程序作变动...()来注册diver驱动 在驱动层exit出口函数中通过platform_driver_unregister()函数来注销diver驱动 代码如下: static int __init gpio_keys_init...使用platform机制,编写LED驱动层 首先创建设备代码和驱动代码:led_dev.c 、led_drv.c led_dev.c用来指定灯的引脚地址,当更换平台时,只需要修改这个就行 led_drv.c

    2.4K50

    12.3 实现模拟鼠标录制回放

    本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作...MOUSEEVENTF_LEFTDOWN:模拟鼠标左键按下事件。 MOUSEEVENTF_LEFTUP:模拟鼠标左键释放事件。 MOUSEEVENTF_RIGHTDOWN:模拟鼠标右键按下事件。...mouse_event 函数允许模拟鼠标事件,通过设置 dwFlags 参数来指定需要模拟的事件类型,设置 dx 和 dy 参数来指定事件发生时的鼠标位置。...通过调用这个函数,可以实现自动化鼠标操作,如模拟鼠标点击、拖动等。...如下代码段实现了鼠标动作脚本的回放功能,它从之前录制保存的脚本文件中读取鼠标动作信息,并按照脚本中记录的顺序模拟鼠标动作,实现鼠标动作的回放。

    38020

    12.3 实现模拟鼠标录制回放

    本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作...MOUSEEVENTF_LEFTDOWN:模拟鼠标左键按下事件。 MOUSEEVENTF_LEFTUP:模拟鼠标左键释放事件。 MOUSEEVENTF_RIGHTDOWN:模拟鼠标右键按下事件。...mouse_event 函数允许模拟鼠标事件,通过设置 dwFlags 参数来指定需要模拟的事件类型,设置 dx 和 dy 参数来指定事件发生时的鼠标位置。...通过调用这个函数,可以实现自动化鼠标操作,如模拟鼠标点击、拖动等。...如下代码段实现了鼠标动作脚本的回放功能,它从之前录制保存的脚本文件中读取鼠标动作信息,并按照脚本中记录的顺序模拟鼠标动作,实现鼠标动作的回放。

    30720

    安卓蓝牙键盘鼠标映射_蓝牙鼠标模拟器

    相关文章:《蓝牙HID TouchScreen协议让你的安卓手机变成触摸屏》 本文源码下载地址:《仅通过蓝牙HID将安卓手机模拟成鼠标和键盘》源码 多文源码打包下载: 《仅通过蓝牙HID将安卓手机模拟成鼠标和键盘...》+《蓝牙HID TouchScreen协议让你的安卓手机变成触摸屏》两份源码打包下载 《仅通过蓝牙HID将安卓手机模拟成鼠标和键盘》+《蓝牙HID TouchScreen协议让你的安卓手机变成触摸屏...hl=zh-cn 一直以来就有一种想法,就是自己写一个APP将安卓手机模拟成鼠标/键盘,应急的时候可以用来代替鼠标/键盘。...如果我们的报告描述符没有问题,那么我们的设备就会成功模拟想要的HID设备。...[多媒体控制界面] [win10亮度调节] 最后再强调下,这个亮度调节目前只有微软的win8/win10支持,而且是移动设备(使用电池供电的设备),如果找到Mac和Linux的亮度调节Usage

    5.8K20

    c# 模拟window 操作鼠标|winapi

    const int MOUSEEVENTF_LEFTDOWN = 0x0002;// 模拟鼠标左键按下         const int MOUSEEVENTF_LEFTUP = 0x0004...; //模拟鼠标左键抬起         const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下         const int MOUSEEVENTF_RIGHTUP... = 0x0010;// 模拟鼠标右键抬起         const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; //模拟鼠标中键按下         const int... MOUSEEVENTF_MIDDLEUP = 0x0040; //模拟鼠标中键抬起         const int MOUSEEVENTF_ABSOLUTE = 0x8000; //标示是否采用绝对坐标..., 410, 0, 0, 0); } 适合场景:LinkButton如果想要弹出右键菜单的时候,可以在Click事件中通过API模拟鼠标右击事件。

    1.3K10

    dotnet X11 窗口之间发送鼠标消息 模拟鼠标输入

    本文记录我阅读 Avalonia 代码过程中所学习到的在 X11 的窗口之间发送鼠标消息,可以跨进程给其他进程的窗口发送鼠标消息,通过此方式可以实现模拟鼠标输入 直接使用 XSendEvent 给指定窗口发送消息即可...7636387e97780403ce473f553540a9cc1e0652ef 获取代码之后,进入 DikalehebeekaJaqunicobo 文件夹,即可获取到源代码 以上代码是对自己进程内的主窗口发送鼠标移动消息的示例...比如有两个窗口,可以通过此方式让窗口 2 收到鼠标消息时,自动转发给窗口 1 上,核心代码如下 var handle = XCreateWindow(display, rootWindow, 0, 0,...但行为上看起来和 Windows 下的句柄非常类似 如以下的测试代码,启动自身作为新的进程,然后传入当前进程的窗口,让另一个进程获取当前进程的窗口,接着测试在另一个进程将鼠标消息发送到当前进程上 var...ec8242cfe08a0eb23ba637c655083fceb0a8edb3 获取代码之后,进入 DikalehebeekaJaqunicobo 文件夹,即可获取到源代码 通过以上测试可以发现 X11 的鼠标输入是完全可以进行模拟输入的

    13410

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券