This project is read-only.

Middle Click extended...

Mar 14, 2012 at 3:29 PM

Dear Lex

Thank you very much for the TMM project. It really solves a problem that i think Microsoft left on purpose.

Never the less, the middle click functionality is not satisfactory if you have to keep middle click hold for some function, e.g rotate in CAD program.

Is possible to identify the two finger pressing the sensor and the click from the button inside the mouse (as MS does for right and left click)?

As i understand, there is only one switch inside the mouse and along with the areas that the fingers are identified, it creates a click (left or right). How can we use the same principle for middle click that can actually work with every program? I think that that is the real problem with the (no) middle click phenomenon of the MS touch mouse.

I am not a advanced programmer and i do not know if i can be of any help, but i would be delighted if i could be of any assistance.

Best Regards,


Mar 17, 2012 at 5:14 AM

Hi NG,

Thanks for writing up your ideas.

I am going to change our default release from 1.4 (which is almost the same as J5's 1.3 release) to 1.5 Beta. With 1.5, you can perform middle click in a way that similar to the one you want (two finger touch-down, hold, move and finger up). 

About how Touch Mouse works, I am going to write a few technical articles to reveal what I have learned from doing this project (all the investigation and results), so if you are interesting, you can visit my blog,, or our Documentation section here,

If you can wait for 1.5 Beta, you may try this Alpha build first, with touch-over-click disabled to avoid conflicts with Microsoft's gestures,



Apr 5, 2012 at 9:43 PM


I tried the latest stable build (1.5 beta). The middle click has become too sensitive. It activates even with a slight touch. I tried for a few hours but couldn't handle it and went back to the first build. Also, the installer size has become quite huge as compared to the first build.

Even I would want that middle click function to get activated on clicking rather than touching two fingers at the same time.

Apr 7, 2012 at 3:26 AM


Can you provide more details on the over-sensitive problems? Unless you frequently set two fingers (one in left touch zone and the other in right touch zone), middle click won't fire at all. In 1.5 beta, the two zones are further away compared to 1.4 release, which should avoid unintended triggers better other than worse. Note that in 1.4, the middle click down and up events are simulated at the same time, while in 1.5 they are simulated separately (meaning you can put two fingers on the touch surface, move the mouse, and then fingers up, so as to simulate middle click down, move cursor, and middle click up in 1.5 release).

About the installer size, it increases because we need to support non-programmers who own Touch Mouse. As they don't know much about how to download and install .NET 4 and VC++ runtime, those dependencies are now bundled, which leads to the fatter installers.

Simulating middle click by activating when both left/right clicks happen requires an OS level hook to intercept mouse click events (which is not in the scope of this project, as it has nothing to do with Touch Mouse SDK). That will be a universal hook which even works for other mouse models. Technically, it requires a kernel/driver level hook, which cannot be done in C#/.NET, and it requires lots of efforts to test out. So either Microsoft implements it in Touch Mouse driver or another open source/commercial product launches to fill in the gaps.



Apr 7, 2012 at 11:10 AM


I installed 1.5 beta to give it some more time and I can say that the two zones are further away than the previous release. But, still the middle click activates frequently as compared to the 1.4 release. This is maybe due to my frequent touching with two fingers now and then but my behavior was the same when I was using 1.4 release and I never got stray middle clicks then. In 1.5, I also noted that sometimes when my finger was down on the right click zone and if I lifted up my left finger and touched it onto the left click zone then it would trigger a middle click. But that was very rare.

I can definitely say that it's not me. 1.4 release works perfectly for me. I maybe wrong but maybe it's something to with the separate simulation of the middle click up/down events.

Apr 7, 2012 at 12:53 PM


Thanks. As you provided enough details, I can now say the differences you noticed are all caused by the new state machine based engine in 1.5.

This is expected, as in 1.4 except the fact that middle click down/up events are simulated at once, there was a touch interval measurement before firing such simulated events. Middle clicks were simulated only when all necessary conditions hit.

However, in 1.5 beta, such touch interval measurement was removed, so the event firing conditions are less, which might lead to more middle clicks. If you find 1.5 annoying at this moment, please fall back to 1.4.

1.5 has entered a stable state, but of course I am trying to improve it still.



Apr 7, 2012 at 1:52 PM

I hope everything will get right in the upcoming build.

Thanks for developing and maintaining such an awesome tool!

Apr 28, 2012 at 3:06 PM


First, thanks for the great app.

It really makes my touch mouse usable (without it I can trow it away).

I have the same problem with middle click. It works great in 1.4 but 1.5 generates a lot of unintentional middle clicks.


Thanks for the great work