Template Schema

Supported placeholders for Joystick Diagrams templates

You must adhere to the naming standards when creating/editing templates, and the currently supported keys are below.

Keys are case insensitive

Helper Keys

These keys add additional information to the template during export

Key Use
TEMPLATE_NAME Dynamically adds the exported Profile Name to the template
CURRENT_DATE Adds the current date to the template during export in the format DD/MM/YYYY

Button Keys

Key Use Example
BUTTON_X Represents your HID device button number, where X is your number BUTTON_26

POV Keys

X needs to be your POV hat ID, if you only have one on a device then it’ll start at 1.

Key Use Example
POV_X_D Each POV represented by POV_ where X is the POV ID and D is the direction POV_1_D

Depending on whether you have a 4 or 8 way hat, you’ll need the following defined in the template as D (direction)

Supported POV Directions

4 way

U
R
D
L

8 way

U
UR
R
DR
D
DL
L
UL

Example

POV_1_U
POV_1_R
POV_1_D
POV_1_L

AXIS Keys

Key Use Example
AXIS_X AXIS key for the AXIS X AXIS_X
AXIS_Y AXIS key for the AXIS Y AXIS_Y
AXIS_Z AXIS key for the AXIS Z AXIS_Z
AXIS_RZ AXIS key for the AXIS RZ AXIS_RZ
AXIS_RX AXIS key for the AXIS RX AXIS_RX
AXIS_RY AXIS key for the AXIS RY AXIS_RY
AXIS_SLIDER_N AXIS Slider, where N is the slider number for the device AXIS_SLIDER_1

Modifier Keys (New for 2.0)

There are multiple ways to specify modifiers, and your template must have room to accomodate them or you will get collisions in your text.

All modifier keys are extensions of BUTTON/HAT/AXIS keys

Key Use Example
{KEY}_MODIFIERS All modifiers are stringed together, and output to the key (less control over styling) BUTTON_1_MODIFIERS
{KEY}_MODIFIER_X Prints out a specific modifier for a given key POV_1_U_MODIFIER_1
{KEY}_MODIFIER_X_KEY Prints out a specific modifiers key presses to active the modifier BUTTON_1_MODIFIER_1_KEY
{KEY}_MODIFIER_X_ACTION Prints out the specific modifiers action/command BUTTON_1_MODIFIER_1_ACTION

Modifier Examples

If we have BUTTON 26, which contains 2 modifiers

  • Modifier 1 - Keys {CTRL, ALT} - Action “Item One Action”
  • Modifier 2 - Keys {SHIFT} - Action “Item Two Action”

BUTTON_26_MODIFIERS would output

{CTRL,ALT} - Item One Action | {SHIFT} - Item Two Action

BUTTON_26_MODIFIER_1 would output

{CTRL,ALT} - Item One Action

BUTTON_26_MODIFIER_1_KEY would output

{CTRL,ALT}

BUTTON_26_MODIFIER_1_ACTION would output

Item One Action