Slashdot Mirror


The Multi-Pointer X server

worufu writes "Some weeks after releasing the MPX (Multi-Pointer X Server), the Linux world slowly seems to draw attention to the project which opens up the limits of simultaneous input devices of the current X server. The future possibities are unlimited and I cannot wait to see some nice applications supporting the advantages of multiple input devices.
From the project description: 'The Multi-Pointer X Server is an enhanced X server to support multiple mice. It provides users with one cursor per device. Each cursor can operate independently. A multicursor windowing system allows two-handed interaction with legacy applications, but also the creation of innovative applications and user interfaces.'"

26 of 115 comments (clear)

  1. Multi-Mouse by Nation+XII · · Score: 5, Funny

    FINALLY! I can play multi-player xPong at work and never again have to argue who gets the mouse!

  2. Window stretching by glowworm · · Score: 2, Interesting

    I was a little sceptical, but after I RTFA and watched the demo I would definately love to see some of those techniques make their way into window managers. Applying the snippet of the demo with the photo light box to the desktop would be quite nice, resizing windows by pulling the corners apart, flicking them into corners and so on.

    Mind you, how do you keep the screen clean of fingerprints and pizza grease smears.

    --
    Orationem pulchram non habens, scribo ista linea in lingua Latina
  3. Reminds me of Anakin by cerberusss · · Score: 4, Funny

    Using two mice reminds me of Anakin Skywalker, with his two lightsabers. And I don't need to remind ANYONE here what happened to HIM.

    --
    8 of 13 people found this answer helpful. Did you?
    1. Re:Reminds me of Anakin by BlueBlade · · Score: 2, Funny

      You mean he went on to be the second most powerful person in the universe for 30 years? Call me evil, but... where do I sign up?

      --
      Religion is the best example of mass psychosis
    2. Re:Reminds me of Anakin by hey! · · Score: 2, Interesting
      Yeah, George Lucas turned him from evil super-villain to whiny teenage brat in the space of just three films.

      Which goes to show you that truth isn't so much stranger than fiction than it is less credible. Evil men aren't the titans they like to portray themselves as. They are typically petty men, puny vindictive characters whose insecurity worms away at their ego, driving them to seek external validation by extravagant displays of power and cruelty.

      When social scientists and political thinkers looked at what had gone wrong with Germany after the Second World War, they were shocked, not by the party laders' excesses of cruelty, which they were prepared for, but by their dreary, commonplace character. Hannah Arendt coined a phrase for this: "The Banality of Evil".

      Think Kim Jong Il. You wouldn't hire him to run a hot dog stand, much less a country. He is very obviously a clown. But he's a ruthless clown with a talent for spreading fear.

      The problem with the episode one to three movies was that Lucas, freed from any artistic or financial limitations, produced a series of ponderous and excessive movies, like an over the hill prize fighter carrying fifty pounds of excess fat. But Anakin's annoying character was right on the money. Folks, he's supposed to be contemptible. In the original trilogy Darth Vader had a kind of evil glamour, like Satan in Paradise Lost:


      So farewell, hope; and with hope farewell, fear;
      Farewell, remorse! all good to me is lost;
      Evil, be thou my good; by thee at least
      Divided empire with Heaven's King I hold,
      By thee, and more than half perhaps will reign;


      Lucas wants to undermine this glamour, and show that Vader is really a pathetic character. Second baddest bad guy in the universe is not a happy job. Lucas obviously wants to make a philosophical point, and it's a good point. The problem is that he's not as entertaining doing it as when he's just hoping to be able to get the movie made.
      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  4. another way by qwp · · Score: 2, Insightful

    another way i can be at the computer, and yet someone can come up and steal it away from --

  5. Ah, memories by Yeti.SSM · · Score: 2, Funny

    This reminds me of "mice fight" we used to do sometimes with my friend.
    We plugged PS/2 and a serial mouse into one Windows 95 or 98 box and then moved both the mice simultaneously. Great fun, you bet! Duh...

    --
    R Tape loading error, 0:1
  6. I wonder... by durin · · Score: 3, Insightful

    ... when Microsoft will "innovate" this.

    --
    Why, yes! I AM new here.
    1. Re:I wonder... by mr_jrt · · Score: 2, Informative

      Windows had this at a low level ages ago, and DirectX supports multiple mice too. In the switch to Win2K+ however, Microsoft deemed it a security issue and made it damn near impossible to query multiple mice easily. Can still be done now, but you have to go much lower level to do so (capturing raw mouse events and decoding them yourself). Annoyed the hell out of me when my multiple mice were only ever being detected by DX9 as a single device trying to play multiplayer air hockey.

      --
      Boo.
    2. Re:I wonder... by Anonymous Coward · · Score: 2, Informative
  7. I would be a lot more impressed by Clockwurk · · Score: 3, Insightful

    if they made X natively support more than 3 mouse buttons. Or if X could automatically detect usable refresh rates/screen resolutions for my monitor.

    1. Re:I would be a lot more impressed by ratboy666 · · Score: 5, Informative

      X "natively" does support more than three buttons. AFAIR (and, its been a while since I've worked on the X server input section), the limit is 128 buttons.

      Ratboy.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    2. Re:I would be a lot more impressed by isj · · Score: 3, Informative

      The X protocol directly supports 5 buttons. Additional buttons can be supported by X Input Extension (XIE). The scroll wheel is usually handled via XIE.

    3. Re:I would be a lot more impressed by IBitOBear · · Score: 2, Informative
      I don't knw what you've tried, but I find that for my hardware and software auto-selection is a simple matter of _not_ _setting_ any refresh rate at all in the monitor section and then enabling DPMS. Your milage will vary of course depending on the hardware and driver in use.

      Notice what I commented out:
      Section "Monitor"
                      #DisplaySize 360 270 # mm
                      Identifier "Monitor1"
                      VendorName "VSC"
                      ModelName "A91f+"
                      #HorizSync 30.0 - 86.0
                      #VertRefresh 808531264.0 - 808792640.0
                      Option "DPMS"
      EndSection


      The problem is _actually_ that a lot of the configuration tools are not as well maintained as the server itself, so the data and patterns in the configuration programs are "a bit off".

      As a matter of course I generally configure by hand. First I do "X -configure" to get a good starter file. Then I comment out the sync rates as above and add "DefaultDepth 24" to the screen section.

      Also, if you use a KVM you have to be switched to the X machine when X starts or the DPMS can not do the configs.

      Next I make sure that I boot linux with psmouse.proto=any (to maximize the /dev/input/mice functionality).

      Finally I try to switch all the mice to evdev if there isn't a spesific driver with more functionality.

      Yea, it isn't effort free, but it is easy and optimal.
      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
    4. Re:I would be a lot more impressed by netfunk · · Score: 2, Informative
      The scroll wheel is usually handled via XIE


      No it's not. It generally maps to buttons 4 and 5, specified in your X server config file, and causes problems for hardware with more than 5 buttons. XInput is rarely used by most apps (and most X servers), and there're lots of programs out there now that would fail if you mapped the mousewheel to different buttons, since it's a de facto standard to have them on buttons 4 and 5.

      Drives me nuts when people say fundamentally incorrect things with authority, since they always get modded "Insightful."

      --ryan.

      --
      Don't say, "don't quote me," because if no one quotes you, you probably haven't said a thing worth saying.
  8. Race conditions by Carewolf · · Score: 3, Insightful

    What an excellent way to make every toolkit vulnerable to thousands of race conditions ;)

    You can probably crash 99% of all X11 applications using two pointers

    1. Re:Race conditions by ultranova · · Score: 2, Informative

      What an excellent way to make every toolkit vulnerable to thousands of race conditions ;)

      Um, what race conditions ? Here's the basic pseudocode to an X application:

      1. Initialize.
      2. Get next event from X-server.
      3. React to the event if neccessary.
      4. Go to 2.

      I don't really see how having 2, 20 or 200 pointing devices could cause any race conditions here. You just get 2, 20 or 200 times the amount of mouse events (assuming they are all actually used and won't just lie there) than before.

      You can probably crash 99% of all X11 applications using two pointers

      Can anyone out there test this ? Did your Gnome / KDE / Whatever desktop crash with two pointers ?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  9. About time! by MMC+Monster · · Score: 5, Interesting

    I always wondered when multiple mice would be supported.

    It's great for when someone remotely logs on to help a user with a problem.

    Gameplay would be very interesting - Use one mouse to point and shoot while using another to move around.

    You can tutor someone else on the same computer. Maybe have the mice look different so there's no confusion.

    --
    Help! I'm a slashdot refugee.
  10. Re:Good... by multipartmixed · · Score: 3, Funny

    Did you really mean BETWEEN slashdotters, or *amongst* slashdotters?

    Definately a different connotation.

    --

    Do daemons dream of electric sleep()?
  11. Legacy app problems? by AnyoneEB · · Score: 2, Insightful

    Couldn't this cause problems with legacy apps that assume that there is only one mouse pointer? I don't know about you, but I usually that onMouseOut is called when there is no mouse pointer over an object. I usually do not keep track of the number of mouse pointers in that instance. Then again, mouse overs are tend to be used for minor things like highlighting buttons the mouse is over.

    --
    Centralization breaks the internet.
  12. Lemmings by bhaak1 · · Score: 3, Informative

    Lemmings also had two mice support in the two player levels.

    As did a lot of games back on the Amiga, even PD games.

    I remember an Asteroid PD clone where you moved the character with one joystick and with the other joystick you controlled the fire beam.

    Was quite an immersive feeling.

  13. Re:2 person PC by hey! · · Score: 5, Insightful

    Well, I think you're on the right track here.

    In user interfaces, we basically assume that the computer interacts with one person at a tim But real world scenarios, two or more people can work on the same thing at the same time, or on different parts of the same thing, or on different things in the same space then put them together. But it's not possible to do this naturally on a single computer.

    The key I think will to be to find the right metaphor, without being excessively literal. In the Desktop metaphor, windows are really like sheets of paper that can be shuffled around. I remember seeing this for the first time, and there was a tremendous sense that this would liberate us from a lot of artificial limitations. But sheets of paper aren't resizable, and don't have scroll bars. Many times in the early years, attempts were made to make the metaphor literal, showing a representation of a desk with file drawers, papers on top, and desk accessories like clocks and calculators. These attempts at literalism turned out to be a waste of space and time, and the metaphor was pared down to its barest essential: a two dimensional surface on which things can be arranged.

    The shared computer is an important evolutionary step, but there are going to be a lot of missteps created by excessive literalism, until the fundamental transformation takes place in peoples' heads.

    Two trends are going to unite in the future: the continued reduction in size and cost of computing hardware, and the continued increase in ubiquity and affordability of wireless networking. I see the end result, some time in the next twenty-five to fifty years, as this: the computer as we know it will no longer be the primary interface of human beings to information processing technology. By this I mean your grand children won't routinely carry laptops and PDAs, any more than you carry a riding crop. Instead, we will have computer enhanced environments in which people work in a natural and shared way. Interfaces will be heterogenous, from large wall sized screens or interactive tabletops, goggles that computer enhance vision (e.g. overlaying an animation on top of the copy machine to show how to unjam it), and countless sensors.

    Naturally these environments will be shared, otherwise they aren't really environments.

    This Multi-Pointer technology doesn't get us there, but it enables some steps in the right direction.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  14. It's called the evdev interface... by IBitOBear · · Score: 4, Interesting
    Um, I have a Logitech G5 mouse and X processesses all the buttions, the wheel works and the thing where you push the wheel left and right to do forward and back (e.g. a fourth axis) works just fine as well. [Note the "Name" option instead of spesifying the "Device" pathname, this lets me plug the mouse in, or not, without having to tweak any settings.]

    See the complicated configuration:

    Section "InputDevice"
                    Identifier "Gaming Mouse"
                    Driver "evdev"
                    Option "Name" "Logitech USB Gaming Mouse"
    EndSection

    Now getting touchpad on my laptop to do all the cool stuff (up and back scroll buttions, iPod-like circular scrolling, etc) was a little more involved. I set a udev rule to make the device name explicit and I had to find the configuration entry on the net and cut-and-paste...

    udev rule created in "new" file /etc/udev/rules.d/10-input.rules:
    BUS="serio", SYSFS{description}="i8042 Aux Port", KERNEL="event?", SYMLINK="input/alps"


    Section "InputDevice"
            Identifier "Alps"
            Driver "synaptics"
            Option "Device" "/dev/input/alps"
            Option "CorePointer"
            Option "Protocol" "auto-dev"
            Option "LeftEdge" "130"
            Option "RightEdge" "840"
            Option "TopEdge" "130"
            Option "BottomEdge" "640"
            Option "FingerLow" "12"
            Option "FingerHigh" "15"
            Option "MaxTapTime" "180"
            Option "MaxTapMove" "200"
            Option "MaxDoubleTapTime" "100"
            Option "EmulateMidButtonTime" "75"
            Option "VertScrollDelta" "20"
            Option "HorizScrollDelta" "20"
            Option "MinSpeed" "0.60"
            Option "MaxSpeed" "1.10"
            Option "AccelFactor" "0.030"
            Option "UpDownScrolling" "1"
            Option "CircularScrolling" "1"
            Option "CircScrollDelta" "0.1"
            Option "CircScrollTrigger" "2"
            Option "SHMConfig" "on"
            Option "Emulate3Buttons" "on"
    EndSection


    This is on ubuntu with the current "stock" 2.6.15 kernel and Xorg packages.
    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
  15. Re:2 person PC by npsimons · · Score: 2, Insightful
    In user interfaces, we basically assume that the computer interacts with one person at a tim But real world scenarios, two or more people can work on the same thing at the same time, or on different parts of the same thing, or on different things in the same space then put them together. But it's not possible to do this naturally on a single computer.

    Really? I've heard of computers that can be used by more than one person at a time; they're called servers. Also, CVS and other change management systems allow two people to be working on different parts of the same thing, or different things and then put them together.


    The shared computer is an important evolutionary step, but there are going to be a lot of missteps created by excessive literalism, until the fundamental transformation takes place in peoples' heads.

    This is right on the money, and it's insightful comments like these that convince me to put you on my friends list ;) That being said, I think the problem is that we have been held back by the desktop metaphor that was developed perhaps too early. I mean, a server with SSH does shared computing perfectly; a desktop with a GUI, not so much, mainly because when the desktop metaphor was designed, you could only have one mouse and one keyboard.


    My ultimate point is, I'm glad to see this happening, and I'm not surprised to see it come from the OSS/UNIX world. We've had multi-user text shells mastered for a while now, it's only natural to move onto GUIs/desktops. Windows and Mac have always focused on the "mememe" single egotistical user, and their interfaces (not to mention security) have suffered because of it. Now, here we have true innovation, yet again from the open source world. To all those naysayers who say that open source merely copies Windows and Mac, I say "how many users can your desktop support?".

  16. Re:Oh yeah? by Anonymous Coward · · Score: 2, Funny

    Actually multi-player xpong sounds a lot better than 6 people dragging shit around on a table.

    That's just my take.

  17. Re:2 person PC by lazarusdishwasher · · Score: 2, Informative

    I have a link that will let you use the equipment you mentioned handle two seperate logins.http://blog.chris.tylers.info/index.php?/ar chives/14-Multiseat-X-Under-X11R6.97.0.html

    I have never tried this solution but from what I have read in the past it seems to be getting easier to handle multiple input devices and displays. I would agree with others that if you wanted the same login to hanle both sets of keyboards mice and monitors you run the risk of confusing the operators or the programs.