EitherMouse 0.71 - Multiple mice, individual settings...

Post your working scripts, libraries and tools
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.64 - Multiple mice, individual settings...

15 Feb 2017, 23:48

Sorry about that, blew a breaker at the arcade party this weekend and shut down the server, forgot to restart it

Back up now, thanks again for hosting that mirror joedf
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
User avatar
joedf
Posts: 5931
Joined: 29 Sep 2013, 17:08
Facebook: J0EDF
Google: +joedf
GitHub: joedf
Location: Canada, Quebec
Contact:

Re: EitherMouse 0.64 - Multiple mice, individual settings...

16 Feb 2017, 10:09

No problemo! :+1:
Jamz
Posts: 5
Joined: 05 Mar 2017, 09:08

Re: EitherMouse 0.64 - Multiple mice, individual settings...

05 Mar 2017, 11:06

HI! Is there a way to invert the mouse axis for a second mouse only? It looks like maybe possible via a plugin but I can't find any info on any plugins for eithermouse?
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.64 - Multiple mice, individual settings...

05 Mar 2017, 12:34

yeah its possible with a plugin, and no they aren't documented at all except in this thread, and they aren't really polished... but with some tweaking we can make it do what you want

Try the examples here:
http://www.EitherMouse.com/Plugins
Try InvertAxisMouse2Example.exe as a functionality test, then we'll have to figure out which mouse and which axis you want inverted and edit the code a little...
If you want to try that yourself, I'd start with InvertAxisExample.ahk (or SimpleExample.ahk if you wanted to start from scratch)
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
Helgef
Posts: 2396
Joined: 17 Jul 2016, 01:02
Contact:

Re: EitherMouse 0.64 - Multiple mice, individual settings...

05 Mar 2017, 14:08

@gwarble, the mousehook doesn't know which mouse moved the cursor. It can distinguish between real and fake input only, as far as I understand.
Your software looks very good, I'm sure you know of rawinput, for example, see MouseDelta. You can use BlockInput, MouseMove, then move the cursor by the delta amount, eg MouseMove,(invertX?-1:1)*dx,(invertY?-1:1)*dy,0,R.
Implicit example, see this.
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.64 - Multiple mice, individual settings...

05 Mar 2017, 14:58

For what goal?

EitherMouse already distinguishes the mouse last used, and the plugin turns the hook on or off based on the mouse you want inverted.

If the goal is simultaneous usage, the solution is far more complex to be actually useful (active windows, click/drag/double click without interference, even acceleration (epp) has to handled script-side), which is not the intention of EitherMouse. If you want a setting to change (like swapping buttons, changing speeds, or inverting an axis) when switching between two mice, the plugin solution works fine for me... if its not working for you let me know
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
Helgef
Posts: 2396
Joined: 17 Jul 2016, 01:02
Contact:

Re: EitherMouse 0.64 - Multiple mice, individual settings...

05 Mar 2017, 15:11

gwarble wrote:For what goal?

For the goal of inverting an axis :!:
then we'll have to figure out which mouse and which axis you want inverted and edit the code a little...

I misinterpreted this (the quote above) then, and didn't look closely enough at your code to realise this (the quote below),
EitherMouse already distinguishes the mouse last used, and the plugin turns the hook on or off based on the mouse you want inverted.

Cheers.
Grisho

Re: EitherMouse 0.64 - Multiple mice, individual settings...

31 Mar 2017, 16:36

Awesome tool, just what I was looking for, thanks so much for creating it!!!
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.64 - Multiple mice, individual settings...

04 Apr 2017, 11:34

You're welcome, I'm glad you find it useful!
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
Zoran

Re: EitherMouse 0.64 - Multiple mice, individual settings...

12 Apr 2017, 00:39

This application is exactly what I'm looking for. Unfortunately, it doesn't work for me, and I guess it might be related to the configuration I have. I have two Logitech mouses connected through one unifying receiver, and I'm using Windows 7 as guest in VirtualBox with Ubuntu as host. I guess the problem is in VirtualBox which doesn't allow application to recognize both mouses, though both of it works fine.

Could you please confirm if there is some workaround?

Thanks
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.64 - Multiple mice, individual settings...

12 Apr 2017, 21:25

Thanks

Its hard to say if its the "unifying" receiver or the VirtualBox environment, but my guess is if you check the device manager (run devmgmt.msc) you will only have one mouse device... If that's the case EitherMouse won't be able to distinguish the different mouse being used

If you try the unifying receiver on a real windows installation, or check the equivalent of device manager in ubuntu, you could figure out if the unifying receiver is at fault (which it could very well be if it allows two mice on one rf receiver it likely will only be one windows hardware device)
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
User avatar
evilC
Posts: 3548
Joined: 27 Feb 2014, 12:30

Re: EitherMouse 0.64 - Multiple mice, individual settings...

12 Jun 2017, 11:43

I dunno if people on this thread are interested, but I worked out how to block mouse input on a per-device basis - just use RawInput and hooks at the same time. It turns out your RawInput callback will still be fired :)
This could potentially open the door to EitherMouse supporting multiple cursors at once - simply block all input, then for the main mouse use mouse_event DLL calls (The hook will ignore them) and for the 2nd mouse cursor you could draw a fake one and send clicks using ControlSend (So the main mouse does not have to move to issue a click somewhere else)
https://autohotkey.com/boards/viewtopic ... 78#p153378
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.64 - Multiple mice, individual settings...

13 Jun 2017, 11:47

Thanks for the info and good job. I was able to get the same functionality using info from JGR's thread on the old forum:
https://autohotkey.com/board/topic/1782 ... k-example/
and a process-injected hook DLL (low level keyboard and mouse hook via dll injection). It looks like some of the info I retrieved from that thread is no longer up there from what remember reading a few years back.

The end result of multiple simultaneous mice is possible using this method, with some exceptions, but unfortunately it also requires re-writing the entire functionality of the mouse, everything from acceleration (Enhanced Pointer Precision) and mouse speed, to clicking on controls, to activating and de-activating windows, and dealing with how some windows act when inactive, and dealing with dll process injection on processes with elevated permissions.

I look forward to playing around with your example, thanks for sharing
- Joel
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.67 - Multiple mice, individual settings...

13 Jun 2017, 11:51

On another note, with many thanks to very generous user Tyler, I'm happy to report that EitherMouse.com now has a real web host, not my home server, so speeds are incredibly fast, SSL certificate, all kinds of features I don't know what to do with but I'll probably design a modern site at some point.

So thanks again Tyler for your generosity, and thanks everyone for putting up with the slow speeds from the previous site over the last 8 years or so.
- Joel

https://www.EitherMouse.com
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
Guest
Posts: 56
Joined: 17 Oct 2013, 02:32

Re: EitherMouse 0.67 - Multiple mice, individual settings...

13 Jun 2017, 11:55

gwarble wrote:On another note, with many thanks to very generous user Tyler, I'm happy to report that EitherMouse.com now has a real web host, not my home server, so speeds are incredibly fast, SSL certificate, all kinds of features I don't know what to do with but I'll probably design a modern site at some point.

Yay Tyler :bravo: :superhappy:

On a related note: could you upload your Notify() code and documentation to your website again now? The code + docs are now hard for find as the old forum is horrible and the links there to your Notify pages are 404-ing (last time I checked anyway). :thumbup:
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.67 - Multiple mice, individual settings...

13 Jun 2017, 12:00

Yeah that was very awesome of him!

Thanks for the reminder... I will get the last version and (admittedly poor) documentation of Notify() back up tonight, and put creating a new thread for it on this forum higher on my to do list
- Joel
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
User avatar
evilC
Posts: 3548
Joined: 27 Feb 2014, 12:30

Re: EitherMouse 0.67 - Multiple mice, individual settings...

13 Jun 2017, 12:37

In theory, the technique I posted can be extended such that the hook does not decide to block until AFTER it has seen the RawInput equivalent message come in, thus meaning you can let the original message through for some mice.
However, this is way more complicated, will introduce some delay, and is not actually that useful for what I want it for at the moment (Messing with mouse movement, effectively being able to "lower DPI")
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.67 - Multiple mice, individual settings...

13 Jun 2017, 19:15

Guest wrote:On a related note: could you upload your Notify() code and documentation to your website again now? The code + docs are now hard for find as the old forum is horrible and the links there to your Notify pages are 404-ing (last time I checked anyway).
here you go:
https://gwarble.com/ahk/Notify/
Image
i'll make a new thread for it when i have a chance


evilC wrote:In theory, the technique I posted can be extended such that the hook does not decide to block until AFTER it has seen the RawInput equivalent message come in, thus meaning you can let the original message through for some mice.
However, this is way more complicated, will introduce some delay, and is not actually that useful for what I want it for at the moment (Messing with mouse movement, effectively being able to "lower DPI")
I will play around with your code and see, but if you have to handle everything anyway, you might as well do it without the injected dll. Below is a proof of concept, when when it switches from "spray" to "pencil" you'll see one of the problems that has to be dealt with when trying to use two mice at the same time. I later added separate cursors for each mouse, custom drawn, but there's lots to figure out before putting it into EitherMouse which is a rather simple program (which isn't designed or advertised as a solution for two mice simultaneously, despite being the most requested feature)
Image
Last edited by gwarble on 22 Jun 2017, 21:42, edited 1 time in total.
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .
Helgef
Posts: 2396
Joined: 17 Jul 2016, 01:02
Contact:

Re: EitherMouse 0.67 - Multiple mice, individual settings...

14 Jun 2017, 04:09

@ Notify(), looks really cool :clap:

@ Multiple cursor.
I have sniffed at this problem with the cursor plugin for UCR.
The big problem is when two mice click-drag at the same time, as I guess you noticed. My naive approach was to remember the state of each mouse, and release and move accodringly, sure it works for some stuff, like double-painting,
2017-06-14_10-44-27.gif
2017-06-14_10-44-27.gif (1.31 MiB) Viewed 687 times

But that is just an illusion, the above does not work for a general double click-drag. Different windows and controls react so differently and at different speeds. ControlClicks might be useful in some cases.
I think the concept of blocking mouse + rawinput works well for inverting axes and changing mouse speeds on per mouse basis. You could also use it for special cases, for example for a custom game where each player has its own mouse. I just don't see it ever working such that two mice can operate on any general task, independentely.
I will follow you progress with interest though.

Cheers.
gwarble
Posts: 220
Joined: 30 Sep 2013, 15:01

Re: EitherMouse 0.67 - Multiple mice, individual settings...

14 Jun 2017, 08:05

@Notify
thanks

@multiple simultaneous cursors
Nice example, and well worded... No matter what, the "solution" to using multiple mice at the same time will always just be an illusion, which is exactly the reason I haven't tried to push this functionality into EitherMouse. Its fun to play around with but the practical application will be so plagued with issues its not something I want to publicly support. The way I interpret everyone's requests over the years is that the minimum "practical application" is basically one user creating an excel spreadsheet on one monitor while another user play's a first person shooter on the other monitor, a lot of things to deal with there.

A much simpler and probably most common example would be two Firefox windows open and each mouse browsing the web. There are a lot fewer deviations from the "point and click" action that is able to be faked pretty easily

@custom game or app with multi-input
it isn't necessary to fake it in this case, the RawInput API will handle this scenario perfectly... its when capturing input from other processes that the complications arise. Of course you'd still have to handle stuff like both click/dragging and stuff but the api lets you fully block and manipulate in this case.
EitherMouse - Multiple mice, individual settings . . . . www.EitherMouse.com . . . . forum . . . .

Return to “Scripts and Functions”

Who is online

Users browsing this forum: Delta Pythagorean, Source and 16 guests