PDA

View Full Version : Multibox Mouse Feature Question



WoWMulti
03-10-2009, 10:31 AM
I had a question about software functionality that could possibly broadcast mouse positions and clicks to multiple clients. Is there any software out there that can do this?

The feature I was thinking about implementing was the ability to draw a hotspot on your main computer's client where any movement or clicking in this region would broadcast to multiple computers.

This would be helpful to me since I use healbot addon to heal. I could then run healbot on a non healing computer and then have it broadcast to the healing computer accordingly.

I don't know if anything can handle this now, if so does anyone know? If not, I'll probably be adding it to my software.

Thanks for your help,

Matt

zanthor
03-10-2009, 01:25 PM
I do exactly this using InnerSpace. I have a hotspot I can resize on the fly which broadcasts mouse movements within that area. This allows me to click-heal from 5 shamans at once which is pretty damn OP in WinterGrasp.

Freddie
03-10-2009, 01:32 PM
HotkeyNet can do this. However it doesn't draw a visual indication of where your hot spots are (they are really hot rectangles), so it's helpful to locate them on objects that the game draws or in the corners of windows, etc.

WoWMulti
03-10-2009, 01:58 PM
Oh perfect Freddie, and it'll broadcast mouse clicks too? What about with modifiers? For example, ALT+RIGHT click on coordinate X/Y broadcasted etc...

And you just need to define it using X and Y correct? Also, the X and Y locations are all computer based on the client space of World of Warcraft?

Thanks for your help,

Matt

WoWMulti
03-10-2009, 02:05 PM
By the way Freddie, I noticed Hotkeynet has a hard time sending keystrokes/clicks to background or minimized windows without making them visible/focused first... I found a way to do this to background or minimized windows without any drawbacks.. If you are interested, please let me know and I can provide the code for you.

Thanks,

Matt

Freddie
03-10-2009, 02:10 PM
If you want to define hot rectangles in a window, you specify their location and size like this:


<If MouseIsOverWindowRect WINDOW_NAME X_POS Y_POS WIDTH HEIGHT>
The numbers refer to the client area of the window that you click manually.

Alternatively, if you want to define a hot rectangle relative to the screen as a whole, you write this:


<If MouseIsOverScreenRect X_POS Y_POS WIDTH HEIGHT>
In this case the numbers refer to the screen, not any particular window.

Modifiers aren't a problem with WoW although there may not be a convenient syntax for using them, depending on what you want to do. Shift states used to be a problem with WoW but I think (I hope) that they are fixed in the current test build.

Freddie
03-10-2009, 02:20 PM
By the way Freddie, I noticed Hotkeynet has a hard time sending keystrokes/clicks to background or minimized windows without making them visible/focused first...
The long latency and unreliability with background windows was pretty much fixed, so far as I know, in bulid 165. But I won't be sure until more test reports come in.

The problem with minimized windows is usually a user error -- people write a hotkey that requires HotkeyNet to take into account the width and height of the target window, but since minimized windows have no width or height, HotkeyNet generates an error message.


I found a way to do this to background or minimized windows without any drawbacks.. If you are interested, please let me know and I can provide the code for you.
Sure, I'd like to see it. :) Do you want to post it here or email it? My email address is freddie at hotkeynet.com.

WoWMulti
03-11-2009, 09:53 AM
By the way Freddie, I noticed Hotkeynet has a hard time sending keystrokes/clicks to background or minimized windows without making them visible/focused first...
The long latency and unreliability with background windows was pretty much fixed, so far as I know, in bulid 165. But I won't be sure until more test reports come in.

The problem with minimized windows is usually a user error -- people write a hotkey that requires HotkeyNet to take into account the width and height of the target window, but since minimized windows have no width or height, HotkeyNet generates an error message.


I found a way to do this to background or minimized windows without any drawbacks.. If you are interested, please let me know and I can provide the code for you.
Sure, I'd like to see it. :) Do you want to post it here or email it? My email address is freddie at hotkeynet.com.

Sure, I'll send you my class file that handles all of my keystrokes. I liked how flexible AutoIT was with sending keystrokes so I mimicked the syntax after that. What's important is how it attaches to the thread input of the window and then posts the appropriate messages. I've had a lot of good luck with it writing movement keys and keystrokes when multiboxing on a single pc with the windows minimized.

I'll send it over when I get home tonight around 5 to your email address.

Matt

WoWMulti
03-11-2009, 09:55 AM
By the way, did you figure out a way with Hotkeynet to capture keyboard and mouse events WITHOUT using a global keyboard/mouse hook? I use RegisterHotkey for key presses but movement keys and mouse events I couldn't find a way to do it without intercepting all of the mouse/keyboard events.

Thanks,

Matt

Freddie
03-11-2009, 10:09 AM
You can also use Raw Input or filter drivers but low-level hooks have several advantages. Why would you not want to use a hook?

Edit: Do you mean you want to be notified only about certain keys but not others? So far as I know, RegisterHotkey is the only way you can do that with Win32. I don't know about .NET.

WoWMulti
03-11-2009, 02:15 PM
Freddie,

I think low level keyboard/mouse hooks are the only way to go. I do want to use it, but I know some people are "weary" of this. I guess if the software is trusted, what does it matter what method it uses.

Thanks,

Matt

zanthor
03-11-2009, 02:42 PM
Freddie,

I think low level keyboard/mouse hooks are the only way to go. I do want to use it, but I know some people are "weary" of this. I guess if the software is trusted, what does it matter what method it uses.

Thanks,

MattAt some point you have to accept the risk of trusting your software vendors. People do it every day when they visit random websites looking for dwarf pr0n.

Freddie
03-11-2009, 02:59 PM
I think it's a tradeoff between giving the program functionality and avoiding making people nervous. For example, HotkeyNet has the following features:

1. People can trigger hotkeys with any combination of keys such as A B C.

2. People can trigger hotkeys on a key release, not just a key press.

3. Hotkeys can swallow the trigger key press so it's not seen by the foreground thread.

In order to put those features into HotkeyNet, I had to use either a hook or a device driver. Perhaps this scared off some potential users. To avoid scaring them off, I could have decided not to use a hook. But then those features wouldn't have been in the program, which would have made it less appealing, which would also have lowered the number of users.

In weighing those two factors, I don't think the first one is significant. I think very few people worry about hooks or even know what they are.

WoWMulti
03-12-2009, 09:59 AM
Hey freddie,

I sent over my SendKeys routine. Check it out and let me know how it works out for you.

Matt

Freddie
03-12-2009, 10:21 AM
Thanks. I replied by email.