mouse wheel doesn't work

2007-07-20 Thread Zhang Weiwu
Dear everyone on the list

On my xorg-6.9.0 installed on FreeBSD 6.2, USB mouse work just fine with
mouse wheel; ps/2 mouse do not work. Nothing happens when scrolling
mouse wheel.

As I have only one ps/2 mouse I cannot test if all ps/2 mice suffer from
such problem or just this one, but I am sure this mouse works fine on
Windows and Ubuntu Linux with wheel.

By testing with xev it turns out no event is sent to X when scrolling
mouse wheel. By running 'moused -df -p /dev/psm0' it turns out mouse
daemon is not aware of scrolling at all (no message output when
scrolling wheel, a lot of message output when moving mouse or clicking).

Various parameter of moused is tried, including '-z 4' and various mouse
type (which always get me the message mouse type mismatch (ps/2 !=
mouseman), ps/2 is assumed, as manual suggested there is only one type
for ps/2 mice).

Mouse section of xorg seems to be correct, and I think it's not useful
to tweak X configuration if moused cannot by itself detect mouse wheel
movement.

Section InputDevice
Identifier  Mouse0
Driver  mouse
Option  Protocol auto
Option  Device /dev/sysmouse
Option  Buttons 5
Option  ZAxisMapping 4 5
EndSection

xmodmap also shows there is no re-mapping of mouse buttons. Again if
moused isn't aware of scrolling, working on X level doesn't seem to be
helpful.

The box is thinkpad 380XD with an IBM red check-point on the keyboard,
which as far as I know is also /dev/psm0, probably something on hardware
level is done to merge signal of check-point and real ps/2 mouse
together, and mouse wheel movement might be dropped during this merge.

manual pages for psm0 suggested there are multiple operation level of
the driver, at level one wheel events are ignored, at level two wheel
events are included. The manual suggested how to set operation level in
C, but didn't say how to set or get current operation level with command
line (if it's possible at all).

If it's because the model if my mouse is happen not to be in the model
database of psm0 then what should I do to submit my mouse model to the
database to help FreeBSD have a larger coverage of hardware information?

Thanks. 

P.S. I can use USB mouse which is fine, just still like to ask about
PS/2 mouse out of curious. 

Best Regards

-- 
锐业软服(国内业务)  http://www.realss.cn
Real SoftService  http://www.realss.com
销售咨询(Sales Department): 0086 592 20 99987 (Chinese, German, English)
国际业务(International Sales): 0086 10 8460 6011 (German and English)
联系:厦门大学科技园,嘉庚二号楼6楼
邮政:厦门大学2312号信箱(邮编361005)

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: mouse wheel doesn't work

2007-07-20 Thread Nikola Lecic
Hello,

On Sat, 21 Jul 2007 05:02:49 +0800
Zhang Weiwu [EMAIL PROTECTED] wrote:

 Dear everyone on the list
 
 On my xorg-6.9.0 installed on FreeBSD 6.2, USB mouse work just fine
 with mouse wheel; ps/2 mouse do not work. Nothing happens when
 scrolling mouse wheel.
 
 As I have only one ps/2 mouse I cannot test if all ps/2 mice suffer
 from such problem or just this one, but I am sure this mouse works
 fine on Windows and Ubuntu Linux with wheel.

I think that then middle (wheel) click doesn't work; if it does, then
just copy Ubuntu xorg.conf entry or check if trackpoint and external
ps/2 mouse use different /dev.

 The box is thinkpad 380XD with an IBM red check-point on the keyboard,
 which as far as I know is also /dev/psm0, probably something on
 hardware level is done to merge signal of check-point and real ps/2
 mouse together, and mouse wheel movement might be dropped during this
 merge.

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

 Mouse section of xorg seems to be correct, and I think it's not useful
 to tweak X configuration if moused cannot by itself detect mouse wheel
 movement.
 
 Section InputDevice
 Identifier  Mouse0
 Driver  mouse
 Option  Protocol auto
 Option  Device /dev/sysmouse
 Option  Buttons 5
 Option  ZAxisMapping 4 5
 EndSection

Generally, using two parallel mouse devices calls for two separate
InputDevice mouse entries and for SendCoreEvents option.

 xmodmap also shows there is no re-mapping of mouse buttons. Again if
 moused isn't aware of scrolling, working on X level doesn't seem to be
 helpful.

Please read this page:

  http://salisburys.net/PetersNotes-TW.html
  (choose External mouse wheels and wheel emulation...)

and consider experimenting with this:

  http://tpctl.sourceforge.net
  
It doesn't seem ported, but they claim it runs on *BSD. Read the man
page, --setup-pointing-device* options could maybe solve the problem.

(tpctl should be started _before_ X.)

Nikola Lečić
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: mouse wheel doesn't work

2007-07-20 Thread Zhang Weiwu
On Sat, 2007-07-21 at 01:42 +0200, Nikola Lecic wrote:
 I think that then middle (wheel) click doesn't work; if it does, then

The middle click does work! However there is no middle key on thinkpad
track-point, thus it means at least some signal cannot be produced by
track-point is delivered to FreeBSD.

 just copy Ubuntu xorg.conf entry or check if trackpoint and external
 ps/2 mouse use different /dev.

Unfortunately it seems in dmesg only psm0 is discovered. dmesg attached

  Mouse section of xorg seems to be correct, and I think it's not useful
  to tweak X configuration if moused cannot by itself detect mouse wheel
  movement.
  
  Section InputDevice
  Identifier  Mouse0
  Driver  mouse
  Option  Protocol auto
  Option  Device /dev/sysmouse
  Option  Buttons 5
  Option  ZAxisMapping 4 5
  EndSection
 
 Generally, using two parallel mouse devices calls for two separate
 InputDevice mouse entries and for SendCoreEvents option.

Yes, if track-point and PS/2 have been discovered as two devices. 

 Please read this page:
 
   http://salisburys.net/PetersNotes-TW.html
   (choose External mouse wheels and wheel emulation...)

Very smart:)

 
 and consider experimenting with this:
 
   http://tpctl.sourceforge.net
   
 It doesn't seem ported, but they claim it runs on *BSD. Read the man
 page, --setup-pointing-device* options could maybe solve the problem.

compile failed with a lot of error messages. I'll try the good old
PS2.EXE later on DOS.

Thanks for all the info and help:)


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: mouse wheel doesn't work

2007-07-20 Thread Nikola Lecic
On Sat, 21 Jul 2007 09:33:53 +0800
Zhang Weiwu [EMAIL PROTECTED] wrote:

 On Sat, 2007-07-21 at 01:42 +0200, Nikola Lecic wrote:
  I think that then middle (wheel) click doesn't work; if it does,
  then
 
 The middle click does work! However there is no middle key on thinkpad
 track-point, thus it means at least some signal cannot be produced by
 track-point is delivered to FreeBSD.

In Ubuntu? Please don't forget that Linux and FreeBSD use the same
Xorg, there is nothing Linux-specific about it. What can be the
difference, however, is that Linux maybe uses tpctl -- please check if
it is so.

But even so, maybe some functionality (of the trackpoint for example)
must be sacrified in order to get the external wheel working.
 
  just copy Ubuntu xorg.conf entry or check if trackpoint and external
  ps/2 mouse use different /dev.
 
 Unfortunately it seems in dmesg only psm0 is discovered. dmesg
 attached

dmesg is not here :)

  Please read this page:
  
http://salisburys.net/PetersNotes-TW.html
(choose External mouse wheels and wheel emulation...)
 
 Very smart:)

Well, have you tried that? (And I fotgot to ask: does wheel-click in
FreeBSD produce an X event?)

  and consider experimenting with this:
  
http://tpctl.sourceforge.net

  It doesn't seem ported, but they claim it runs on *BSD. Read the man
  page, --setup-pointing-device* options could maybe solve the
  problem.
 
 compile failed with a lot of error messages.

Ah, welcome to the realm of truth! A part of the world (very bad for
them) is gnu/linux-centic. I can't test it at the moment since
sourceforge is currently down, but please note two things:

  (a) configure script often can't find where libraries are installed;
  please take a look at './configure --help' and provide the
  correct paths where necessary;

  (b) don't forget that make (BSD make) is not fully compatible with the
  syntax of GNU Makefiles, so in that case you have to explicitly
  run 'gmake' when compiling something out of ports.

(If you can't compile it, start a thread about it, people will jump in
to help. Maybe you might even consider porting that peace of software to
FreeBSD :))

 I'll try the good old PS2.EXE later on DOS.

As you see, tpctl provides the same functionality as PS2.EXE and is
very feature-rich (much more beyond wheel functionality). I checked,
your Thinkpad model is listed as fully supported.

Nikola Lečić
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: mouse wheel doesn't work

2007-07-20 Thread Zhang Weiwu
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

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]