Proposed Middle Click Alteration - Capability for Click and Hold

Jul 20, 2012 at 2:00 AM
Edited Jul 26, 2012 at 2:09 AM

I finally noticed that the Middle Click implementation didn't allow one to Hold down the Middle mouse button, and release it.  Instead, it either acted randomly as a toggle (needing a second middle mouse button click to turn off), a click (Just the down and up press), or in rarities it acts as a permanent down middle mouse button.

I finally found a bit of an edit to the program, that allows the detection of Click and Hold for the Middle Mouse button.  Allowing it to detect both when the Middle Mouse Button area is pressed, and when it is released.

Edit:  Removed old code, after finding a better implementation.

Jul 26, 2012 at 2:06 AM
Edited Jan 26, 2013 at 2:06 PM

For anyone interested, as I haven't had much luck contacting Pappas81.

https://docs.google.com/file/d/0BzfuwJfXEKG8S1lQQ1N0VC03aW8/edit

Edit on Aug/2/2012: Turned off the TMP's altered Two-finger Slide Up and Down.  Just the middle click function.

Thats a compiled x64 version of Touch Mouse Plus, with an edit to both TMP and the MouseKeyboardActivityMonitor.dll file.  The trigger for the middle mouse button is the same spot, though you can easily hold down the middle mouse button and a small change so that the program doesn't get stuck on a middle mouse button when you are trying to right click at times.

Only problem is if you rapidly click the middle button, which may cause the right button to stick until a second press.  It is a rare quirk though, and only shows up on constant double clicking with the middle mouse button (who does that anyways?).

I'll probably start my own Codeplex project next, as I'm currently working on taking Pappas81's middle mouse button implementation and including mouse chording (ability to press multiple mouse buttons at once.).

Aug 16, 2012 at 3:21 AM
Edited Aug 16, 2012 at 3:21 AM

Hi Mliebennett, I got a touch mouse, downloaded and ran Pappas81's program, but couldn't get the middle click working. Anyway you can tell me exactly where it is? Do I need to turn off certain function in the Microsoft driver before I can use Touch Mouse Plus function. 

Also, thanks for pointing out that TMP didn't allow middle click and hold and alter ther code for it, cause I definitely need that!

Thanks.

Aug 16, 2012 at 9:22 PM

No need to turn off anything for the Middle Click to work.

The exact location is ....

http://farm8.staticflickr.com/7134/7797785808_aa347b1480_b_d.jpg

Inside the red circle on that top-down view of the Microsoft Touch Mouse.  Your finger doesn't need to be exactly down on that x, but it should at least cover it for the middle-click to trigger.

If you want it to have a much larger area to activate, I could spread it up and down(or two) and possibly to the right of that point.  Just a warning though, as long as that area is registering as a touch the right click is always over-written by the middle click.

Further, what are you trying to use the middle click in?  I know that the middle-click won't work in programs that work "Run as administrator" such as Microsoft Visual Studios, UNLESS you start TMP with "Run as Administrator" or right click on the program -> choose Compatability -> check "Run this program as an Administrator".

Still trying to write and optimize the coding a bit for multi-click emulation.  Taking me a bit, as I don't like releasing something bugged. ^^;

Aug 17, 2012 at 1:39 AM

Hi Mliebennett,

 

Thanks for your detailed response.

I am trying to use it for Auto CAD, your implementation works with the middle button as I use it a lot in CAD to drag and move the drawings in view. However it is still a hit and miss with the function. I wonder if it's because of the multi-click problem you've mentioned cause I often click it consecutively.

I wonder if the requirement of lifting left finger to do a right click can be eliminated too. Can the mouse sense different pressure is applied at different location when one of the fingers is clicking the mouse while multiple fingers are on it?

But nevertheless, thanks for continuing to make this mouse more usable! Awaiting for your next release !=]

 

Coordinator
Aug 21, 2012 at 9:58 PM
mliebennett wrote:

For anyone interested, as I haven't had much luck contacting Pappas81.

https://docs.google.com/open?id=0BzfuwJfXEKG8M3YwNHI5bDBmaVE

Edit on Aug/2/2012: Turned off the TMP's altered Two-finger Slide Up and Down.  Just the middle click function.

Thats a compiled x64 version of Touch Mouse Plus, with an edit to both TMP and the MouseKeyboardActivityMonitor.dll file.  The trigger for the middle mouse button is the same spot, though you can easily hold down the middle mouse button and a small change so that the program doesn't get stuck on a middle mouse button when you are trying to right click at times.

Only problem is if you rapidly click the middle button, which may cause the right button to stick until a second press.  It is a rare quirk though, and only shows up on constant double clicking with the middle mouse button (who does that anyways?).

I'll probably start my own Codeplex project next, as I'm currently working on taking Pappas81's middle mouse button implementation and including mouse chording (ability to press multiple mouse buttons at once.).

mliebennett I'm sorry if you tried to contact me and I didn't respond . Feel free of course to alter the program to any way you like . Middle hold function wasn't something I had in mind because this whole project began to bring back the middle-click in Chrome (to open in new tab - something that I'm really used to) but I guess some other programs might require that function . I might revise the whole project but right now I don't feel much like it  nor do I have the time . But again  you are free to do whatever you like with the code, and i will be happy to see the project evolving. Cheers...

Nov 22, 2012 at 6:59 AM

I'm happy to state that the altered TMP I linked above still works in Windows 8.  Just make sure you have installed the Visual Studios C++ Redistributable Package x64.  Especially glad that I turned off the Two-finger Slide Up & Down now, with the Microsoft Mouse and Keyboard Center allowing for altered commands on the gestures as well.

I'm still trying to figure out a good way to do Chording of the mouse buttons, especially after my last attempt didn't exactly turn out as planned.

Jan 25, 2013 at 10:49 PM
Edited Jan 25, 2013 at 10:55 PM

Holy cow, these are EXACTLY the two features I needed (middle click hold and removal of the two-finger gestures, as im using custom gestures in the Mouse & Keyboard Center in W8). Thank you SO much for this, makes my touch mouse finally useable in (mostly) all of the apps I use. Have you made any other changes to this app since November/have you made your own project page? Google Drive says the zip above is in your Trash, but its still downloadable and works fantastically.

 

Would it be possible to implement "side buttons" (such as the Comfort Mouse 4500 has)? I use the "thumb gesture" in the MS K&M Center, but it's kind of finniky for me. I assume it would be a simple tweak of this code, just adding a hotspot for where the thumb and right-side fingers would click, similar to the middle-click hotspot, but I don't know hardly anything about coding so I could be completely off.

What I would REALLY love is a simple GUI for button and gesture mapping, similar to the Mouse & Keyboard Center, but with less limited features. The biggest thing it's lacking right now IMO is program-specific gestures. Since the Touch Mouse only technically has two physical buttons (one, really), MS M&K Center only allows program specific options for those. But even just program-specific side and middle buttons would be awesome Or even just simulated side buttons period. Don't know how difficult this would be to write, but would anyone be interested in putting something like this together? Don't know why MS didn't just include all of this in the Mouse & Keyboard Center from the get-go, would have made the Touch Mouse such an amazing piece of hardware.

 

EDIT: Also, would you be opposed to uploading the source code. Being able to look at that and compare it to the original might be enough for me to be able to figure out how to add virtual side buttons myself. I've never been formally trained in coding (C# or otherwise) but I'm a dabbler and enjoy experimenting and tweaking stuff around.

Jan 26, 2013 at 3:06 PM

Updated the archive of the altered TMP

https://docs.google.com/file/d/0BzfuwJfXEKG8S1lQQ1N0VC03aW8/edit

Changes:  Included the altered Source Code for both TMP and the altered Mouse and Keyboard Activity Monitor DLL file.

Strange though, as the file in question isn't and has never been in my trash can.  I don't get why Google Drive would say its listed there.  I like to keep it there for my own archival purposes, so I don't accidentally loose the thing myself!

 

As to your questions?

I've sadly been a touch busy to have tried to make my own Codeplex site for the program, much less add in the extra features I originally had planned.  The switch to Windows 8 has stalled me, followed by RL issues.  The fact my original alterations are still working was enough to have me simply let it be for now, so there are no changes at the moment.

 

For the Side Button implementation?  It can be added into the program quite easily, but the problem is the exact trigger circumstance so it never suppresses the normal mouse buttons unless you meant it too.  I know I usually rest my thumb roughly where the "ideal" spot for the "back" mouse button to occur at, thus would almost always register.  It would probably be easier to set the trigger spots in the upper right and left corners of the touch sensor to act as the Forward and Back "mouse buttons", as those areas are not accidentally covered by part of the hand at rest.  Physical buttons have the advantage of being capable of having fingers/thumbs resting on them, but not pressing.  Something a Touch Sensor + 1-Physical-Button can not do.

Note Pappass81 did most of the work, and I couldn't help but admire the way he initially setup the Middle Click and suppression.  I only altered things to allow for the ability to click-and-hold into it.

(The MouseandKeyboardActivityMonitor is what actually helps suppress the original mouse button, and throw in a different one.  I had to alter it as well, to get the behavior to match what I was hoping for as it didn't originally like replacing one mouse button for another mouse button for hold and release.)

A GUI is sadly out of my league of making for now, especially with the amount of time it would take for me to write and figure out how exactly to pull off some of the tricks needed.  I know I was disappointed that the MS M&K Center didn't allow for program specific gestures, at least not yet.

...

Also thank you for reminding me that I've apparently forgotten to reinstall my compiler since Windows 8.  I need to fix that soon, rather then booting up Windows 7 again.

I'm not sure if I currently have the time, but I'll post if I get some to alter the program to simulate the extra mouse buttons.