linux鼠标驱动问题

Shane_Song 2010-10-17 10:36:11
在做用c开发界面的一个项目,请问怎么添加鼠标功能?
键盘响应用key表示,那么鼠标的响应接口该怎么表示?
还有要怎么设计一个从底到上的思路?
现在一片混乱,菜鸟啊,请教高手指点!谢谢!
...全文
388 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧