Disable the touch screen to use the pen

Discussion in 'Microsoft Surface Pro 3' started by Francis Beland, Oct 28, 2014.

  1. Francis Beland

    Francis Beland New Member

    Joined:
    Oct 27, 2014
    Messages:
    8
    Likes Received:
    9
    Trophy Points:
    3
    Hello,

    One of the thing I really like about the SP3 is the pen integration that is really well done. There is almost no lag and it's very precise. Unfortunately, even with the palm rejection, I had some problems when putting my hand before approaching the pen.

    So I decided I needed a quick way to disable the touch screen when I was using Onenote with the pen. I did a little search and here is the way I did it.

    To disable the touch screen, you need to go in Device Manager and disable the HID-compliant touch screen under Human Interface Devices. The pen and keyboard will still be usable. Since I wanted the process to be shorter, I decided to write a Powershell script tu automate both tasks of disabling and enable the touch screen.

    Powershell
    First of all, if you want to run a script in ps1 format (which is Powershell script file extension), you need to change the way Powershell run script by using the set-execution policy. To do it, open Powershell in admin mode (Right-Click Powershell and click run as administrator) and type the following code (only once):

    Code:
    Set-ExecutionPolicy RemoteSigned
    To disable and enable devices in the device manager in Powershell, you need to download the Device Management PowerShell Cmdlets module available here: https://gallery.technet.microsoft.com/scriptcenter/Device-Management-7fad2388 . Once downloaded, unzip it to any folder but take note of the exact path since you'll need it in the script.

    Once done, you can start the Script. The script is quite simple:
    Code:
    $devicemgmtmodule = "c:\path\DeviceManagement.psd1"
    import-module $devicemgmtmodule
    get-device | where-object -property name -eq "HID-compliant touch screen" | disable-device
    The "path" is the path of the file you unzipped earlier.

    To create the enable device script, use the same code but at the end, put enable-device.

    **EDIT** Windows Language modification
    Please note that if you're using Windows in another language, you will have to change the "HID-compliant touch screen" in the script with what it's called in your language. Please send me a PM your language specific device name and I will add it here.

    English: "HID-compliant touch screen"
    Français: "Écran tactile HID"


    UAC
    As you probably know, UAC is the little popup you receive when you try to do something that require elevated privileges. Disabling and Enabling devices are things that need elevated privileges to do. If you disabled UAC, please disregard this part but I wanted to keep it.

    When you run a Powershell script, it won't ask you to elevate into admin mode but it only gives you an error. You need to elevate your privileges inside the Powershell script. I found this script there : http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/23/a-self-elevating-powershell-script.aspx
    You just need to copy the code and paste it at the start of your script to get the UAC popup when running it.

    From now on, you can right-click on the ps1 script and click "Run with Powershell". However, if you double-click on a ps1 file, it open Notepad to edit it. Since I wanted a fastest way to open it, I created a batch file to call Powershell and run the ps1 script.

    Batch File

    Here is the code of my batch file which is quite simple:
    Code:
    powershell.exe -file C:\path\Disable_TouchScreen.ps1
    I then save it as a .bat file.

    Pin it to start menu
    When you right-click a bat file, you don't have the option of "Pin it to start". To make it available in the MetroUI menu, you need to copy the shortcuts of both batch files (disable.bat and enable.bat) to the following path: C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu

    You can now open you MetroUI, Swipe down the the Apps by name and you will see both shortcuts. You can now right-click on them and select "Pin to Start".

    Please note that when the touch screen is disabled, the pen, the keyboard (including touchpad) and the Home button on the tablet are still active and can be used. I hope it can help some people if they have the same problem.
     
    Last edited: May 25, 2015
    Billy64, rezanazarian, Neko and 3 others like this.
  2. Bill Slaunwhite

    Bill Slaunwhite New Member

    Joined:
    Oct 10, 2014
    Messages:
    11
    Likes Received:
    2
    Trophy Points:
    3
    Location:
    Nova Scotia, Canada
    My Device:
    SPro3
    Thank you for the script, I will definitely try it out. I get clients to sign documents on my SP3 frequently and sometimes the palm rejection doesn't always work and they back off saying "oh, did I do something wrong?". They haven't of course, so if I can remove that moment front the signing process then it becomes more comfortable. Thanks! I will let you know how it goes!
     
  3. Francis Beland

    Francis Beland New Member

    Joined:
    Oct 27, 2014
    Messages:
    8
    Likes Received:
    9
    Trophy Points:
    3
    Thanks for the comment. I'm sure your clients will be happier to sign on your tablet with the touch screen disabled. When I go in a meeting, disabling the touch screen is the first thing I do.
     
  4. ydejes

    ydejes New Member

    Joined:
    Mar 10, 2015
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Hello. I followed your directions and got stuck at the UAC and batch file. If the powershell code was to create a script .ps1, it did not, resulting in not being able to create the batch file. I would like help to proceed. I think this script is wonderful!

    Please and Thank you :)
     
  5. Francis Beland

    Francis Beland New Member

    Joined:
    Oct 27, 2014
    Messages:
    8
    Likes Received:
    9
    Trophy Points:
    3
    No the script won't create the batch file. You need to do it manually. First, open Powershell ISE in Windows and go get the UAC elevation script from the link above. Copy everything to "# Run your code that needs to be elevated here" (So don't copy the 2 last lines). Paste it in the upper pane in Powershell ISE. At the end of it, paste the following code:

    Code:
    $devicemgmtmodule = "c:\path\DeviceManagement.psd1"
    import-module $devicemgmtmodule
    get-device | where-object -property name -eq "HID-compliant touch screen" | disable-device
    In the first line, path is where the DeviceManagement.psd1 file you downloaded earlier is saved.

    In ISE, save the script in PS1 format. You then need to create the batch file that will call the Powershell Script. I hope everything is clear. If not, don't hesitate to reply.
     
  6. ydejes

    ydejes New Member

    Joined:
    Mar 10, 2015
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    I got it working! Thank you! Beautiful script!
     
  7. rquellet

    rquellet Member

    Joined:
    Jul 6, 2014
    Messages:
    58
    Likes Received:
    16
    Trophy Points:
    8
    My Device:
    SPro3
    Thanks for posting this. I will give it a try.

    I wish Microsoft would issue a fix for the palm rejection problems so we don't have to hack around the problem.
     
  8. rquellet

    rquellet Member

    Joined:
    Jul 6, 2014
    Messages:
    58
    Likes Received:
    16
    Trophy Points:
    8
    My Device:
    SPro3
    Do you think it would be possible to execute this script when I press the button onto the top of the pen? That would make it really convenient!
     
  9. vxm

    vxm Active Member

    Joined:
    Jan 31, 2015
    Messages:
    136
    Likes Received:
    63
    Trophy Points:
    28
    Location:
    Warsaw, PL
    My Device:
    SPro3
    Hello @Francis Beland
    I've tried making this script on my machine, since I frequently get random brush strokes in Corel Painter when laying my hand on screen. I've followed your guide and I'm receiving an error in PowerShell:
    [​IMG]
    I'm green when it comes to scripting ( written few lines of script in ubuntu few years back when I needed touch on graphics tablet disabled for pretty much same reason, but it was copy pasting commands, so not much knowledge on my part). I'm not quite sure what to do from here. My script looks like that:
    [​IMG]

    I'm almost certain it's something trivial, but can't be sure.

    Cheers!
     
  10. rezanazarian

    rezanazarian New Member

    Joined:
    May 23, 2015
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    My Device:
    SPro3
    Hi Francis Beland
    thank you . now i enjoy write on my SP3 beautifully
     
  11. Francis Beland

    Francis Beland New Member

    Joined:
    Oct 27, 2014
    Messages:
    8
    Likes Received:
    9
    Trophy Points:
    3
    Hi @vxm

    I'm sorry I just saw your message on the topic. I hope you found your solution but if not, I did check for the error and I think you have to "unblock" the zip file you've downloaded before extracting it to the folder. Please see the following link: http://blogs.msdn.com/b/brada/archi...ported-exception-from-hresult-0x80131515.aspx

    I did not have to do it but I'm confident it will solve your problem.
     
  12. vxm

    vxm Active Member

    Joined:
    Jan 31, 2015
    Messages:
    136
    Likes Received:
    63
    Trophy Points:
    28
    Location:
    Warsaw, PL
    My Device:
    SPro3
    Hey @Francis Beland
    I solved it quite some time ago, while I do not remember exactly how, it was about those additional commands not working- I found walkthrough on how to properly use Cmdlets and used solution from there, then it went without problems. As I wrote- I probably did something wrong in first place and didn't see it as I've very limited knowledge on Powershell and commands.

    I'm using your script succesfully for some time now, it's priceless with software with bad hand rejection :)
     

Share This Page

Search tags for this page
disable touch pro3
,
disable touch screen on surface
,
disable touch screen surface
,
disable touch screen surface pro 3
,

how to disable the touchscreen and still have the surface pen work

,
surface disable touch screen
,

surface pro 3 disable touch screen

,
surface pro 4 disable touch screen
,
surface pro disable touch
,
surface pro disable touch screen