一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。...2)、“消息”指具有某种USB定义格式的数据流。消息通道与端点的关系同流通道与端点的关系是不同的。
那么,我们如何在Windows Mobile设备上实现鼠标手势(Mouse Gesture)呢?...Fredrik Bornander在”Optimizing Screen Area using Mouse Gestures”中,给出了一个比较简单且容易实现的方法。...首先,在MouseDown事件中,建立一个空的List,用来存储以后的mouse path。...然后,触笔的拖拽引发MouseMove事件,在这些事件中,记录mouse经过的每一个点,存到已经建立的List中。接下来就是检查List中的点,是否组成一个Gesture。...由于Windows Mobile设备屏幕比较小,我们可以全屏显示图片,同时使用Mouse Gesture进行相应操作,如“显示下一张”、“显示上一张”、“显示preview”、“关闭preview”、“
Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...注册 usb_device usb_device 被"drivers\usb\core\generic.c" 驱动认领后,会选择、设置某个配置 这个配置下面的接口,都会分配、设置、注册一个 usb_interface...左边的 usb_driver 和右边的 usb_interface 如果匹配,则调用 usb_driver.probe 2....接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。
gadget 功能前关闭 adb 功能时却报异常的解决办法 4 附录 4.1 Linux-4.x/Linux-5.4 Gadget 配置示例 4.1.1 小机做 mass storage 4.1.2...1.3 适用范围 表 1-1: 适用产品列表 内核版本 驱动文件 Linux-4.9 drivers/usb/* Linux-5.4 drivers/usb/* 2 模块介绍 2.1 模块功能介绍...USB 总线采用树形结构,在一条总线上只能有唯一的主机设备。Linux 内核从主机和设备两个角度观察 USB 总线结构。...Linux 有原生 gadget 框架,通用的配置流程可参考下文。...图 2-11: linux-4.x usb gadget 配置选择 2.6.2 linux-4.x/linux-5.4 USB Gadget 配置流程 Linux-4.x/Linux-5.4 使用 configfs
pygame.mouse提供了一些方法获取鼠标设备当前的状态 ''' pygame.mouse.get_pressed - get the state of the mouse buttons get...the state of the mouse buttons pygame.mouse.get_pos - get the mouse cursor position get the mouse...cursor position pygame.mouse.get_rel - get the amount of mouse movement get the amount of mouse movement...pygame.mouse.set_pos - set the mouse cursor position set the mouse cursor position pygame.mouse.set_visible...- hide or show the mouse cursor hide or show the mouse cursor pygame.mouse.get_focused - check if
/usb.h> 4.2 USB设备注册框架示例 #include #include #include //定义...", /*鼠标的名称-不是匹配使用*/ .probe = usb_mouse_probe, /*资源探测函数-匹配成功调用*/ .disconnect = usb_mouse_disconnect...#include #include #include #include ...usb_mouse_id[] = { { USB_INTERFACE_INFO(USB_INTERFACE_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_MOUSE.../init.h> #include #include #include #include <linux/slab.h
通过扫描以下目录获取物理节点所有 USB 设备: /sys/bus/usb/devices/usb* /sys/bus/usb/devices/usb*/$busnum-* 从该文件系统收集某一个设备的主要信息如下..."level": 1, "manufacturer": "QEMU", "port": 0, "prodid": "0001", "product": "QEMU USB...: 产品 serial: USB 硬件设备序列号 ,例如 0000:00:01.2 定位方法# 定位某一个 USB 设备的方法有两种: busnum + devnum idVendor + idProduct...设备类bDeviceClass、bDeviceSubClass、bDeviceProtocol By USB 中文网 USB设备描述符中的idVendor、idProduct和bcdDevice By...USB 中文网 USB 硬件设备的序列号 By IBM 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
Controller [ 0.513304] usb usb1: Manufacturer: Linux 3.10.0-327.el7.x86_64 xhci-hcd [ 0.513305...0.518702] usb usb2: Product: xHCI Host Controller [ 0.518702] usb usb2: Manufacturer: Linux 3.10.0...strings: Mfr=1, Product=2, SerialNumber=0 [ 1.040350] usb 1-4: Product: Dell MS116 USB Optical Mouse...64 microframes, ep desc says 80 microframes [ 1.042664] input: PixArt Dell MS116 USB Optical Mouse...:301A.0001: input,hidraw0: USB HID v1.11 Mouse [PixArt Dell MS116 USB Optical Mouse] on usb-0000:00:14.0
释放input_device 3.5在出口函数中 1)通过usb_deregister ()函数注销usb_driver结构体 4.代码如下: #include #include... #include #include #include #include... static struct input_dev *myusb_mouse_dev; //input_dev static char *myusb_mouse_buf...myusb_mouse_buf=usb_buffer_alloc(dev,myusb_mouse_size,GFP_ATOMIC,&myusb_mouse_phyc); /*->4.3)通过usb_alloc_urb...(myusb_mouse_urb); usb_free_urb(myusb_mouse_urb); usb_buffer_free(dev, myusb_mouse_size, myusb_mouse_buf
Linux3.11版本引入了基于configfs的usb gadget configfs。.../bcdDevice # USB 1.1: 0x0110 # USB 2.0: 0x0200, USB 2.1: 0x0210, USB 2.5: 0x0250 # USB 3.0: 0x0300...(gadget_strings, gadget_info); [include/linux/usb/gadget_configfs.h] #define USB_CONFIG_STRINGS_LANG(...主要的工作流程为: 分配一个config_usb_cfg1结构体,该结构体包含了usb_configuration结构体,保存了该USB设备的配置信息。 设置USB设备的配置描述符的某些选项。...调用UDC驱动接口usb_udc_connect_control连接USB主机控制器,这样USB主机就能识别并枚举USB设备。
MOUSE!》Scratch声控游戏案例。 ? 《RUN!MOUSE!》开始界面 游戏玩法如下图说明界面。通过声音控制小猫前进和拐弯,最终捉住老鼠过关。每一关要求捉住老鼠数量递增。
昨晚在一国外博客上(从域名后缀pl上猜想应该是波兰)看到这种效果(Mouse Avoid 躲避鼠标),是基于Flash/AS3开发的,这个示例把弹性运动,摩擦力,均加速运动等多种物理学原理综合运用在一起
文案抄自 比克尔下载 : 无界鼠标汉化中文版|Mouse without Borders(微软无界键鼠)下载 v2.1.0.9 官方版 - 比克尔下载 (bkill.com) 官网说明:鼠标无边框设置/...用户指南、提示、技巧和常见问题解答 - 微软社区 (microsoft.com) 官网下载:Download Microsoft Garage Mouse without Borders from Official...Microsoft Download Center Mouse without Borders 是微软出品的无界键鼠工具,人们常称它为“无界鼠标”,使用这个小软件,可以让您用一套键鼠控制多台电脑,大大提高工作效率
为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。...方法 2:删除 USB 驱动 这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。...方法 3:将 USB 存储器纳入黑名单 我们也可以通过 /etc/modprobe.d/blacklist.conf 文件将 usb-storage 纳入黑名单。...usb-storage 保存文件并退出。...usb-storage 就在就会被系统阻止加载,但这种方法有一个很大的缺点,即任何特权用户都可以通过执行以下命令来加载 usb-storage 模块, $ sudo modprobe usb-storage
主机叫做Host,从机叫做Device,所有的USB传输,都是从USB主机这方发起;USB设备没有"主动"通知USB主机的能力。..., 比如:鼠标的数据是从鼠标传到PC机, 对应的端点称为"中断输入端点" 其中端点0是设备的默认控制端点, 既能输出也能输入,用于USB设备的识别过程 同样linux内核也自带了USB总线驱动程序,框架如下...其中usb_bus_type是一个全局变量, 它和我们之前学的platform平台总线相似,属于USB总线, 是Linux中bus的一种....设备的3个成员 然后将上图里的usb_mouse_id_table []里的3个值代入宏USB_INTERFACE_INFO(cl,sc,pr)中: .bInterfaceClass =USB_INTERFACE_CLASS_HID...=USB_INTERFACE_PROTOCOL_MOUSE; //设置匹配USB的接口协议为USB鼠标的协议,等于2 //当.bInterfaceProtocol=1也就是USB_INTERFACE_PROTOCOL_KEYBOARD
概述 UWP Community Toolkit Extensions 中有一个为 Mouse 提供的扩展 - Mouse Cursor Extensions,本篇我们结合代码详细讲解 Mouse Cursor...Mouse Cursor Extensions 为 Framework element 提供了一种简单的设置鼠标悬浮时样式的方法,让开发者可以更容易的通过鼠标状态体现每个 Framework element...Source: https://github.com/Microsoft/UWPCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI/Extensions/Mouse...mousecursor Namespace: Microsoft.Toolkit.Uwp.UI.Extensions; Nuget: Microsoft.Toolkit.Uwp.UI; 开发过程 代码分析 Mouse...Cursor Extensions 的功能实现比较简单,在 Mouse.cs 类中;先看一下类的结构: ?
66 * 67 * Most of the keys/buttons are modeled after USB HUT 1.12 68 * (see http://www.usb.org/developers...3.4 输入系统应用编程实战一:通用USB鼠标事件读取 根据前面章节的讲解,如果我们需要获取USB鼠标的事件,首先我们要先通过cat /proc/bus/input/devices这个指令查询与USB...鼠标事件对应的相关设备信息,通过实际测试得知,event2为USB鼠标上报的事件节点。...input_event event_mouse ; 2 打开input设备的事件节点,这里我们获取的通用USB鼠标是event2 open("/dev/input/event2",O_RDONLY);...d\n", event_mouse.value); } } 5 关闭文件描述符 close(fd); 不难发现,获取一个输入系统事件,也是标准的文件操作,这体现了Linux一切皆文件的思想。
2.Gadget Function驱动 Linux内核的USB Gadget Function驱动都在drivers/usb/gadget/function/目录下,有通讯设备类(Communication...[include/linux/usb/composite.h] struct usb_function_driver { const char *name; struct module...[include/linux/usb/composite.h] #define DECLARE_USB_FUNCTION_INIT(_name, _inst_alloc, _func_alloc) \...(__usb_composite_driver, usb_composite_probe, \ usb_composite_unregister) [include/linux/device.h...Linux 3.11版本引入了USB Gadget Configfs。在用户层可以通过暴漏出来的API定义USB Gadget设备的任意功能和配置,极大的方便了USB复合设备的配置和使用。
usb协议是一个复杂的协议,目前涉及到的版本就有usb1.0, usb2.0, usb3.0。...那么,对于我们这些不是很了解usb的开发人员,如何了解usb的代码结构呢?...c,通过Makefile和Kconfig发现,s3c2410依赖于USB_OHCI_HCD_S3C2410 和 USB_OHCI_HCD,那USB_OHCI_HCD呢?...d,USB_OHCI_HCD只依赖于DMA和IOMEM。...但是,如果要深入了解usb host&device驱动,那么除了这些代码逻辑,那么还要熟读usb协议手册,更重要的学会用catc协议分析仪真正地去了解usb是如何发包和收包的。
试过很多官方驱动,都不太好,每个驱动都测试了5G, 3.3、不同驱动的对比测试 测试位置:距离路由器隔一堵墙的房间那头, USB3.0无线网卡稳定在130Mbps的下载速度 测网速:www.speedtest.cn
领取专属 10元无门槛券
手把手带您无忧上云