• Linux下用鼠标滚轮


    我的电脑是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 -xvjf linux-2.6.12.tar.bz2
    cd linux-2.6.12

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

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

    安装新内核,这里我们不执行make install,而是手动复制:
    # cp -v arch/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)
    kernel bzImage-2.6.12

    重新启动,再按步骤1重新配置,应该就可以了。

    声明一下:如果你按照我的方法编译内核,造成某些麻烦,别找我^_^
  • 相关阅读:
    mysql DATE_FORMAT FROM_UNIXTIME 的区别
    thinkphp按日期(天)统计数据
    ThinkPHP5 (mySQL) 统计各个时间段内的订单量
    转:mysql按时间统计数据,没有数据的时候自动补充0
    SQL的各种连接Join详解
    查询近7天,近1个月,近3个月每天的数据量,查询近一年每个月的数据量
    MySQL 如何生成日期表
    MySQL 生成日期表
    linux达人养成计划学习笔记(一)——命令基本格式及文件处理命令
    rviz学习笔记(二)——Markers: Points and Lines (C++) 点和线
  • 原文地址:https://www.cnblogs.com/huqingyu/p/369791.html
Copyright © 2020-2023  润新知