Skip to content
Thx1010saascas edited this page Jul 1, 2023 · 1 revision

Game Control Plugin for Loupedeck

Allows the Loupedeck to act as a game controller by sending DirectX buttons to a virtual joystick via vJoy.

This is a description of the Loupedeck actions with the simplest possible example.

One extremally useful keyword is "VJoyID=". This lets you choose a different VJoy joystick to manipulate meaning you can have dozens of encoders and thousands of buttons, if you really wanted. In my case, because there aren't enough encoders to do all the volumes and brighness controls, I use the default VJoyID, which is 1, for Volume controls and use VJoyID=2 when for my brightness controls.

Example: 0;Axis=X will use the default VJoy joystick but 0;Axis=X;VJoyID=2 will use the second.

Unfortunately VJoy joysticks are numbered when we want to use them but that number is not what is displayed in DCS. DCS will display something like:

image

Just use trial and error to work out which device is VJoyID 1 or 2.

Axis Button

Loupedeck encoders can trigger a button press by pressing the encoder. To use this kind of button we use an "Axis Button" Loupedeck action.

I use this to set a default encoder value. EG: I might use it to default the aircrafts position lights to 50%.

The "Axis=" keyword specifies the axis to be assigned. The screenshot below shows a list of supported axis names.

Example: 0;Axis=X

And a screen shot, to show a concrete example:

image

When this "Action Button" is pressed, the X axis will be set to 0. Because values range from -100 to 100 this equals an encoder value of 50%.

Button On/Off/Press

These actions let us trigger a joystick button.

Example: 10

When one of these actions is triggered, the numbered joystick button (10 in this case) will be pressed or released or pressed and released depending on which action you chose.

Encoder (Rotary Adjustment)

This action is for normal rotary encoders where a knob will increment or decrement a value depending on the turned direction.

Example: n;Axis=X

When the know is turned, the "X" joystick axis will be incremented or decremented appropriately.

The "n" indicates a "normal" rate of change. EG: Increment/decrement by 1 for each click. This can be made faster or slower by specifying a number here instead.

Encoder via Button Presses (Rotary Adjustment)

Sometimes DCS will not have an axis that can be used to change a value. Instead, there might be an increase button press (CW) and a decrease button press (CCW). This action will let us use an encoder for those sorts of values.

Example: n;Axis=X;UpButton=1;DownButton=101

The first two settings are the same as Encoder (Rotary Adjustment) above. But when the knob is turned, the joystick button specified by the UpButton and DownButton values will be fired.

POV 1, 2, 3, 4

Triggers a POV switch. I've not tried these yet.

Example: up

Toggles (On-Off-On)

I've not tried these yet, I'm not clear on how they are to be used.