Pro Logitech G13 Thumb Stick mapping (drop-in!)
Here is the description from the Key Map itself
This implements 2-mode movement using the Logitech G13 thumb stick.
By default, the thumb stick will be in All Mode, and left/right is used for strafing. In this mode, all windows will move forward, backward, and/or strafe together.
Click the thumb stick in any window to switch to Single Mode. The thumb stick will then drive that character, from any window. In Single Mode, left/right is used for turning, rather than strafing. Click the thumb stick again in any window to return to All Mode.
The Key Map uses WASD, with Q and E for strafing and yes, pushing up+left with the thumbstick will blend the forward and left keys, etc.
This setup can be used in any game that has similar movement keys, though it is inspired by WoW's Cataclysm heroic instances which involve a lot of avoiding circles (and other shapes!) on the ground. Moving forward and/or strafing to the side gets you out of circles faster than auto-follow, because your followers have to wait for the server to tell them your main guy is moving, and they usually wait until he has moved a certain distance as well. When all of your guys are standing in the circle, relying on auto-follow is deadly! Therefore, in all mode (the default), the stick will let you easily move all of your guys out of the circle.
And then the Single Mode can drive whoever you want. For example, if you want to have the thumb stick able to drive your tank while you play in your healer window, all you need to do is switch to the tank window and click the stick to switch it to driving him, then switch back to the healer window or any other window!
Instructions to install this in ISBoxer:
There's two parts to this, the Key Map that you will copy and paste into ISBoxer and link to your Character Set, and an Action Target Group (often called an ATG, for short) that you will manually create. There's no hard part. Just follow the instructions

Setting up the Action Target Group:
1. In the top pane in ISBoxer, right click Action Target Groups and select New Action Target Group
2. Name this new Action Target Group g13movement -- exactly that, with no spaces. This is what the Key Map will be expecting.
3. With your new ATG selected in the top pane, right click on Characters in the bottom left pane (NOT in the top pane) and select Add All Characters
Installing the Key Map:
1. Select All in the Code box below, and Copy the entire contents to your clipboard (via Ctrl+C shortcut, or right click menu)
2. In the top pane in ISBoxer, right click Key Maps and select Paste Key Map from Clipboard -- if you do not see this option, you most likely failed at Step 1
3. In the top pane, under Key Maps, select G13 Movement (your newly-installed Key Map!)
4. In the bottom left pane is a Character Sets heading. Drag your Character Sets from the top pane to the bottom left pane, so that they appear under this heading. This links up your Character Set to the new Key Map.
That's it! Just Export to Inner Space and you're good to go.
Here is the code box for pasting, as explained above:
- Code:
<?xml version="1.0" encoding="utf-8"?>
<Box xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ObjectType>ISBoxer_Toolkit.Configs.KeyMaps.KeyMap</ObjectType>
<SerializedObject><?xml version="1.0" encoding="utf-8"?>
<KeyMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>G13 Movement</Name>
<Description>This implements 2-mode movement using the Logitech G13 thumb stick.
By default, the thumb stick will be in All Mode, and left/right is used for strafing. In this mode, all windows will move forward, backward, and/or strafe together.
Click the thumb stick in any window to switch to Single Mode. The thumb stick will then drive that character, from any window. In Single Mode, left/right is used for turning, rather than strafing. Click the thumb stick again in any window to return to All Mode.</Description>
<UseFTLModifiers>false</UseFTLModifiers>
<Hold>true</Hold>
<Mappings>
<MappedKey>
<Name>G13 Up</Name>
<Description />
<Combo>
<Combo>G13-UP</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-UP</Key>
<Code>0</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>false</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>g13movement</Target>
<Combo>
<Combo>W</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>W</Key>
<Code>17</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>G13 Down</Name>
<Description />
<Combo>
<Combo>G13-DOWN</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-DOWN</Key>
<Code>0</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>false</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>g13movement</Target>
<Combo>
<Combo>S</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>S</Key>
<Code>31</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>G13 Left</Name>
<Description />
<Combo>
<Combo>G13-LEFT</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-LEFT</Key>
<Code>0</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>false</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>g13movement</Target>
<Combo>
<Combo>Q</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>Q</Key>
<Code>16</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>G13 Right</Name>
<Description />
<Combo>
<Combo>G13-RIGHT</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-RIGHT</Key>
<Code>0</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>false</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>g13movement</Target>
<Combo>
<Combo>E</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>E</Key>
<Code>18</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>G13 Movement Mode</Name>
<Description />
<Combo>
<Combo>G13-STICK</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-STICK</Key>
<Code>0</Code>
</Key>
</Combo>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>false</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="PopupTextAction">
<Target>self</Target>
<Text>G13: Single Movement Mode</Text>
<DurationMS>500</DurationMS>
<FadeDurationMS>500</FadeDurationMS>
<Red>255</Red>
<Green>255</Green>
<Blue>255</Blue>
</MappedKeyAction>
<MappedKeyAction xsi:type="TargetGroupAction">
<Target>all other</Target>
<Action>Leave</Action>
<RelayGroupString>g13movement</RelayGroupString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Left</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Right</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Turn Left</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Turn Right</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStepAction">
<Target>all other</Target>
<MappedKey>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Movement Mode</MappedKeyString>
</MappedKey>
<Action>Set</Action>
<Value>2</Value>
</MappedKeyAction>
</Actions>
</Step>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="TargetGroupAction">
<Target>all</Target>
<Action>Join</Action>
<RelayGroupString>g13movement</RelayGroupString>
</MappedKeyAction>
<MappedKeyAction xsi:type="PopupTextAction">
<Target>self</Target>
<Text>G13: All Movement Mode</Text>
<DurationMS>500</DurationMS>
<FadeDurationMS>500</FadeDurationMS>
<Red>255</Red>
<Green>255</Green>
<Blue>255</Blue>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Left</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Right</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Turn Left</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Turn Right</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStepAction">
<Target>all other</Target>
<MappedKey>
<KeyMapString>G13 Movement</KeyMapString>
<MappedKeyString>G13 Movement Mode</MappedKeyString>
</MappedKey>
<Action>Set</Action>
<Value>1</Value>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>G13 Turn Left</Name>
<Description />
<Combo>
<Combo>G13-LEFT</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-LEFT</Key>
<Code>0</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>g13movement</Target>
<Combo>
<Combo>A</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>A</Key>
<Code>30</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>G13 Turn Right</Name>
<Description />
<Combo>
<Combo>G13-RIGHT</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>G13-RIGHT</Key>
<Code>0</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>g13movement</Target>
<Combo>
<Combo>D</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>D</Key>
<Code>32</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
</Mappings>
</KeyMap></SerializedObject>
</Box>