请问2.6内核的pc键盘驱动在哪个目录?

发布于 2022-09-24 02:15:21 字数 465 浏览 15 评论 0

我知道2.4内核的pc键盘驱动PC_keyb.c是在/driver/char/pc_keyb.c目录下,
但是2.6内核/driver/char/目录下面没有pc键盘驱动,然后在/driver/input/keyboard/目录下面只有
amikbd.c  atkbd.o  happs2atkbd.h  lkkbd.c  maple_keyb.c  sunkbd.c  
atkbd.c  built-in.o  Kconfig  Makefile   newtonkbd.c  xtkbd.c
几个文件。
我的内核是2.6.8.1的,启动后可以使用键盘的,我就是不知道这个pc键盘的驱动文件放在哪里了,
请各位大侠知道的帮帮忙,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

对风讲故事 2022-10-01 02:15:21

drivers/input/keyboard/atkbd.c

べ映画 2022-10-01 02:15:21

谢谢richardhesidu,还有就是,键盘驱动是不是要依赖于/driver/char/keyboard.c?因为键盘驱动是分为上层驱动跟下层驱动的,
下层驱动要调用keyboard.c的吧,那drivers/input/keyboard/atkbd.c是怎么跟keyboard.c联系起来的?
atkbd.c与keyboard.c他们又不在同一个目录下。

老旧海报 2022-10-01 02:15:21

你去看一下源代码,/driver/char/keyboard.c和/drivers/input/keyboard/atkbd.c没有直接联系。
Linux提供很多驱动框架,比如input设备,serio设备。这些框架提供相应的接口来支持这里类设备。keyboard.c和atkbd.c都是
最底层的驱动,它们并不为其它驱动提供接口。你可以看到keyboard.c使用了input设备框架中的接口,而atkbd.c同时使用了input和
serio设备驱动框架中的接口。

橘味果▽酱 2022-10-01 02:15:21

谢谢了,我在网上看到别人说的是PC键盘的驱动程序由keyboard.c和pc_keyb.c两个程序组成。其中:keyboard.c是键盘的高层驱动,与硬件不直接相关;pc_keyb.c是键盘的底层驱动,与键盘硬件直接相关。pc_keyb.c需要调用keyboard.c里面的handle_scancode()等函数。

我看了代码确实有handle_scancode()这样的函数调用等,不知道keyboard.c和pc_keyb.c是怎么联系起来的?

青衫儰鉨ミ守葔 2022-10-01 02:15:21

原帖由 yjh1108 于 2008-3-11 17:21 发表
谢谢了,我在网上看到别人说的是PC键盘的驱动程序由keyboard.c和pc_keyb.c两个程序组成。其中:keyboard.c是键盘的高层驱动,与硬件不直接相关;pc_keyb.c是键盘的底层驱动,与键盘硬件直接相关。pc_keyb.c需要 ...

在2.4内核中,keyboard.c和pc_keyb.c的确有联系。keyboard.c中导出的handle_scancode和keyboard_tasklet这两个内核符号被pc_keyb.c所用。这两个程序并不直接关联。pc_keyb.c通过keyboard.c导出的内核符号获得后者提供的支持。这是由内核的机制来完成的。

别理我 2022-10-01 02:15:21

2.4内核是这样的,不知道2.6内核是怎么联系起来的?它们又不在同一个目录下,编译的时候会
去/driver/char/kerboard.c调用里面的函数吗?

烟酉 2022-10-01 02:15:21

在2.6内核里,从代码上看keyboard.c和atkbd.c没有像2.4内核那样有直接的函数调用关系。因为在2.6内核中,keyboard.c没有导出任何内核符号。不过两者还是有间接关系的。keyboard.c向input子系统注册回调函数,而atkbd.c通过input子系统指向这些回调函数。

吃颗糖壮壮胆 2022-10-01 02:15:21

谢谢天使版主,我再去学习学习,非常感谢你的回答!

遇到 2022-10-01 02:15:21

还想麻烦下天使版主,你说的keyboard.c向input子系统注册回调函数,而atkbd.c通过input子系统指向这些回调函数。这些操作是体现在哪里呢?那些回调函数是怎么注册的?atkbd.c又是怎么指向这些回调函数的?
麻烦你再帮我回答一下好吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文