View Full Version : 1 Mouse - 2 Cursors? Possible?
This is a rather odd request but I figure I would throw it out there. I am redesigning my setup in order to eliminate 4 computers and cram as much desktop realestate as close together as possible. I feel like I can use autohotkey to dual box on four machines at once - removing the need for 8 separate computers. In order to make this work, I will be using a program called WoW Maximizer to dictate the exact position of the windows (one above and one below, with no seams between).
Ok - so the screens are set, autohotkey lets me press 1 button and send the output to both screens. Great. Now what about the mouse? I would like to be able to click a single mouse button to accept quests. But I can't do that if the mouse is only on one screen. What I would need it to do is duplicate the mouse - such that the screen is divided in half and moving the mouse moves BOTH the top and the bottom mouse..... and they stay locked in the same position relative to each other. This would actually be an upgrade to the wireless option I am now using as the mouse position could be "resycned" automatically to one of the 4 computers - thus ensuring that clicking on one will click on all 4 in the exact same spot.
Does that even make sense? I know Multibox can do something similar to this - but this would mean using Autohotkey to send keystrokes to both active WoWs on a single machine AND somehow also sending mice information (like Multibox) but then duplicating it and sending it to BOTH WoWs.
Anything at all out there like that? A cursory (HAHA) Google search did not turn up anything.... surely something like that could be coded. If I wind up getting something like it coded (meaning pay for it to be done) then I would most likely release the code for anybody to use - if there was any interest. But I would prefer to see if anybody else has done it first.
So.... anybody?
Gallo
05-29-2007, 12:31 PM
I don't know if there is any software out there currently, but I'm pretty sure that you can echo a mouse arrow in a visual basic program, but then you start getting into 3rd party software problems.
Same with AutoHotkey, Synergy, Multibox though.
It's a fine line..... this would be so much easier with Linux :(
Steph
05-29-2007, 03:07 PM
I know this is not what you asked, but why not share it and use /script AcceptQuest{}?
Because that does not always seem to work..... some quests either have prereqs (that you would presume the other boxes would have) or it just fails with a "can't share quest".
Second reason is I have enough macros as it is - keeping others to a minimum or delegated to the mouse is my goal.
What you propose is a workable option though but it would not work for other things like right clicking on a quest giver or targeting somebody in combat. Hence the need for a mouse per machine :(
shockbeta
05-29-2007, 03:40 PM
I'll have to check the code at home, but I would think something could me made relatively easy. It would be initially tailored specifically for your need. Then variables exposed so you were able to tweak it without the need to rebuild or need a coder. Bare with me I'm horrid with the proper terminology. I know in Multibox with Windows OS what happened was the screen is set to a "virutal?" screen size. Meaning Windows mapped the screen to their own coordinates. This to me was ignorant. I'm used to using screen resolution for everything, but this uses 65535x65535 regardless of resolution on the monitor.
So intial thoughts, you need a small program that has a mousehook. Also stores the current mouse position, and "the other" mouse position. Now upon clicking the mouse button, the program would send the mouse click to the screen, then would change the mouse potion to "the other" position, send another click. Then change mouse position back. I'm sure you could draw both at the same time, but why bother with the overhead.
I don't think I'm overly simplifing it, but I could be. I beleive you'll have 2 WoW running one on display. So 1600x1200 display.... You'll have two instance of WoW running at 1600x600? If so then you can Just take current mouse position - 65535/2 = top mouse position. Could even safe guard it...
[code:1]
if(MPos.Y > 65535/2)
{
// We on the bottom WoW
OtherPos.Y = MPos.Y - 65535/2;
}
else
{
// We must be on the top WoW
OtherPos.Y = MPos.Y + 65535/2;
}
[/code:1]
Hmm, am I correct on my assumptions of your setup? Does this sound like what you want?
Thats exactly what I want. The only clarification would be that the screens would be above each other (not side to side - I rotate my monitors 90 degrees) and there would need to be a separation zone (implicit in how you proposed to do it, I think) that would not allow mouse cursors to cross to the other screen. In effect, this will turn a single dual core machine into two "machines" that can run WoW in the same OS, with full 3d acceleration. Eventually, with a decent 4 core processor, and two 8800GTXes, one could theoretically box 4 characters on a single computer and get 1 more for their main and be all set. Beyond what I need here of course but I would be able to test something like that..... heh. Just think when 8 core processors come out :) Not sure the nVidia drivers would work well enough, they already have issues with multiple copies of WoW on the opposite head of the same video card. But stick em on the same port and all is well. 60 fps on both WoWs at 1600 x 1280, max video settings.
The sad part that I just realized is that this is all doable in hardware, except for the split monitor issue. There are some "picture by picture" monitors out there in 24 and 27" that allow two inputs to be set "side by side" - but the 30" - no go. I was originally planning on splitting my 30" monitors and using half of them to run one WoW and some auxilary 17" monitors for the Warlocks.... but I absolutely have to have the copies of WoW as physically close together as possible. Otherwise I would have to move around too much to view each screen - really bad news for PvP.
I guess I could buy 24" monitors (the 27" ones are the same resolution, just larger... not sure the point of that), setup all of the hardware to split the mouse and keyboard but the software route actually appears to be (in theory) an equally fast and actually more accurate (with respect to mouse drift). Plus, it has built in KVM capacity.... another bonus.
The downside though is the extra cost for the hardware - and the 24" ones are only 1920 x 1200 - so I would only be playing at 960 x 1200..... which actually really isn't that bad.
Anyway, enough senseless thought vomit :) I do enjoy the intricies of all of this though.
Hmm... odd that Google only reports about 3k results for intricies and Firefox says it is misspelled.
Websters Disagrees.....
Main Entry: in·tri·ca·cy
Pronunciation: 'in-tri-k&-sE
Function: noun
Inflected Form(s): plural -cies
shockbeta
05-29-2007, 04:00 PM
The only clarification would be that the screens would be above each other (not side to side - I rotate my monitors 90 degrees)
You rotate your screens 90°? So you have them Portrait not landscape right? I would think either way you set your monitors up Windows would enforce the same (X -> across) and (Y-> down) either way. So the above method should work.
and there would need to be a separation zone (implicit in how you proposed to do it, I think) that would not allow mouse cursors to cross to the other screen.
In the above example I was figuring your mouse cursor could move where it wnated on the screen. The if else check just decides if your mouse is over the upper or lower instance and sets "the other" accordingly.
You're only using 1 screen per box right? Not dual screen layout with an instance on each screen...
Yes, I rotate them 90 degrees. That is handled by the nVidia driver and while it used to make 3d gaming impossible, it now has no impact on gameplay, even in 3d accelerated games. So yes, portrait. I would imagine that to Windows, it does not know the difference if it uses an absolute position matrix. (Not sure why Windows does that but ok).
As for the mouse cursor... what I was envisioning was sort of like using a single mouse to control all 4 Zins right now. When i move the mouse, it moves the cursor on all 4 monitors at the same time.
The only thing different here is that I would only be running 4 computers but controlling 8 WoW accounts. So, the monitors would be rotated and displaying 2 copies of WoW (using WoW Maximizer to remove the screen edges, effectively picture by picturing them together). The only roadblock here is that yes, it is a single screen layout, on a single port of the video card (which makes it far easier for this and a whole host of reasons, mostly due to massive video fps degradation) but now I have a new problem. Only one mouse cursor and two copies of WoW. Sometimes I would only want to send mouse input to the top sets of the screens (the Zins) and other times to just the bottom 4 (the Warlocks) and sometimes to all 8 at once. I figure a simple keyboard toggle would do... but thats the easy part. The hard part is sending the mouse click to 2 places on the screen at the same time. I don't HAVE to see both mouse cursors (as I could look at the screen that had the regular cursor visible) but I would need to be able to send the clicks AND mouse based movement) when I needed to. So, if I clicked and dragged to rotate the viewpoint, it would need to replicate that on all 8 screens (if that was the mode I was in). Does that make sense?
Took a quick picture to better illustrate:
Each copy of WoW is running at 1600 x 1280 on my new Warlock Boxes.
http://i183.photobucket.com/albums/x45/Xzin-WoW/30inchDualBox.jpg
It came out quite a bit darker than I wanted (I have not turned down the gamma yet) but the blue light in the upper right is the on button. I used WoW Maximizer to remove the border on the top copy of WoW. It does not currently have the capacity to deal with multiple simultaneous copies of WoW.
shockbeta
05-29-2007, 06:44 PM
The click rotate and the such would be a little tricky to replicate, and you're now treading into dangerous waters. You could simulate mouse clicks easy, but when you want to click -> drag -> unclick... Not easily done I think. You could maybe force loss of focus set focus to top send click. And play with the focus window everytime you move. But I'm not sure if it would make the display go crazy. I guess if the focus/lose focus idea would work. you would have to remember where the mouses was at each focus/lose focus and make sure to set the cursor back to said position in between refocusing the screen. If something like that did not work you're then getting into injecting input, but I guess that isn't that bad as Autohotkey does it, so maybe there is a legitimate easy way to handle it. I'll have to think more on it. Sorry my post is probably all out of order and confusing to most. Just how I think:p
jabowah
05-30-2007, 01:20 PM
The sad part that I just realized is that this is all doable in hardware, except for the split monitor issue. There are some "picture by picture" monitors out there in 24 and 27" that allow two inputs to be set "side by side" - but the 30" - no go.
I have two of dell's 2407fpw and the picture by picture mode isn't all that great. Out of the 5 inputs (vga/dvi/s-video/composite/component) you can only have dvi/vga on one side and the rest on the other and it shrinks the actual picture down.
So you could only have dvi shown on one side and then one from the other on the other side, you can't have dvi/vga shown at the same time, unless there is some work around that I don't know about.
But the picture shrinkage is pretty bad, looks like:
http://jabowah.googlepages.com/display.jpg
Eww - that sucks.
I thought it was ACTUALLY side by side. And no DVI/VGA? What is that about?
What I need to do is swap out my current 30" ones for these:
http://www.radiforce.com/en/press/pdf/pr_en_RadiForceRS410.pdf
I don't even want to begin to think what thats going to cost. Medical monitors are stupid expensive.... but they can display two images from two inputs literally side by side. At full 1600 x 1280 resolution.
Short of going separate monitors (building a 10 monitor array), and going lower resolution, I don't know how else to cram all of these displays for the 10 Zins any closer together.
jabowah
05-30-2007, 02:35 PM
It has dvi/vga, but you have to pick one. You can't have the picture in/by picture showing both vga and dvi inputs.
On the bright side I can watch TV/movies in the little corner in picture in picture mode :)
Wilbur
05-31-2007, 06:06 PM
One thing you may not be quite so quick to consider, but probably should anyway...
Buy cheap 17" Widescreen Monitors, Rip them out of their frames, build a larger frame, mount, apply backlight, I guess this way you should be able to get monitors as close as possible to each other. Obviously, some other details would have to be worked out, but I'm sure it'd be possible, depending on how much spare time you have.
Yep, thats one idea. I could even go LCD backlighting.
See: http://hackedgadgets.com/2007/02/18/lcd-monitor-backlight-to-led-conversion/
Not cheap but I have worked a lot with the Luxeons actually.
http://luxeon.com/products/luxeon/
Chinese companies make some compelling knock offs at about 50% less cost if you buy in bulk.
That is certainly an option for a DIY route. But I will be unable to use the 30" monitors as a single 25 megapixel desktop without some serious software modifications - I know it is POSSIBLE with Linux but its difficult to setup X to make it work that way. And there would still be bezels between each image.... something I really want to avoid.
If you really wanted to do this on the cheap though, I think that would be a great way to do it. Buy some with broken backlights and just hack em together.
I think what I am going to do is just stick with 1 computer per Zin for right now. It's not exactly what I had in mind but going the hardware route is 100% rock solid, needs no further development/customization of WoW Maximizer, Autohotkey, Multibox or the dual mouse option. I lose a little flexibility but I completely eliminate any chance of running afoul of the EULA as literally everything will be hardware based. Plus, I can use the 30" array for normal computing and other things - rather than having a dedicated WoW setup that I will not want to use for anything else due to the bezels between each monitor.
The downsides of course are a much more expensive set of monitors and Vetras, more power use, less flexibility software wise, less accurate mousing broadcasting.
The only one that bothers me at all is the last one - the mice. But I can solve that with a workaround. Being able to broadcast more selectively with the mice would be a nice option though - it is impractical to have 12 mice on my desktop - but that said I only need to use 3 to control most all functions. Same with the keyboard - I can route pretty much everything through a single keyboard with the use of cascaded KVMs and multiple levels of Y-Mice per machine - for things like desktop administration. This will not work for PvP but makes it easier to make changes on a per machine basis. Prior testing indicates this to be a viable option that adds a negligible amount of latency to each keystroke. VNC or other programs could serve this same function in software at no cost with some other drawbacks (mostly speed).
vBulletin® v4.2.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.