[F] Disable Touch Screen from Tray Application - Working Prototype

Introduction

I’m “releasing” a prototype of some software to disable the touch screen (but not the pen) when clicking on an icon in the system tray. I call it TouchDisableTray. I developed this 100% on my Eve V as an exercise to myself. So it works on that… and not sure what else it works on.

The use case here is that quite frankly, palm rejection sucks ass. OneNote is basically unusable with the pen unless you hover your arm, which I hated doing. I’ve commented on this over the years since the V was released, and finally got around to writing a small application to DO something about it. So that’s what this is. It’s an icon that lives in your system tray, you touch it once to disable the touch screen but not the pen. You can use your pen and mouse freely, and when you want your touch screen back, tap the icon with your pen or left-click with the mouse/touchpad. The icon is green when the touch screen is active, and red when it isn’t. And that’s it. Right-click it to bring up a sub-menu to exit it.

Troubleshooting:

  • The icon doesn’t appear! - Look in the little “up” menu where it hides icons. By default all new icons go in there. You can right-click the taskbar and pick “Taskbar Settings” to permanently un-hide the icon
  • I get a popup on starting it saying something’s wrong! - If it says it’s already running, see the first line of Troubleshooting. Otherwise, please post that here. Maybe I can debug it! I expect this on non-english, but if you’re a dev, you can probably figure this out with the actual device name in device manager for the touch screen
  • The settings menu is blank! - yes it is. It’s there in case there’s a use case for one in the future. It doesn’t do or harm anything.
  • How do I exit? - right-click the icon, it’ll popup a menu and let you exit.

Here’s a link to the project on my Bitbucket: https://bitbucket.org/kevinanderson42/touchdisabletray/

And here’s the link to the download of what I’m calling v0.1: https://bitbucket.org/kevinanderson42/touchdisabletray/downloads/TouchDisableTray_v0.1.zip Just unzip it into a directy and use the .exe. Nothing more to it.

This was compiled with VS 2019 community edition (free), and should “just compile” if you clone the repository for both release and debug versions.

Mad credit goes out to the libraries I used & adapted here m(this is mostly not my code). I give credit in my readme.md in the project, but here too: This project uses the back-end from the WinDeviceManagerLight application. This made it much easier to use the back-end windows libraries for device management. I will also acknowledge the tutorial for C#-based tray applications from Michael Sorens located at Redgate Hub. The Custom Application Context class is partially copied & modified from this.

Notes

Please note the following:

  1. You probably require the VS2019 Redistributable, and .NET framework 4.8 to run this without Visual Studio. I only have machines at home with VS2019 installed (including my V itself), so I already have these. Please comment on how this works on a “non-developer” model V
  2. This probably only works on English. The device name string it’s looking for I wouldn’t be surprised is internationalized. Not hard to tweak though (it’s literally one line in the string to search for).
  3. This REQUIRES Administrator to work. It’ll automatically prompt you when running it to promote it. It manipulates devices being enabled or disabled. There’s no way around this.
  4. Because of 3, COMPILE THIS YOURSELF. Don’t trust me. Look at the code before you run it. I’m some random guy from the internet. Compile this yourself first. Running a random non-signed .exe file with admin from the internet… yikes.

So please please please compile this yourself first, and get a few comments on here (from accounts not minutes old) before people download the binary I provided. I provided it at the advice of my wife, who said there’d be demand for a non-developer version, but I’m leery, so please have a few people clone the repo and build it themselves before “non-developers” get at this.

If anybody has any issues with accessing the Bitbucket Repo, please let me know and I’ll try and tweak the repo settings. For this or any other issues, please reply here.

I hope the community finds this useful. It may even work on other devices with a touch screen.