社区
Linux_Kernel
帖子详情
linux鼠标驱动问题
Shane_Song
2010-10-17 10:36:11
在做用c开发界面的一个项目,请问怎么添加鼠标功能?
键盘响应用key表示,那么鼠标的响应接口该怎么表示?
还有要怎么设计一个从底到上的思路?
现在一片混乱,菜鸟啊,请教高手指点!谢谢!
...全文
399
15
打赏
收藏
linux鼠标驱动问题
在做用c开发界面的一个项目,请问怎么添加鼠标功能? 键盘响应用key表示,那么鼠标的响应接口该怎么表示? 还有要怎么设计一个从底到上的思路? 现在一片混乱,菜鸟啊,请教高手指点!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thunder__god
2011-07-06
打赏
举报
回复
markmarkmarkmarkmark
Shane_Song
2010-10-20
打赏
举报
回复
非常有用,谢谢小贼这么热心
方便的话能留个qq么,呵呵
[Quote=引用 12 楼 dfysy 的回复:]
呵呵,关于这个USB鼠标驱动的问题,我想如果你的板子有USB Host的话,比如三星的很多板子,如S3C2410的板子,应该在内核编译的时候打开USB HID Mouse的选项应该就可以了,因为USB HID Mouse是很通用的东西了,应该不需要单独写驱动了,我看到内核目录下也有专门的USB HID目录,但是我没用过这种方式。我以前用过友善之臂的SBC2410的USB鼠标驱动是一个模块,使用i……
[/Quote]
dfysy
2010-10-20
打赏
举报
回复
呵呵,关于这个USB鼠标驱动的问题,我想如果你的板子有USB Host的话,比如三星的很多板子,如S3C2410的板子,应该在内核编译的时候打开USB HID Mouse的选项应该就可以了,因为USB HID Mouse是很通用的东西了,应该不需要单独写驱动了,我看到内核目录下也有专门的USB HID目录,但是我没用过这种方式。我以前用过友善之臂的SBC2410的USB鼠标驱动是一个模块,使用insmod加载以后插上USB鼠标就OK了。不管是USB还是PS2的鼠标,一般都是映射到的/dev/input/mice,至于如何获取数据,你可以看看这篇文章:
http://www.linuxidc.com/Linux/2008-05/12893.htm
至于图形系统里面的实现,一般处理键盘或鼠标输入的是一个单独的线程或进程,当收到鼠标或者键盘有输入时会向专门负责UI绘制的线程或进程发送消息,然后那个UI的线程或进程就会重绘界面。
希望对你有帮助。
[Quote=引用 11 楼 shane_song 的回复:]
谢谢小贼
板子上没有ps2口,但是有usb接口,那么usb鼠标驱动程序是在网上下吗?我新手,自己可写不来。
对于minigui,我想是想在pc上界面里实现鼠标功能,先不管触摸屏,那pc里的系统肯定是有ps2鼠标驱动的,我该怎么参考minigui将系统的鼠标显示在我的界面上呢?
好菜啊,今天恶补了设备驱动的基础知识,还是一片迷茫啊!
引用 9 楼 dfysy 的回复:
……
[/Quote]
dfysy
2010-10-20
打赏
举报
回复
呵呵,好多年不用QQ了,相互有东西交流可以通过CSDN短信交流
[Quote=引用 13 楼 shane_song 的回复:]
非常有用,谢谢小贼这么热心
方便的话能留个qq么,呵呵
引用 12 楼 dfysy 的回复:
呵呵,关于这个USB鼠标驱动的问题,我想如果你的板子有USB Host的话,比如三星的很多板子,如S3C2410的板子,应该在内核编译的时候打开USB HID Mouse的选项应该就可以了,因为USB HID Mouse是很通用的东西了,应该不需要单独写驱动了,我看到内核目录下也有专门的……
[/Quote]
Shane_Song
2010-10-19
打赏
举报
回复
谢谢小贼
板子上没有ps2口,但是有usb接口,那么usb鼠标驱动程序是在网上下吗?我新手,自己可写不来。
对于minigui,我想是想在pc上界面里实现鼠标功能,先不管触摸屏,那pc里的系统肯定是有ps2鼠标驱动的,我该怎么参考minigui将系统的鼠标显示在我的界面上呢?
好菜啊,今天恶补了设备驱动的基础知识,还是一片迷茫啊!
[Quote=引用 9 楼 dfysy 的回复:]
首先你是否有一个鼠标的驱动,如果没有,就需要自己移植了,如果板子上有USB就移植USB鼠标的驱动就OK了,如果是用I/O模拟PS2那就要自己写驱动了。 MiniGUI其实也是使用系统现成的驱动的,它只是通过HAL把系统现成的驱动的数据转换成他要求的数据格式而已,如果系统没有鼠标驱动,MiniGUI的鼠标也用不了。标准的鼠标驱动只要先open,然后read就OK了,好像是三个字节,头两个字节是x、……
[/Quote]
Shane_Song
2010-10-19
打赏
举报
回复
不好意思,我还有些不明白
按我现在的知识面理解:我移植鼠标驱动只是给应用程序(也可以是界面程序)一个接口,但是通过什么具体函数来调用这些接口,使得界面里面有鼠标移动呢?
[Quote=引用 8 楼 deep_pro 的回复:]
好吧,只能说你们老师还是挺狠的
不过即使如此,也完全不需要你去写鼠标驱动本身
只要移植Linux内核时添加usb鼠标支持即可
你只需要从鼠标设备节点读取出鼠标操作即可
以前的消息响应定义一个int类型key作为与键盘上的键对应,要是用鼠标不能只有一个变量表示响应吧?这个类似于key的某某是什么(应用鼠标后)?(指针指向鼠标结构体)?
==================……
[/Quote]
dfysy
2010-10-19
打赏
举报
回复
首先你是否有一个鼠标的驱动,如果没有,就需要自己移植了,如果板子上有USB就移植USB鼠标的驱动就OK了,如果是用I/O模拟PS2那就要自己写驱动了。 MiniGUI其实也是使用系统现成的驱动的,它只是通过HAL把系统现成的驱动的数据转换成他要求的数据格式而已,如果系统没有鼠标驱动,MiniGUI的鼠标也用不了。标准的鼠标驱动只要先open,然后read就OK了,好像是三个字节,头两个字节是x、y方向的移动,最后一个是点击,有点记不清了。
deep_pro
2010-10-18
打赏
举报
回复
好吧,只能说你们老师还是挺狠的
不过即使如此,也完全不需要你去写鼠标驱动本身
只要移植Linux内核时添加usb鼠标支持即可
你只需要从鼠标设备节点读取出鼠标操作即可
以前的消息响应定义一个int类型key作为与键盘上的键对应,要是用鼠标不能只有一个变量表示响应吧?这个类似于key的某某是什么(应用鼠标后)?(指针指向鼠标结构体)?
==================
这个就跟你的源代码实现相关了,不能指望我能帮你了。
Shane_Song
2010-10-18
打赏
举报
回复
补充:
以前的消息响应定义一个int类型key作为与键盘上的键对应,要是用鼠标不能只有一个变量表示响应吧?这个类似于key的某某是什么(应用鼠标后)?(指针指向鼠标结构体)?
Shane_Song
2010-10-18
打赏
举报
回复
谢谢,那我说了噢,呵呵
在跟老师做一个项目,arm板linux操作系统,不用qt或者minigui,但需要做出图形界面,最终能够有触摸屏功能,并且有鼠标显示根据触点移动。
老师手上有以前项目编写的库(比如说光标显示、绘图库、编辑框按钮之类控件等),没有鼠标和触摸屏功能,但可以通过键盘响应。
你说用input子系统注册inputdevice,我看minigui里面是这么实现鼠标功能的,能不能把一些源码移植过来用?
该怎么做?求指导....谢谢啦
[Quote=引用 5 楼 deep_pro 的回复:]
好了,你把你的需求尽可能详细地讲出来
没准根本不需要写驱动
从硬件到软件应用都讲
[/Quote]
deep_pro
2010-10-18
打赏
举报
回复
好了,你把你的需求尽可能详细地讲出来
没准根本不需要写驱动
从硬件到软件应用都讲
Shane_Song
2010-10-18
打赏
举报
回复
还要牵涉到interrupt?晕 中断完全不懂
[Quote=引用 2 楼 zmlovelx 的回复:]
1楼正解 input device 注册input device 然后在interrupt将按键上报给input device
[/Quote]
Shane_Song
2010-10-18
打赏
举报
回复
我对这个问题解决还没有明确的思路,所以讲的有点乱。
现在是没有api,但是要让我纯手写一个鼠标驱动很困难,
能给指点一下我该怎么做?
[Quote=引用 1 楼 deep_pro 的回复:]
在做用c开发界面的一个项目,请问怎么添加鼠标功能?
======================
难道不用x,不用gtk ,纯自己写啊,否则都提供有api
键盘响应用key表示,那么鼠标的响应接口该怎么表示?
================================
无论键盘鼠标都是由input子系统输入,输出到设备节点,读取后解析即可
[/Quote]
deep_pro
2010-10-17
打赏
举报
回复
在做用c开发界面的一个项目,请问怎么添加鼠标功能?
======================
难道不用x,不用gtk ,纯自己写啊,否则都提供有api
键盘响应用key表示,那么鼠标的响应接口该怎么表示?
================================
无论键盘鼠标都是由input子系统输入,输出到设备节点,读取后解析即可
帅得不敢出门
2010-10-17
打赏
举报
回复
1楼正解 input device 注册input device 然后在interrupt将按键上报给input device
十五、
Linux
驱动
之USB
鼠标
驱动
1. 如何编写USB
鼠标
驱动
结合十四、
Linux
驱动
之USB
驱动
分析中的分析,我们开始写一个USB
鼠标
驱动
。 USB的
驱动
可以分为3类:SoC的USB控制器的
驱动
,主机端USB设备的
驱动
,设备上的USB Gadget
驱动
,通常,对于USB这种标准化的设备,内核已经将主机控制器的
驱动
编写好了,设备上的Gadget
驱动
通常只运行固件程序而不是基于
Linux
, 所以
驱动
工程师的主要...
Linux
USB
鼠标
驱动
入门以及处理流程
Linux
USB
鼠标
驱动
入门以及处理流程
自己写
Linux
Usb
鼠标
驱动
程序
USB子系统相关内容参考《精通
Linux
设备
驱动
程序》第11章。USB
鼠标
驱动
程序可以参考内核中的
鼠标
驱动
,路径为
linux
-3.0.86\drivers\hid\usbhid\usbmouse.cUSB
鼠标
驱动
编写步骤为: 1、创建usb_driver结构体变量,设置id_table为usb
鼠标
设备,并注册usb
驱动
。static struct usb_device_id usb_mouse_i
linux
环境下模拟
鼠标
键盘
驱动
在
Linux
环境下编写模拟键盘和
鼠标
驱动
的指南在虚拟化环境(如 KVM)中,将硬件功能转化为软件功能,并通过 API 调用进行控制,可以实现对键盘和
鼠标
的模拟
驱动
。本文将详细介绍模拟键盘和
鼠标
驱动
的原理、实现方法、示意代码,以及在 KVM 上运行的思路和工作流。目录概述模拟键盘和
鼠标
驱动
的目标是将硬件输入设备的功能转化为软件接口,使得应用程序可以通过 API 调用来模拟输入操作。
Linux_Kernel
4,468
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章