Longhorn Feature Request - Multiple Cursor Inputs

Calling all Longhorn team developers! I would like to be able to have multiple cursor inputs. Two or more mice, two or more keyboards, etc.

This came out of my desire to have a touch screen that actually works. I want to use a big plasma touch screen as an audio/video workstation. Lots of knobs, switches, and levers. Many times I have to pull two or more faders simultaneously. This is imposssible with Windows because there's only one mouse.

Now, I know what you're thinking. How would API calls like GetCursorPos work? Well, you'd have your default input device, and then you'd have multiple real or virtual input devices.



  • Well, Windows does support more than one mouse and keyboard.

    No, you dont see two cursors on the screen, 'cause thats daft. What an application can do (on XP+) is get a handle to an additional mouse (or keyboard), and read the movement information from it, and do what you want.

    I call see an massive HCI issue with your suggesttion - I only have two hands. MOving two mice in sync for something like a fader is hard for my arms to manage, but easy for fingers 'cause they are hinged at the knuckle.

    If you want that experiance, either wacom tablet type device/touch screen, or (my preferance) a mixing desk that is just a USB device that plugs into DirectPlay and allows all the knobs and dials to be reconfigured.

  • I'll have to look into the XP input thing. Is there a specific API for it? Does .NET have a library to support that? It's interesting, for sure.

    As for your suggestion to just get a mixing desk controller, let me further explain. The point isn't that I'm trying to solve the mixing desk problem. I'm thinking of many applications where you need more than one simultaneous screen input in a touch-screen application. A keyboard has keys such as Ctrl that when you hold it down, modifies other keys. Nothing like that exists for the mouse, because the mouse is the only device we use for input. With any touch-screen application (for example, a submarine navigation console, or any kind of industrial controller panel) you should be able to hold down one button while turning a knob, or grab two faders with two different fingers and adjust them independently.

  • Hmm... interesting... I guess, you would also need apps requiring such device input. Future input devices too, where you could use two hands (gaming gloves for two hand virtual reality)

    Or let's just say we want to put a touch screen keyboard on a tablet PC. How do they do that now for things like capitalization? (Shift and key)

  • I do. That way I can use either my left hand or my right hand to do the cursor movement. I've got an ancient Microsoft mouse hooked up to the PS/2 port and a Logitech Dual Optical hooked up to a USB port.

    I do so because sometimes I'll get a twinge of RSI in my right wrist; when that happens, I just use the other hand.

    The effect on Windows is that either mouse will move the cursor; I've freaked out a coworker before by surreptitiously moving the other mouse while he was trying to use one of them. :)

  • Very interesting ideas. This is something that I know that I've talked about with other people. There always seem to be more pressing features that we need though :)

    How do you think you would handle focus? Should the app keep the idea of multiple focus areas? What about click-to-activate things?


  • I think the standard "cursor" would remain as such. One cursor, one focus, etc. Something has to be smart enough to parse the equivalent of a MouseDown, MouseMove, and MouseUp event and pass those to the underlying app.

  • Yeah, the problem is that when you have 2 mice connected, they will both work the cursor. And you really want the ability to have just one mouse control the cursor, while still being able to read input from the 2nd one.

  • I guess I'm thinking of a touch-screen interface only. Maybe use the touch screen as a single controller with multiple points... separate from the mouse cursor.

    As I think about this more, that's really what I'd like to see.

  • I've wished for this for years, to have the ability to have a second keyboard and mouse attached to the computer I'm training someone on. That way, instead of having to push them aside to show them some esoteric click-drag combination, I can just show them what it looks like when I do it, and then let them.

    It'd also open up the world of single-computer, multi-player games a bit wider; with USB 2.0 and a Matrox 4-head video card, one could attach four monitors, four keyboards, and four mice, then pair each input device with a monitor -- creating a multi-player gaming environment comparable to the XBox.

    Or you could bind one keyboard and mouse to an instance of Remote Desktop Client, while keeping the usual keyboard and mouse for the rest of the system. With RDC full-screen on monitor #2, I could see this being a strong feature for busy admins; telling a trainee "Could you handle the problem on screen #2 there? Here's the keyboard and mouse for it" and letting them try to solve the problem, while you can go on with your work on screen 1 -- or interrupt and show them something on screen 2.

    I've been wishing for the ability of Windows and OS X to handle this for years; hopefully it's not too far away.

  • I think that will change the whole paradigm of GUI, not only on windows. Object focus will not be monopolized, all api rewriten and concepts revised. Who dare the investment? But this payment will be worthwhile. Think of turn/grap/touch actions can be interpreted in real time rather than having to choosing from a submenu, thing of the glove in minority report cruise wears. True VR interactivity will be made possible then.

  • I think it can be done without compromising the current architecture. The mouse is the mouse. We'd have to have multiple asynchronous input controllers that don't move the mouse, but exist independently of the mouse and cursor.

  • I think that the solution for using two seperate mice pointers lays within the HT (Hyper Threading) technology. once the computer processor can handle two seperate applications you can write a mouse driver that splits the data from each mouse to a seperate thread on each of the 'processors' (remember its HT tech not actuall two processors)

    with that technology i believe can set focus on two different applications.

  • What about login? Suppose that we can configure extras mice and keyboards. So, if the computer with two or more monitors could be used for more people at same time... Does windows deal with this? There is something like unix-like that maps users to terminals? It could be very useful...

    Think about it!

  • Well, again, I don't think the idea is to have more than one mouse cursor. That would surely screw everything up - The windows API SetCursorPos for example... in short, that wouldn't work.

    These would have to be auxilliary inputs that you need a special API to be able to access.

  • I looked after the possibility to have 2 cursors on the screen for some time already.

    Some long times ago, i played to Lemmings on my old Amiga 500, and there was a version (maybe lemmings 2) where you could play at 2 players at once.

    On the same map, there were 2 lemmings drops and 2 exits. The screen was split in two, and each player was moving his mouse on his side with his own cursor -you couldn't cross the middle separation-. The goal was to make escape more lemmings than the other player, and you could of course take his lemmings in your exit.

    That was so fun, you could make a Lemm turn around and go dig on your opponents land so he had to built a bridge at same time or all his lemm would turn around and come in your exit, or you destroy a bridge and all his would fall and die ... ahah i had good time on it with my bro.

    I hope you know lemmings to understand what i am saying =p

    My goal would be to make mini games to play on the same computer, either with a split screen either with 2 cursors "melted", like a classic tennis to start, a shot game...

    Cause i miss small games where you can play at 2 people (at least) at same time on same computer. Those are an old time, but need a come back.

  • I think that most want this so two can use a computer but some want it for easier use of a computer. After all we *somehow* use two hands in life! I would be interested so that two people could use the computer at a time. Maybe you could have it set up so that each cursor was a different shade/color and as many cursors you have there could be windows in focus. You could have the cursors use primary colors. Each title bar would be shaded to the cursor color that activated it. If two had, say the yellow and the red cursor the title bar should turn orange. There should also be a configuration thats lets you set a cursor to stay inside a certain screen or area if you wanted. You should also apply the same thing with keyboards-maybe make then assigned in sets with the mice. This way people could use two mice at a time or two people could work on a computer with two screens. Granted you couldn't log off/shutdown/restart a the same time either though.

  • This would be especially helpful for me.

    I create online training. Many times, I have scenarios that require me to 'walk through something using camtasia or another program.

    I'd like to keep one cursor situated within the capture window, while performing other tasks outside of it with another.

    If anyone comes up with a solution, I'd love to hear about it.

  • It's a massive oversight of todays computers. This feature should have been in all OS for years. Numbered mouse inputs and numbered keyboard inputs, each with separate focii so two users can use a dual screen pc at the same time, independantly, or for interactive whiteboards two mouse cursors for more than one user at a time. How has this gone without implementation?

  • So who/what body has the know how & the marketing clout to do this?

  • An online music studio: Virtual Online Studio

    Main Application (studio) Window
    # controller/client cursors
    # controller/client keyboards
    Add and remove application plug-in windows (ie, synths, step sequencer)
    Audio input from client
    Main Application Output Stream

  • I know Microsoft released a code package for developers to make individual apps multi-mouse capable. But really, this sort of functionality needs to be built straight into the OS.

    Though I think multi-point technology would revolutionize computing (education, design, gaming, and just plain old usability) I honestly don't think it will be found on a windows build for at least two more releases of Windows (8 years or so). ... so sad.

    Damn you, Microsoft - wake up and get on the ball! This would seriously be a home run for you, and you know it. GET 'ER DONE!

  • i too would like to see 2 cursors on my pc as i have my 52 lcd and a 17 hooked up. when i have my buddy over i put 2 or 3 copys of WoW on. it would be much simpler if we coould control our own and not have to auto follow each other.

  • Biggest use I would get out of this is gaming. Think about star craft and you and your friend playing 1 team 1 working on resource management/defense and the other working on harassment/expansion/offence. although this is possible now with running team games with shared control I'd love to run LAN parties only without the LAN heh.

  • I don't like the idea of the colored cursors and title bars. I'm slightly red weak colorblind and might be able to get used to something like that with time, but more seriously "color-challenged" people would have real problems with it. Besides we wouldn't want to complicate the ability to customize our cursors. I'd prefer something like lettered or numbered cursors with corresponding labels tagged on to the title bars.

  • For me, the benefit of two mice and to cursors will be in CAD drafting. Autodesk has progressively made Autocad more graphically controlled - instead of keyboard commands, users are encouraged to set up more and more command buttons. This results in CAD drafters who sit on one hand with their thumb up their @$$, doing 95% of the work with the one mouse. I have resisted this trend for years, but recent developments make that resistance more difficult. As an alternative, adapting the user input abilities to take better advantage of the situation. Even for those less ambidextrous users, one mouse could be used for command button input/control, while the other is used for graphical selections. The basic idea is, if most of the program control is done by mouse, two mice would be an increase in efficiency.

  • 77787.. Corking :)

  • This website is great. I like it.(www.linkspirit.net)N_X_D_S.

Comments have been disabled for this content.