Sunday, June 14, 2015

Tips for making SketchBook Pro (desktop) more pleasant to use on Surface 3

As much as I like the Sketchable app on Surface 3, I still miss the full functionality available in Sketchbook Pro. The main annoyances of using Sketchbook Pro on Surface 3 are:
  • accidental palm touches messing up my drawings
  • desktop windows layout takes up lots of spaces
So, here are my notes on attempting to address the above issues:

Fixing Window Clutter issue and making layout more like a Windows 8 app

Shortcut key: "Crtl + Alt + J"

This is one of the easiest annoyances to solve. For some reason, there isn't a "full-screen" option available in the menu, but there seems to be a shortcut key for it: "Crtl + Alt + J". This makes Sketchbook Pro look like a Windows 8 app.

[Below updated: 6/21/2015 - Figured out how to automatically disable touch when Sketchbook Pro window active]

Enabling/Disabling Touch on Surface 3

This article and this post inspired me to do something similar with additional tweaks and a workaround to suppress the UAC permissions message. My current setup is that:

- When sketchbook pro window is active, touch is disabled.
- When sketchbook pro window is not active (even when computer is put to sleep and back on), touch is enabled.
- Pressing the top button once on the stylus once toggles touch between full screen and window mode.

Here's my set of notes getting the above to work with additional details specific to my setup:

1. Download and install DevManView. You'll need to copy the executable and chm file to C:\Windows\System32  . Note: You may need to right click on the .exe file, select properties and click on Unblock if the executable doesn't run.

2. Download and install AutoHotKey. I am beginning to realize how powerful this utility is. It's a must have if you're serious about customizing your Surface 3.

3. To disable UAC from asking you for Administrative privileges, you'll need to follow the instructions here. Here are the specific steps to take (but no pretty pictures):
   - Launch task scheduler. Press and release flag key. Type "schedule tasks" to search for it.
   - In task scheduler, expand the Task Scheduler Library folder tree.  Right click on Task Scheduler Library folder and select "New Folder". Name the new folder: Custom
   - Select Custom folder. Right click on folder and select "Create Task". Fill out the following:
    Under General tab:
       Name: DisableTouch
       Run only when user is logged on.
       Checked on: "Run with highest privileges"
       Checked on: "Hidden"
       Configure for "Windows 8.1"
    Under Actions tab:
       Click "New..."
       Action: Start a program
       Program/script: C:\Windows\System32\DevManView.exe
       Add arguments: /disable "HID-compliant touch screen"
       Click OK
     Under Conditions tab:
        Uncheck everything
     Under Settings tab:
        Checked on: "Allow task to be run on demand."
        Checked on: "Stop the task if it runs longer than:". Fill in: 10 seconds
        Checked on: "If the running task does not end when requested, force it to stop"
        Drop down menu at bottom: "Stop the existing instance"
        Everything else is unchecked.
     Click OK
    - Repeat the above Create Task process but with the following differences:
       Name: EnableTouch
       Program/script: C:\Windows\System32\DevManView.exe
       Add arguments: /enable "HID-compliant touch screen"

4. Now for the easy part. Create a file (and name it however you want, but make sure it has a .ahk extension. Mine is "SketchbookTweaks.ahk"). Copy and paste the following content:

#Persistent
disabled := 0
SetTimer, disableTouch, 500

#IfWinActive ahk_exe SketchBookPro.exe
#F20::
Send {Ctrl Down}{Alt Down}j{Alt Up}{Ctrl Up}
return
#IfWinActive
return

disableTouch:
    If WinActive("ahk_exe SketchBookPro.exe") 
{
if (disabled = 0) {
 disabled := 1
 Run, C:\Windows\System32\schtasks.exe /RUN /TN "\Custom\DisableTouch", Hide, cmdPid
   }
WinWaitClose ahk_pid %cmdPid%
WinWaitNotActive ahk_exe SketchBookPro.exe
return
} else {
if (disabled = 1) {
 disabled := 0
 Run, C:\Windows\System32\schtasks.exe /RUN /TN "\Custom\EnableTouch", Hide, cmdPid
}
WinWaitClose ahk_pid %cmdPid%
WinWaitActive ahk_exe SketchBookPro.exe
return
}
5. Run the script and test it out. If you want it to autostart, Flag+R and type:
  %appdata%\Windows\Start Menu\Programs\Startup
Create a shortcut link to your AHK file in there.

Now I can draw without accidental palm touches.

Tip:
If you need to zoom in and out, I learned the fastest way to do this is to hold the upper side button on the stylus, and click on the canvas. This will trigger the tool wheel. You can use the up gesture to trigger the zoom/pan/rotate tool (i.e., hold upper side button on stylus and draw a short line up, then let go). With the zoom/pan/rotate tool, you can quickly use the stylus to zoom/rotate/pan as desired. No more need for touch.

No comments:

Post a Comment