mmx384 发表于 2006-2-23 13:54:30

关于鼠标滚轮的解决办法

我的电脑是Lenovo 3110,系统是第二次编译的LFS,一个USB鼠标在X11下仅能使用,但滚轮无效,弄了一上午,最终还是清楚了,现说说我的解决过程:

1.首先尝试修改/etc/X11/xorg.conf
按照公社其它帖子的办法修改:

Section "InputDevice"
                Identifier"Mouse0"
                Driver      "mouse"
                Option          "Protocol" "auto"                           # 我这里auto是默认值,用“IMPS/2”也可以。
                Option          "Device" "/dev/input/mouse0"      # 我的是USB鼠标,如果无效,你可以尝试:/dev/psaux 或 /dev/input/mice
                Option          "ZAxisMapping" "4 5"                     # 增加这句,绝大多数情况下滚轮就有效了
EndSection

如果你的USB鼠标不能使用,请检查/dev/input里是否有相应的设备。
                # ls /dev/input
                mice          mouse0
如果没有,你可能没有加载模块,尝试命令:
                modprobe<模块名>
模块名请查看 /etc/modules.conf 文件,或者查看 /lib/modules/2.6.x/modules.alias文件。类似如下几行:
alias usb:v*p*d*dc*dsc*dp*ic08isc06ip50*usb_storage
alias pci:v*d*sv*sd*bc0Csc03i00*uhci_hcd
alias pci:v*d*sv*sd*bc0Csc03i10*ohci_hcd
alias pci:v*d*sv*sd*bc0Csc03i20*ehci_hcd

你现在尝试加载模块,先执行一个命令:
                # lsmod
查看一下,uhci_hcd, uhci_hcd, ehci_hcd等是否已加载。没有则尝试下面几个命令(根据你的usb芯片不同,可能是ehci,也可能是ohci或uhci):
                # modprobe uhci_hcd
                # modprobe ohci_hcd
                # modprobe ehci_hcd
                # modprobe usb_storage

加载模块之后重新检查/dev/input是否有mice, mouse0设备,再按上面的方法配置/etc/X11/xorg.conf

做到这一步,大多数鼠标都应该可能使用了。

2. 如果USB鼠标仍然无效,或者加载模块没有成功,又或者滚轮仍然无效,请尝试编译内核。
(我的LFS6做到这一步仍然无效,原因是上面几个命令中 modprobe ohci_hcd加载错误,我没有把ohci支持编译进内核或编译成模块,仅编译了uhci和ehci,导致USB鼠标虽然有用,但滚轮就是无效)

如果你对编译内核感到陌生,不要产生恐惧,下面的方法或许对你有所帮助。
先准备一下:
      下载内核源代码:http://www.kernel.org
      查看硬件信息:lspci 或 lspci -v 把硬件简要信息记在纸上以便查阅
      备份旧内核:按照下面的办法不必备份旧内核,只要按步骤小心点就可以了

进行内核编译:
      tar -xvjflinux-2.6.12.tar.bz2
      cd linux-2.6.12

      make mrproper               # 清除以前编译过内核所残留的信息,即使是新解压的内核源目录,执行一下也无防
      make menuconfig            # 请根据自己的硬件信息配置内核,详细配置方法请参考网上的文章。
在这里特别注意下面这些选项是否选中:
       <   *   > EHCIHCD ( USB 2.0 ) support         
       <   *   > OHCIHCD support
       <   *   > UHCIHCD support
       <   *   > USB Mass Storage support
       <   *   > USB Human Interface Device support
            [    *   ] HID Input layer support

       make                                          # 编译内核,大概要10来分钟
       make modules_install         # 仅安装已编译好的模块

安装新内核,这里我们不执行make install,而是手动复制:
       # cp -varch/i386/boot/bzImage/boot/bzImage-2.6.12
       # cp System.map/boot/System.map-2.6.12
这里特别注意,最好不要把你的旧内核覆盖了,不要执行make install,也不要把/boot 目录下的旧内核删除了。

修改 /boot/grub/menu.lst 或 /boot/grub/grub.conf文件,加入:
       title Linux-2.6.12
       root (hd0,x)                        # 请根据具体情况修改,如果你的Linux安装在第一块硬盘第一块分区则是 root ( hd0,0),如果是第五块分区 root (hd0,4)
       kernelbzImage-2.6.12
      
重新启动,再按步骤1重新配置,应该就可以了。

声明一下:如果你按照我的方法编译内核,造成某些麻烦,别找我^_^

jozhu 发表于 2006-2-26 22:24:56

LFS的高手啊,佩服佩服。
这贴加精。

qintm 发表于 2006-4-2 12:01:35

曾经编译过LFS,能够使用,只是没有安装窗口管理器,我实在是无法忍受那长达20多个小时的编译时间,真是枯燥而且无聊,还不能离开

积木 发表于 2006-4-2 14:14:04

曾经编译过LFS,能够使用,只是没有安装窗口管理器,我实在是无法忍受那长达20多个小时的编译时间,真是枯燥而且无聊,还不能离开

可以使用ALFS

我爱DDR 发表于 2006-4-3 12:18:13

LFS是什么动动
页: [1]
查看完整版本: 关于鼠标滚轮的解决办法