Using Wacom Touch Gestures in Unsupported Applications

I’ve recently made the decision to learn some drawing skills. Specifically, I wanted to start with a tablet right away so I could avoid having to re-teach myself to using a tablet instead of paper. However, I still consider it important to be able to shift and rotate the canvas with my hand, so I went for a Wacom tablet with touch.

Most artists I knew swear by Paint Tool SAI, but that just happens to be one of the applications not fully supported by Wacom’s drivers (pressure works fine, but touch is a no-go). Luckily, Wacom’s drivers are pretty flexible and you can easily modify them to support your favorite application.

Here’s a guide to enable pinch-zoom, panning and two-finger rotation in Paint Tool SAI and Manga Studio!

If you’re not a power user, you might want to scroll to Wacom Driver Settings for a moment before starting to see if you feel up to it, since it requires some Control Panel operations and XML editing.

Paint Tool SAI

For the rotation gesture to work in Paint Tool SAI, we need to set up some keyboard shortcuts than can then be simulated by the Wacom driver.

1. Open the Keyboard Shortcuts window in Paint Tool SAI

Keyboard Shortcuts in Paint Tool SAI's Menu Bar

2. Set up Alt+F13 to rotate the view clockwise and Alt+F14 counter-clickwise

First, tick the "Alt" check box at the upper left, then locate the entries for F13 and F14 on the left and assign "Rotate View 90° Clockwise" and "Rotate View 90° Counter-Clockwise" to them (they may be named differently and the "90°" are just a translation error). Make sure you pick "Rotate View", not "Rotate Canvas" on the right!

Editing Keyboard Shortcuts in Paint Tool SAI

3. Edit the Wacom driver’s touch emulation settings

Scroll down to the Wacom Driver Settings section or continue with the next section if you want to set up Manga Studio as well.

Manga Studio Ex 5

Manga Studio uses the mouse wheel for zooming and has no keyboard shortcuts for panning and rotating by default, so we need to change a few things here:

1. Change the modifier keys to enable panning with the mouse wheel

You can find these settings under the "File" menu:

Settings in Manga Studio's Menu

Set the mouse wheel’s normal action to "Scroll vertically" by clicking the combo box in the middle and picking "View operation". Then set Ctrl+mouse wheel to "Zoom in by up and zoom out by down" as well as Alt+mouse wheel to "Scroll horizontally":

Editing Modifier Keys in Manga Studio

2. Set up keyboard shortcuts for canvas rotation

You’ll find the keyboard shortcuts window in the menu right above the modifier key settings from the previous step!

We can only select keys that you can press here, so I picked Alt+F12 for "Rotate left" as well as Alt+F11 for "Rotate right":

Configuring Keyboard Shortcuts in Manga Studio

3. Choose finer rotation steps for the keys

Normally Manga Studio rotates by 15 degrees per press of the rotation key. That’s a bit rough, so we’ll change it to 10 degrees (we could go even lower, but then manga studio wouldn’t be able to catch up with the two-finger rotation gesture and the canvas would take several seconds to reach its final rotation even after you lifted your hand).

Open the "Preferences" window, which again is right above the "Shortcut Settings" from the previous step. Then select "Canvas" to the left and enter the value 10 in the text box labelled "Step" in "Angle":

Step Angle in Manga Studio's Preferences

Wacom Driver Settings

This is where it gets a bit tricky. Follow the steps exactly to avoid messing up your Wacom driver and requiring a reinstall!

1. Open your Services window in your Control Panel

I believe the easiest way to get there is pressing Win+Break (that’s the weird key you never use, right above Page Up :P), then clicking on "Control Panel Home" in the upper left. Then in the Control Panel, just enter "services" into the search box at upper right and you should be presented with the option to "View local services":

Local Services in the Windows Control Panel

2. Stop your Wacom service

Just search for "Wacom" in the list (you can click in the list and type "wa" to jump to it), then click on "Stop the service" or use the stop button in the toolbar:

Wacom Service in the Services Manager

Keep the services manager window open, we’ll need it again in a moment!

3. Open a Notepad window with administrator privileges

Here’s the quickest way to get one: Press Win+R and enter "Notepad" in the window that pops up:

Running Notepad via Win+R

When you press enter, Notepad (a bare-bones text editor) should open. On Windows XP we would be done by now, but on Windows Vista, 7 or 8, this Notepad window doesn’t have administrator privileges. Here’s how to grant them temporarily:

Find the Notepad window in your task bar:

Notepad Icon in Your TaskBar

Now hold the Ctrl and Shift keys pressed and click on it. You should get the well-known prompt asking whether you want to allow Notepad to make changes to this computer. Say yes.

Now a second Notepad window will have opened right on top of the first one. This second window has administrator privileges. Close the first window below it (be careful not to get confused about which is which :)).

4. Edit AppGestures.xml

All that’s left to do is to open your AppGestures.xml file. Click "File" -> "Open", then in the file selector window, go to C:\Program Files\Wacom\Tablet (depending on your Wacom product, instead of Tablet the final folder could be called Pen or something).

Because AppGestures.xml does not end in .txt, you’ll have to change your view to show "All Files (*.*)" in the lower right to see it.

Opening AppGestures.xml with Notepad

Once you’ve opened your AppGestures.xml, scroll down a bit (maybe until you see <displayname>Adobe Photoshop</displayment>). As you can see, the file contains blocks of information, always starting with the opener <ArrayElement> and ending with a matching </ArrayElement>.

Insert the following two blocks inbetween the others (I inserted mine in front of Photoshop, but any place after the first 3 entries is good):

  <ArrayElement type="map">
    <displayname>Paint Tool SAI</displayname>
    <identifier type="string">sai</identifier>
    <AutoBehavior>zoom</AutoBehavior>
    <ScrollUp type="map">
      <keystroke type="kestring"><![CDATA[&up;]]></keystroke>
      <amount type="double">50</amount>
    </ScrollUp>
    <ScrollDown type="map">
       <keystroke type="kestring"><![CDATA[&down;]]></keystroke>
       <amount type="double">50</amount>
    </ScrollDown>
    <PanLeft type="map">
      <keystroke type="kestring"><![CDATA[&left;]]></keystroke>
      <amount type="double">50</amount>
    </PanLeft>
    <PanRight type="map">
      <keystroke type="kestring"><![CDATA[&right;]]></keystroke>
      <amount type="double">50</amount>
    </PanRight>
    <ZoomIn type="map">
      <input type="string">scrollwheeldown</input>
      <amount type="double">25</amount>
      <amountmultiplier type="double">1</amountmultiplier>
      <granularity type="double">1</granularity>
    </ZoomIn>
    <ZoomOut type="map">
      <input type="string">scrollwheelup</input>
      <amount type="double">25</amount>
      <amountmultiplier type="double">1</amountmultiplier>
      <granularity type="double">1</granularity>
    </ZoomOut>
    <RotateCW type="map">
      <keystroke type="kestring"><![CDATA[&alt;&f13;]]></keystroke>
      <amount type="double">11.25</amount>
    </RotateCW>
    <RotateCCW type="map">
      <keystroke type="kestring"><![CDATA[&alt;&f14;]]></keystroke>
      <amount type="double">11.25</amount>
    </RotateCCW>
    <GrabberHand type="map">
      <keystroke type="kestring"><![CDATA[&space;]]></keystroke>
    </GrabberHand>
  </ArrayElement>

  <ArrayElement type="map">
    <displayname>Manga Studio EX 5</displayname>
    <identifier type="string">Manga Studio</identifier>
    <AutoBehavior>scroll</AutoBehavior>
    <ScrollUp type="map">
      <input type="string">scrollwheelup</input>
      <amount type="double">1</amount>
      <amountmultiplier type="double">1</amountmultiplier>
      <granularity type="double">40</granularity>
    </ScrollUp>
    <ScrollDown type="map">
      <input type="string">scrollwheeldown</input>
      <amount type="double">1</amount>
      <amountmultiplier type="double">1</amountmultiplier>
      <granularity type="double">40</granularity>
    </ScrollDown>
    <PanLeft type="map">
      <modifiers type="string">shift</modifiers>
      <input type="string">scrollwheelup</input>
      <amount type="double">1</amount>
      <granularity type="double">40</granularity>
    </PanLeft>
    <PanRight type="map">
      <modifiers type="string">shift</modifiers>
      <input type="string">scrollwheeldown</input>
      <amount type="double">1</amount>
      <granularity type="double">40</granularity>
    </PanRight>
    <RotateCW type="map">
      <keystroke type="kestring"><![CDATA[&alt;&f11;]]></keystroke>
      <amount type="double">10</amount>
    </RotateCW>
    <RotateCCW type="map">
      <keystroke type="kestring"><![CDATA[&alt;&f12;]]></keystroke>
      <amount type="double">10</amount>
    </RotateCCW>
    <ZoomIn type="map">
      <modifiers type="string">control</modifiers>
      <input type="string">scrollwheelup</input>
      <amount type="double">5</amount>
      <amountmultiplier type="double">6</amountmultiplier>
      <granularity type="double">5</granularity>
    </ZoomIn>
    <ZoomOut type="map">
      <modifiers type="string">control</modifiers>
      <input type="string">scrollwheeldown</input>
      <amount type="double">5</amount>
      <amountmultiplier type="double">6</amountmultiplier>
      <granularity type="double">5</granularity>
    </ZoomOut>
    <GrabberHand type="map">
      <keystroke type="kestring"><![CDATA[&space;]]></keystroke>
    </GrabberHand>
  </ArrayElement>

It should fit in neatly with the other blocks in the file. Make sure the block you pasted is not inside another <ArrayElement> block or something.

Check twice that the new block correctly lines up with the others, then save and close your AppGestures.xml.

5. Start the Wacom service again

Switch back to the services manager window you kept open in step 2 and start the Wacom service again by clicking on "Start the service" or using the play button in the toolbar.

Done

Congratulations, if you open up Paint Tool SAI or Manga Studio now, you should be able to pinch-zoom, two-finger rotate and pan the canvas, all via touch and without moving your hands away from the drawing area!