Cheers!
Colin
AFAIK, Solaris 10 can usually handle 3 buttons plus (in many cases)
vertical scroll, where up and down steps map to clicks of
fictitious buttons 4 and 5 (which is how other implementations handle
this also). I think that horizontal scroll functionality first appeared
in a patch to either Solaris 8 or Solaris 9; my Sun Blade 100 still has
Solaris 9, and the scroll wheel on the Logitech TrackMan attached to it
works just fine. New Sun mice have a vertical scroll wheel that doubles
as the middle button, like most mice do nowadays. (OTOH, I've seen systems
running Solaris 8 where a scroll wheel didn't work.)
Core X pointer devices can only _fully_ support 5 buttons. However, they
can support _some_ actions on additional buttons, enough that I think
it's common enough to map horizontal scroll steps to clicks of buttons
6 and 7.
Still, because of the core X pointer device limitations (changing them
would be a no-no because it would break either binary compatibility or
over-the-wire compatibility for remote display, or both), most programs
won't be able to do anything with more than five buttons (or given that the
UI toolkit in use supports it, 3 buttons, vertical, and even horizontal
scroll, as previously described).
I'd have to dig a bit to get it right as to which way around up/down vs
4/5 (or left/right vs 6/7) go, or _exactly_ why core X pointer devices
couldn't be redefined to handle something with a lot more functionality.
But I'm sure I'm close enough that you get the general idea.
There have been drivers for fancier devices, like the buttonbox/dialbox
combination (8 dials on the dialbox, and I think 16 buttons on the
buttonbox, with individual lights on each button yet). Or 3-D space mice.
But those are treated as X extension devices, which very few apps, let
alone UI toolkits, know anything at all about. Normally, a single device
cannot be both a core X device and an extension device at the same time,
but some get around that by pretending to be two devices, so that all
programs can use the basic functionality, and those that understand about
extension devices can look for and use them instead. So there's just enough
infrastructure in X11 that greater functionality is not totally impossible.
But to have apps and desktops that actually used more than core functionality
would mean getting those smarts into widely used toolkits (like GNOME's
GTK or KDE's Qt). I have no idea at all what if anything is happening there,
but I think that's where one would have to look for widespread support of
extended input device functionality under X11.
I think the situation on Solaris is about on par with where it is on Linux
regarding common pointer devices (give or take that I think the Synaptics
touchpad driver just got added to OpenSolaris, which presumably means it's
_not_ in Solaris 10 AFAIK). Add-ons like tablets are of course going to
be harder to find drivers for (although I think I saw one once).
But I think it's safe to say that if you can't get all your mouse's buttons
and features to work under X11 on Linux, you probably won't ever see them
working under X11 on Solaris, either, because the limitation is ultimately
not the OS, but X11.
Wow, that was...comprehensive. Thank you Richard!
The mouse in question is a new Logitech with, as near as I can count
(because Logitech's documentation is unexpectedly crappy) eight buttons
plus the scroll wheel. The two main buttons, scroll wheel, and scroll wheel
button all work, so that would be the five you mention. That leaves five
buttons that aren't working. Pity.
Colin
BTW, I think there's a potential for things getting better, _eventually_.
I saw something about (I think)I a revision to X11 input extensions.
Until that, a device could at any given time be a core X device (with the
limitations that had), or an extension device (which could handle something
like 32 buttons and 8 axes of motion, if memory serves). But it couldn't be
both at once. I think the new revision will allow a device to be both at
once, so that older programs that didn't know about extension devices could
use the more limited capabilities, and newer ones could use a greater range
of capabilities.
I wouldn't expect to see that for awhile though; even once that revision is
incorporated, it wouldn't be useful to most people until toolkits and programs
were revised to take advantage of it.
But as long as the present situation holds (who knows what Oracle may do in
terms of Solaris on the desktop?), I wouldn't expect Solaris to fall too
far behind Linux (or rather, X11 on Linux or other platforms) anyway,
whatever comfort that might be.
My personal suspicion is that it might not be ten-button mice that move things
along, but more interesting devices like affordable 3D mice, datagloves, full
body motion trackers, etc.
> In article <hf14an$ot$1...@aioe.org>,
> "Colin B." <cbi...@somewhereelse.shaw.ca> writes:
>> Richard L. Hamilton <rlh...@smart.net> wrote:
>>> In article <he468g$iiu$1...@aioe.org>,
>>> "Colin B." <cbi...@somewhereelse.shaw.ca> writes:
>>>> Bit of a shot in the dark here, but is anyone using a fancy new
>>>> mouse (in my case, the Logitech MX620) with Solaris 10 (Sparc),
>>>> and getting the various accessory buttons to work? I'd love to
>>>> get the side buttons (forward and backward) functioning, if
>>>> possible.
I'll add that I have a logitech mouse with a single side button which
works. I use it in my emacs to page down, and it wors "out of the
box" as autorun in WoW (through Wine). I'm using build 115 of
OpenSolaris.
I have, as of yet, not found other uses for it.
Johann -- who deleted all the interesting text below.
(Not knowing what of the above to delete, I'm just
leaving it all there.)
Right now I'm using Windows XP with a Microsoft mouse that,
on top, has a LEFT, a wheel, and a RIGHT, and one more on
each side (on each vertical wall of the mouse).
Those final two work for going fwd and backward in eg firefox.
I stupid MS can have these things working ok, why the H. can't
sun! Maybe we should complain to that guy who runs Oracle?
(Oh, was a bit surprised when earlier today I typed in www.sun.com and up came
Oracle!)
David
Windows can "support" every gadget imaginable because (a) the
cost is spread out over a _lot_ of units being sold, and (b) that
means that in many cases, the hardware vendors rather than MS pay
for the driver support. The quotation marks are because
sometimes the quality of that support is crap; you take some 3rd
party hardware vendor writing their own drivers by outsourcing
the programming to someplace where they barely speak English, and
you get something people end up complaining about; it works
sometimes, and sucks the rest of the time.
Solaris doesn't have those advantages of scale. Further, as long
as it (and Linux, and just about every other Unix-like OS except
Macs) uses X11 as its primary graphical interface, it's subject
to the architectural limitations of X11. Eventually it will
become less limited, or rather, it will become so that accessing
above-average features of an input device isn't such a burden on
the application programmer. But it isn't there yet, and I don't
expect that Linux is either. Even on a Mac, I'd probably have a
rough time finding support for a five button plus scroll wheel
mouse. Heck, Macs have their incredible "Magic" Mouse (where the
entire top of the mouse is essentially a touchpad). But even
though Apple invented that mouse _and_ owns the OS, it was up to
3rd party folks to figure out how to get gestures beyond just
horizontal and vertical scrolling out of it. In that case, it
wasn't so much an architectural limitation as that Apple
(apparently) hadn't thought through and done something with the
full capabilities of the device before putting it on the market.
And for Apple, desktops are what they do, whereas for Sun/Oracle,
desktops have fallen to a distant 2nd place in favor of servers
(although some Solaris users would say that even then, desktops
have gotten too much attention at the expense of servers...but
now that I think about it, even Apple probably does as much or
more with iPhones and iPods and the iTunes/Apps stores as with
desktops...maybe desktops are on the decline period).
Similarly, if someone really wanted to, I bet that once Xi2 is
available, and even before toolkit (Gtk+ or whatever) support is
available to make above-average input device functionality
readily available to applciation programmers, with X11, one could
create drivers that could read all the different buttons, and a
separate program that would "grab" all functionality beyond the
basics and allow it to be mapped to known sorts of events, like
accelerator keys. That would allow the overall desktop
environment (although not any particular program in detail) to
benefit from the extra functionality of the device.
I would not however expect Sun (Oracle), or even RedHat to pay
for most of that though; and for sure, the makers of the fancy
input device wouldn't bother, since they make 99% of their money
from Windows users. I'd expect that most of the initial work
would be done by individuals, just because they want it to happen
and think they know enough to get it done sooner themselves.
You could be one of those individuals. Or you could offer a
bounty to someone to do the work. Maybe you're hoping that if
you're annoying enough, someone will do it just to get you to
_shut_up_. Tempting, but I'm sorry to say it takes less time
(and is about as much fun) to tell you where to get off than it
would take to implement a solution to your problem, which is so
not _my_ problem because I don't work for Sun/Oracle, and I don't
own a five button mouse...
>
>I would not however expect Sun (Oracle), or even RedHat to pay
>for most of that though; and for sure, the makers of the fancy
>input device wouldn't bother, since they make 99% of their money
>from Windows users. I'd expect that most of the initial work
>would be done by individuals, just because they want it to happen
>and think they know enough to get it done sooner themselves.
>
>You could be one of those individuals. Or you could offer a
>bounty to someone to do the work. Maybe you're hoping that if
>you're annoying enough, someone will do it just to get you to
>_shut_up_. Tempting, but I'm sorry to say it takes less time
>(and is about as much fun) to tell you where to get off than it
>would take to implement a solution to your problem, which is so
>not _my_ problem because I don't work for Sun/Oracle, and I don't
>own a five button mouse...
Thanks for the clear explanation!
You might not have a 5-button mouse, but once you tried one, you'd
sure like it. Makes browsing so much easier -- go back just by
clicking the "button" (long) along the left wall, and back
forward again by the one on the right wall.
Sure beats having to move the mouse up to those arrows at the
upper left corner of the screen.
And the wheel is *really* nice.
Now, I bet (well, hope) sun DOES support that, the wheel?
Thanks,
David
Solaris has supported vertical scroll for a long time, the same way
Linux does (steps of the wheel up/down correspond to clicks of
a fictional 4th/5th button, although I may have that backwards).
Not sure whether or not they implemented support for _horizontal_
scrolling, which pretends to use buttons 6 and 7 similarly.
The vertical scrolling does indeed work as advertised. Horizontal
scrolling in Solaris doesn't. I have a Logitech MX620 here (best mouse
ever - but still not perfect), and find the following works:
- mouse movement
- left, right, and centre buttons
- vertical scroll
What doesn't work is:
- horizontal scroll
- forward/back buttons on the side under the thumb
- the 'magnifier' button
I'm sharing my keyboard and mouse with other machines (running Windows)
via synergy (http://synergy2.sourceforge.net/) and none of the non-working
signals are passed to the other machines either.
Presumably the buttons/features on more complicated mice would fail
as well.
Colin
What would it take to hack -- what, the driver for solaris? --
so that the fwd and backward (for firefox) WOULD work.
That feature is SO valuable (as I use it here on a cheap Dell).
(Keep saying I'll take the mouse upstairs to the blade-2500, but
haven't gotten around to it yet.)
David
The GUI on Solaris is X11, just like on Linux. In Solaris 10
and earlier, it's their own variant of the X server, diverged
enough that a lot of the code is different. In OpenSolaris,
the new X server (Xorg instead of Xsun) is almost identical
to the open code (some added or left out as needed), and
is open (except where proprietary graphics card drivers are
involved - that happens sometimes too even on Linux).
If one could demonstrate that a many-button and multi-scroll
mouse worked under X11 on Linux, one could perhaps look at
the differences to see what would be needed to make it work
on Xorg on OpenSolaris. Xsun is dead - bug fixes only, AFAIK.
Adding functionality, even functionality that others already
have, is not a bug, per se.
But even if it was "easy", that's more than a few hours of
work for someone with major clue (of which there are few),
plus all the process needed to ensure it's correct and
otherwise suitable and acceptable. _If_ someone with
suitable clue had the time, it might get done (for OpenSolaris,
not for Solaris 10 and earlier) in a matter of months.
Most people with sufficient clue have their time filled up,
AFAIK.
I don't have sufficient clue in Xorg code or USB drivers
to be any use, nor the time or attention span to aquire,
let alone apply, said clue...