如何编写Linux下的USB键盘驱动 有注释

如何编写Linux下的USB键盘驱动 有注释,第1张

首先需要了解Linux输入子系统,因为鼠标是输入设备,一种input_device。然后需要了解USB设备驱动。使用了USB接口,urb来获得鼠标的数据,然后把数据往上层应用提交。可以参看内核已经有的USB鼠标驱动,位置是\linux-3.0.86\drivers\hid\usbhid\usbmouse.c。linux-3.0.86是Linux内核的根目录。并不难。至于哪些书,可以看‘Linux设备驱动程序’这本书,里头主要知识都有讲到。

lspci可以看你的usb情况,lsmod 查查加载的模块,应该是usb什么什么的,

驱动应该是在/lib/modules/内核版本/kernel/drives/usb下,

当然另外还要mousedev模块吧。

我只是提供个思路,也没有试过安装

1) Scancode mode (raw )raw模式:将键盘端口上读出的扫描码放入缓冲区

2) Keycode mode (mediumraw) mediumraw模式:将扫描码过滤为键盘码放入缓冲区

3) ASCII mode (XLATE ) XLATE模式:识别各种键盘码的组合,转换为TTY终端代码放入缓冲区

4) UTF-8 MODE (UNICODE) Unicode 模式:UNICODE模式基本上与XLATE相同,只不过可以通过数字小键盘间接输入UNICODE代码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7642560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存