我可以编程,但对电脑并不了解。 我使用的是Ubuntu Linux,我从表面上理解了什么是设备文件。 我想要做的是写一个程序,从设备,如鼠标,键盘,摄像头,或麦克风原始input。 我不知道从哪里开始。 有一本名为“Linux设备驱动程序”的书,但是我不知道那本厚厚的书中包含的所有信息是否相关。 我不想写设备驱动程序,但如果这是我想要做的,那么我会做到这一点。 但是,我正在寻找简单地编写一个C ++或(最好)一个Python程序,从设备采取原始input,并与原始input做其他事情。 有人能告诉我从哪里开始? 我应该阅读哪些教程或书籍?
我只打开设备文件并从中读取? 我可以尝试,但是还有另外一个问题。 我不知道/ dev /目录中的哪个设备! 我有一个Logitec空气鼠标,它通过蓝牙连接到接收器,而接收器又通过USB连接到我的电脑。 但是,如果我想从我的鼠标接收原始input,应打开哪个设备文件? 它会是一个USB设备文件或鼠标设备文件? 我的/ dev /目录中有很多设备文件可能对应我的鼠标,哪一个是它? 我有/ dev / input / mouse0,/ dev / input / mouse1等,和/ dev / input / mice,和/ dev / input / event0,/ dev / input / event1等等。 哪一个是正确的? 我如何发现?
对不起,我只是非常沮丧和困惑,从哪里开始。 任何帮助将非常感激。
make命令中的M选项,Makefile
当使用PF_PACKETtypes的套接字时,PACKET_ADD_MEMBERSHIP是什么?
Linux驱动程序中的结构文件
如何在不查询内核的情况下监控C程序中的NIC状态(up / down)?
Linux外部事件处理 – IRQ与轮询kthread
在Linux内核模块中实现轮询
从内核读取使用procfs的时间戳 – 从内核读取后存储在哪里?
sk_buff copy&sk_buff克隆
在设备驱动程序中使用stdlib.h
编程Linuxnetworking驱动程序以支持closuresTCP校验和卸载
感谢ninjalj为他/她的答复,没有任何详细的答案,真正解决了我的问题。 这当然是可以理解的,因为这个问题不是很好,在我的印象中问这个问题是不寻常的。
所以经过一番研究,我要回答自己的问题,希望别人有兴趣,或者有同样的问题,他们可以在这里得到答案。
从哪儿开始? 我找到了一本名为Advanced Linux Programming的书。 在我看来这是一本很棒的书,可以在Open Publication License下下载。 第6章“设备”与此问题特别相关。 虽然,所有的章节都被推荐,因为它们都是非常丰富的,如果你是一个像我这样的怪人,就会有很棒的阅读。
哪个设备是哪个? 你会在上面的书中找到这个信息。 但总之,有一些东西叫做“主要号码”和“次要号码”与每个设备相关联。 你可以在设备文件上检查我的运行ls -l。 他们是正常文件的文件大小应该在哪里。 这些数字告诉你设备文件与哪种设备相关联,以及它使用什么驱动程序。 要查看这些数字意味着什么,可以参考Linux设备列表 。 现在我还不知道有什么方法可以检查Linux机器本身是否处于脱机状态,但是可能有办法。 请注意,/ dev /中的某些文件不是实际的设备文件,而是符号链接,如/ dev / dvd。 有各种各样的特殊文件,做特别的事情,只是看书!
/dev/input/event*说说evdev协议。 /dev/input/mouse*可能会讲一些PS / 2协议的变种。
可能您使用的鼠标/键盘/摄像头已经有一个Linux驱动程序。 所以一旦检测到硬件,linux会为你自动加载该硬件的驱动程序。 查看哪个设备文件与哪个硬件设备有关。 仔细看一下/ sys目录和dmesg命令条目,您将很快知道在插入硬件后最近创建了哪个设备节点。 除此之外,您还可以查看“cat / proc / devices”文件来了解哪些Major / Minor没有。 对应于您的设备文件,或者当您插入硬件时,您可以在此文件中查找任何更新。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。