mouse wheel doesn't work

Zhang Weiwu zhangweiwu at realss.com
Sat Jul 21 02:40:07 UTC 2007


On Sat, 2007-07-21 at 01:42 +0200, Nikola Lecic wrote:

> Yes, this is more likely -- the trackpoint and external ps/2 mouse
> collide. 

Thank you for the information! Now I have made it work.

0) edit /etc/rc.d/moused, remove '-t {$mytype}' from moused parameter
list:
#/usr/sbin/moused ${myflags} -p ${myport} -t ${mytype} ${_pidarg}
/usr/sbin/moused ${myflags} -p ${myport} ${_pidarg}
1) enter DOS mode with a Windows 98 rescue disk
2) use the PS2.EXE form Lenovo, run 'ps2.exe tpoint autodisable';
3) reboot, enter FreeBSD, mouse wheel is working now.


It's important to do step 0 because moused can only forward wheel scroll
to X if it's invoked without "-t" parameter. I think there are two bugs:

Bug A:

        As manual of moused says:
             For the PS/2 mouse:
             ps/2             This is the only protocol type available for the
                              PS/2 mouse and should be specified for any PS/2
                              mice, regardless of the brand.
        In fact, it is wrong! If I invoke moused with -t ps/2, mouse
        wheel doesn't work.

        This doesn't work (according to manual it should): 
        "moused -p /dev/psm0 -t ps/2"
        In fact, only this works: "moused -p /dev/psm0", no "-t"
        parameter.

        This must be a bug. 100% of all users who read the manual should
        directly conclude they should get equal or better result with -t
        ps/2 than with no "-t" parameter for their ps/2 mouse, this is
        wrong, they get better result without "-t" parameter.

Bug B:

        As said in the manual, -t is an optional
        parameter. /etc/rc.d/moused should respect this.
        
        If user didn't specify -t, then it should not assume to use "-t
        microsoft", it should launch moused without "-t" parameter. Even
        if there is a good reason to assume the device is microsoft
        type, this assume logic should be placed in moused source code.
        Moused should be the one knowing how to handle different
        situation automatically and fall-back sanely. The rc.d script
        tries to do too much and think it's smarter then device driver
        on deciding device type without even communicating to device at
        all.
        
        This is a user's point of view and welcome developer with
        background knowledge to correct me.

Thanks again Nikola for helping me out!

Best Regards

Zhang Weiwu



More information about the freebsd-questions mailing list