Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
X GUI

Better Mouse Drivers For X11? 23

OvenMitt asks: "I've asked many people the same question and have yet to get an answer. I've RTFM over and over with no luck whatsoever. So I ask you guys: how can I get smooth mouse acceleration in XFree86 4.x? I used to remedy the situation in XFree86 3.3.x by setting the SampleRate and Resolution modifiers in the XF86Config file to some ridiculous number, but this doesn't work at all in XFree86 4.x. I'd go back to XFree86 3.3.6, but I just got a Geforce2 and my thirst for Unreal Tournament forces me to bite the bullet. I use a Kensington Expert Mouse,which is actually a very large trackball, and sometimes I feel like I'm playing marble madness when trying to get my pointer from one side of the screen to the other. Are there any alternative mouse drivers for X in development? I'd give up my Kensington Expert Mouse, but it is the absolute greatest trackball I've ever used in my life and well worth the cash IMHO."
This discussion has been archived. No new comments can be posted.

Better Mouse Drivers For X11?

Comments Filter:
  • One of the basic tenets of my assessment process is that I let my clients try out all sorts of different trackballs, touch pads,mice and pen input devices before I get to the stage where I reccommend a solution.
    It's worth trying out a whole bunch of pointing devies before you buy. What might look like a real funky pointing solution might be a pile of pants in actual day to day use.
    If the vendor doesn't want to let you try before you buy then go elsewhere. A dodgy mouse can cause you immense amounts of pain and distress.

    Your solution is based entirely upon your own phisiology and medical history and not on what looks funky at the time.
    As they say on Hill Street Blues... Let's be careful out there...

    Ian

  • by dougmc ( 70836 ) <dougmc+slashdot@frenzied.us> on Tuesday March 06, 2001 @08:44AM (#381715) Homepage
    This does it fine for me with Xfree86 4.0.1 --

    Section "InputDevice"
    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol" "IMPS/2"
    Option "Device" "/dev/mouse"
    Option "Resolution" "1200"
    Option "Buttons" "5"
    Option "ZAxisMapping" "4 5"
    EndSection

    I've got one of those Microsoft Optical mice (the cheap one.) Very nice mouse at a good price ($20-$30.)

    The keys are the correct protocol (not just PS/2), and adding the appropriate Buttons and ZAxisMapping lines.

    Do be aware that the PS/2 extensions often don't work through KVM switchs (in mine, it works only if the KVM is switched to each computer as it boots up. If I do that, it works fine. If not, it only sees my mice as standard three button mice. It's not too hard to understand why.)
  • by The Pim ( 140414 ) on Tuesday March 06, 2001 @06:19AM (#381716)
    The mouse speed controls in XFree86 are very crude; but if all you want is to make the pointer move quickly, just look at xset(1). Note that the acceleration is interpreted very differently depending on whether you have a (non-zero) threshhold: with a threshhold, it is a simple multiplier; without, an exponent. Very different feels, so try both ways. Also note that the acceleration can be a fraction (not a decimal!).
  • One more thing ...

    Wheel support is application specific. Mozilla uses it natively, but other applications often require some ~/.Xdefault changes, or mapping the wheel events to other events.

    For a good bit of background on all of these changes, check out -

    http://www-sop.inria.fr/koala/colas/mouse-wheel-sc roll

    I tried to make that a link, but /. didn't like it. How do I do that anyways? /. also seems to be introducing a space that I can't remove. You'll have to remove it manually.

  • Download 4.0.2, a major bug was fixed and the mouse is now smooth.
    See http://www.linuxgames.com/news/index.php3/3072 [linuxgames.com]
  • It has 4 buttons, but under X the top two act exactly like the bottom 2. Setting buttons=4 in my XF86Config didn't help. Has anyone had luck making these buttons do something useful?
  • I've been waiting for this for years, as well. However, I just tried the ThinkingMouse protocol, and (unsurprisingly) got no love in XFree 4.0.2, on FreeBSD 4.2-stable. I tried the following:

    Section "InputDevice"
    Identifier "ExpertMouse"
    Driver "mouse"
    Option "Protocol" "ThinkingMouse"
    Option "Device" "/dev/psm0"
    Option "Buttons" "4"
    EndSection

    But the pointer didn't move properly, and none of the buttons worked. The system doesn't even recoginize ThinkingMousePS/2 as a protocol, and forget trying it with moused. More X lameness.

    Anybody gotten this to work in XFree 4.x?

    (jfb)
  • If you like the Kensington Expert trackball then you might like to consider the Penny & Giles Trackball Plus which has accelleration rates etc set in hardware. These are aimed at the special access needs market - and what could be more special than needing to play your favourite game? :-)

    Penny & Giles are the folks who make the "black box" recorders for jet aircraft and the space shuttle. Needless to say their pointing devices are robust howerver you are likely to pay upwards of GBP 200 for an example of their fine engineering skill.

    Hope this helps

    Ian

  • Does anyone have the mouse wheel working for scrolling under X? Please post any pointers to get this working
  • Check out IMWHEEL. It'll get your wheel spinning. 8-) Do a search on freshmeat.net or something to track it down. I'm too lazy to do your searching for you.
  • I have a Kensington TurboMouse working under Debian's XFree4 (not sure if that's the same as the ExpertMouse or not -- the TurboMouse is a Mac trackball).

    Caveats: My system is a Mac clone, using ADB for the keyboard and trackball/mouse.

    Section "InputDevice"
    Identifier "ADBMouse"
    Driver "mouse"
    Option "CorePointer"
    Option "Device" "/dev/adbmouse"
    Option "Protocol" "busmouse"
    EndSection

    I have (only) three mouse buttons working, and I run xmodmap when I start X to swap two of them around -- my ~/.Xmodmap file contains pointer = 1 3 2; the equivalent command line would be xmodmap -e 'pointer = 1 3 2'.

  • Have you tried the PS/2 variant of the Thinking Mouse protocol?

    ie.
    Section "InputDevice"
    Identifier "ExpertMouse"
    Driver "mouse"
    Option "Protocol" "ThinkingMousePS/2"
    Option "Device" "/dev/psm0"
    Option "Buttons" "4"
    EndSection

    More details at XFree86 [xfree86.org]

    Cheers,

    Toby Haynes

  • I'm partial to the Logitech Trackman FX. Logitech has a nasty habit of putting the trackball under thumb control while clicking with fingers, but the FX is the other way around: a nice BIG trackball, ergonomic shape, and four buttons (two fumb activated, two pinkie) for your clicking pleasure. it is a GREAT input device; well worth the $70 it cost me at compusa.
  • Yes, under: Section "InputDevice"
    put this:

    Option "Protocol" "imps/2"
    Option "ZAxisMapping" "4 5"

    For some reason, I've also only had success with the mouse in general by also putting this in the secion:

    Option "Device" "/dev/psaux"

    instead of "/dev/mouse". Probably just a missing symlink, but I'm too lazy to make one.

    -mdek.net [mdek.net]
  • I got expert mouse to work properly with XFree86 3.3.6 on Debian potato, just this weekend. From my past setups, I completely understand the "Marble Madness" thing. I use vitual desktops and edge flipping. Try going 3 or 4 screens with one massive swipe of the mouse hand! :-D

    But then, I used the debian server config program, and SHOCK!!!! I got the upper left button to be mouse button 2, AND high resolution movement. YEARS I worked on that. YEARS, do you hear me? YEARS!!!

    Here is my working mouse config from /etc/X11/XF86Config:

    Section "Pointer"
    Protocol "ThinkingMousePS/2"
    Device "/dev/mouse"
    Emulate3Timeout 50
    Resolution 200
    Buttons 3
    Emulate3Buttons
    EndSection

    Apparently the ThinkingMousePS/2 thing works on my box. I'm sure I must have tried that in the past. But maybe not? I ran XFree86 4 for awhile but I didn't ever try this exact config with it. Maybe it will work.

    Under this configuration the the lower mouse buttons are left and right, and the upper left is mouse button 2. I'm not sure about the upper right mouse button. Configured as a four button mouse, that button may or may not work as button 4. YMMV.

    I left in Emulate3Buttons becuase I already have "chording" habits. No need to torture myself.

    Also, FWIW, I'm using the "old" S3 Virge server. Yeah, I'm a real miser.
  • I heard that Xfree86 doesn't have support for more than 4 (or 5) buttons. The scroll wheel counts as three buttons (up and down and click), plus the right and left button, reaching the limit. However, if there is a way to overcome this, I'd like to hear of it, as being able to use those extra thumb buttons would be great!

    -mdek.net [mdek.net]
  • Yep. X (built from CVS sources) barfs and says that protocol isn't supported on this platform. And when I go look at the psm(4) manpage, there's nothing about the ThinkingMousePS/2 protocol.

    What's irritating is that if I hook the mouse up to the serial port and probe it with moused -d /dev/cuaa0 -i all, the system reports it properly as a ThinkingMouse.

    (jfb)
  • but how is the speed in X 4.0.2 ? Do all of the buttons work? -OvenMitt
  • Unfortunately that limitation of 5 buttons is a limitation of X in general. When X was envisioned, 5 seemed like a good maximum number (forget the CAD digitizer pucks with 16 buttons) for a mouse.

    If you want portable X client applications, you're stuck with that limitation, although you could always roll your own X extensions to support more than 5 buttons and be incompatible with the rest of the world. The current hack is pretty bad, but there really isn't much you can (or would want to) do.

  • Try this, I have a Cordless MouseMan Wheel and this works....

    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol" "imps/2"
    Option "Device" "/dev/psaux"
    Option "Buttons" "6"
    Option "ZAxisMapping" "4 5"
  • Using a mouse driver set called 'JAM [jonatkins.org]' and IMWheel [jonatkins.org], you can bind your 4th and 5th (6/7 if you count the wheel) normal buttons to the Thumb button, which IMWheel can then use to emulate a keypress...

    Basically.. over with my howto of LHL [linuxgames.com] I was able to play CS with: Mouse 1, 2, 3. Mousewheel up/down and the two thumb buttons - only constraints: the thumb buttons pressently act as one button, because of IMwheel, the guy that wrote IMWheel and JAM is also going to write XWheel which will support much more buttons. Also, its kinda hard to get working, still some bugs.. but if people start using it, then maybe he can get some help from other developers!
  • XFree has two mouse speed. The default and the accelerated, when you move faster than some threshold. You can use xset to configure the multipler and divisor for the accelerated speed.

    Unfortunaly, there is no smooth acceleration in X. By smooth I mean that the actual cursor speed moves by some function of the actual mouse speed, which is NOT linear. E.g. cursorspeed = mousespeed ^ 1.25. This gives polynomial speed, which MS OS has had since I do not know when.

    In DOS, the mouse drivers provided by Logitech and other had this feature, also known as "ballistic" acceleration (if you did not know, Ballistic is a polynomial movement). The is also used in Windows today.

    When I first used X11, I too had problem using the mouse, because of the lack of ballistic movement, but you get used to it! I can see the problems with trackballs though, where you have a harder time moving the longer distances.

    Fortunately Quake3Arena for Linux has its own Mouse acceleration/ballistics which makes the controls right. But if you try running windows q3a through Wine, you can experience this problem. Q3A for Window depends on windows to do the ballistics, but they are not provided in Wine, so the controls are very bad. You can turn, but you cannot turn fast because the acceleration is linear (even when accelerated).

    Beg the XFree86 project for ballistic mouse acceleration! It's not really a driver problem.

  • Emulating a keypress is actually what the Microsoft wheely optical mouse does for the side thumb and pinky buttons. They aren't button 6/7.

    Wouldn't pressing them show up as a keycode in xev?

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...