Thank you for using JoyToKey

JoyToKey is shareware. If you like JoyToKey and continue to use it, please consider purchasing a license key.

NOTE: For people with disabilities, JoyToKey provides a free license to improve PC accessibility (either for yourself or to assist someone else). If you need more details, please send an email to JoyToKey.Accessibility, briefly describing how JoyToKey will be used to assist with the disability.


TIPS to make JoyToKey more useful

Support for Command input (an extension of sequence input)

Since version 7.4, JoyToKey supports command input (a.k.a. Macro input), which is an extension of sequence input.

This allows you to execute multiple key inputs with a single button press, and also allows you to add arbitrary delays between key inputs. You can use this feature to create macros that can be executed with a single button press. For more details, please refer to this blog page.

Full support for the Xbox controller

Since version 5.8, JoyToKey has offered extended support for the Xbox controller, including the silver Guide button.

For more details, please refer to this page

Button alias - Combine multiple definitions (e.g. "SHIFT + Mouse Wheel")

How can I configure horizontal scrolling (SHIFT + Mouse Wheel) with a single stick (button) input?

To assign multiple functions to a single input, you can use the button alias (mapping) feature from "Options" -> "Configure Button Alias (Mapping)...". For example, in the screenshot below, button19 is configured to be triggered when stick-left is pressed. Therefore, if you configure stick-left as a SHIFT key and Button19 as a wheel rotation, "SHIFT + wheel rotation" will be emulated when stick-left is pressed.

It is also possible to configure a button (e.g. Button22) to be triggered only when both Button5 and Button6 are pressed simultaneously. This way, you can assign three different functions to two buttons: Button5 alone, Button6 alone, and Button5 and Button6 pressed together.

Virtual joysticks (a.k.a. SHIFT-key function)

Assume your joystick has only 6 buttons, but you want to assign 10 different key inputs to your joystick buttons. What can you do?

In that case, you can configure extra key assignments for a virtual joystick number and switch to them by pressing a special joystick button (a.k.a. SHIFT-key button).

For example, by default you are using the key/mouse assignments defined for Joystick #1. However, in the example below, you can switch to key/mouse assignments defined for Joystick #3 whenever "button 3" is pressed.

Combine Keyboard + Mouse Click (e.g. CTRL+Click)

Starting with version 5.2, you can combine keyboard and mouse click input, such as SHIFT+Click or CTRL+Click. In the keyboard assignment window, right-click the entry box to assign the mouse click.

Switch across multiple key assignments

Starting with version 5.0, JoyToKey allows you to assign two or three sets of key assignments to a single button, and switch among them in several ways.

  • Switch in rotation
    In the sample screenshot below, the key assignments will rotate like this whenever the button is pressed.
    •    "A -> B -> C -> A -> B -> C-> A -> ..."
  • Switch based on press-duration
    Input can change depending on how long the button is pressed.
    • e.g. small jump key if the button is pressed for less than 300 milliseconds
    • e.g. big jump key if the button is pressed for more than 300 milliseconds
  • Switch based on analog input level
    For analog stick inputs, the assignment can change depending on the analog input level.
    • e.g. small stick input => slow movement key
    • e.g. large stick input => fast movement key

Return To Top