I think that's a very useful topic. I wish people could discuss it in good faith, in a respectful way, without getting mad.Originally Posted by 'eqjoe',index.php?page=Thread&postID=157357#post15 7357
I think it's possible to broadcast mouse clicks to multiple windows on a single PC without delays. From what I've read here, I would guess that InnerSpace and Skarlot's programs do this although I haven't tried them. My own program inserts delays between mouse clicks although from what I've read here they are shorter than Keyclones -- on a typical PC they are 16 ms (about one LCD frame) per window. Some of my users tell me they adjust these delays as high as about 80 ms and at that length (about five frames) they are pretty noticeable, especially with many windows on a single PC.If a sending agent requires a response/event/trigger from a receiving agent, a delay is inevitable.
I can tell you why I chose to add delays in my program instead of using a faster technique. It's because I can think of only one way to do it faster (by hooking WoW's calls to the operating system) and I'm afraid this would conflict with a different rule. Therefore inserting a short delay seemed like the more conservative approach.
Also -- and I suppose this is really the main issue -- I don't think this type of delay violates any rule. Many people seem to take it for granted that Blizzard has a rule against any and all delays in any and all contexts, but I don't think this is right. I think Blizzard is concerned about delays in cases where a delay separates two actions in a single window (or two actions in separate windows where one depends on the other) that are triggered by a single user input. (Of course that kind of hotkey is illegal even without a delay.) But that's not the case here. The type of delay we're discussing here simply causes lag in an otherwise-legal hotkey. Why would that bother Blizzard? It causes no player advantage. It's purely a disadvantage.
Let me emphasize that I'm not sure I'm right -- in fact, I think Blizzard's rules are ambiguous and therefore nobody can be sure they are right -- but this was the reasoning I followed.
Let me also emphasize that I am not accusing other developers who made a different choice of doing anything wrong. As I said a moment ago, I think Blizzard's rules are not clearly stated, and I don't think anyone can be sure what the rules are with regard to these things.
All that a developer can do, imho, is try as hard as possible to give people options that can be used legally and then fully disclose the inner workings of the program so users can make their own decisions. That's what I've tried to do.
I agree with you. This rule (if it really exists) applies to the function of the program not its implementation.I don't think it is important to know if that delay is a result of some standard protocol or if it is programmatic. (maybe I am wrong here... just MHO).
If Blizzard has a rule against third-party programs that cause delays of this sort, then it makes no difference whether the program is causing the delay by waiting for a call to return or because it's putting itself to sleep for a certain number of milliseconds. The third party program's function -- its action as seen by WoW's client -- is the same in either case.
Heh, thanks. I wasn't kidding -- i must have rewritten that silly little thing 20 times during the eleven months since HotkeyNet's beta started.Freddy, that paragraph can not be more clear....
Connect With Us