What is JoyToKey?

JoyToKey (or Joy2Key) enables PC game controllers to emulate the keyboard and mouse input, so that windows applications and web games can be controlled with your favorite joysticks! Whenever buttons and sticks are pressed on the controllers, JoyToKey converts them into keyboard strokes and/or mouse movements so that the target application will work as if a real keyboard and a mouse were used.

joy2key: gamepad to keyboard
Joystick to Keyboard input

JoyToKey is a shareware, but you can download the latest version for free. Try it on your PC to play games which don't have native controller support with your favorite joysticks and/or use it for general applications to improve efficiency by registering frequently used key shortcuts as joystick input. If you find JoyToKey useful, you can purchase a license key at any time from JoyToKey application menu.

Information

Location of user configuration data (profiles)

When JoyToKey is installed from the installer (JoyToKeySetup_en.exe), user configuration data will be by default stored in "JoyToKey" folder in user's "Documents" folder.

In case you can no longer find your configurations after upgrading JoyToKey, please manually copy the configuration files (JoyToKey.ini and *.cfg files) from the old "JoyToKey" folder into your "Documents/JoyToKey" folder so that your old configuration data can be accessed. For more details, please refer to this page.

JoyToKey Version 6.9.3 Released

Version 6.9.3 is a bug fix for 6.9.2, which included the following change(s):

  • For those who have trouble displaying UNICODE arrow characters (such as "←") in certain PC environments, an alternative build is now provided which only uses ASCII characters.
  • Added a task tray right-click menu "Reset main window position to (0,0)". This can be useful in case JoyToKey window is lost somewhere and you want to forcibly bring it back to the screen.
  • Renamed and re-ordered the right-click menu items during button assignment
  • Several bug fixes

Other notable changes included in the recent releases:

  • You can now define a button to trigger the assignments defined on other buttons.
    For example, it is possible to configure the followings.
    • When Button1 is pressed for a short duration, rotate the input across Input1 -> Input2 -> Input3 -> …
    • When Button1 is pressed for a long duration, enable SHIFT function
    For more details, please refer to this blog page
  • Various enhancements to "Keyboard(Multi)" functionality
    • Switch rotation - Added an ability to reset the counter when a button isn't pressed for a certain duration. That means, when the button is pressed next time, it will go back to Input1.
    • Switch depending on how long the button is pressed - It is now possible to assign an additional key "Input3" when the long-press is released.
  • Feature to trigger the custom vibration pattern when the active profile is switched (under the Options tab).

    NOTE: At this moment, it's limited to the first XInput device. If there is a demand to notify on other devices, please contact us.

  • Enhanced "Configure diagonal input as separate buttons" feature such that it can be configured separately for left and right sticks.

    (Under "Options" tab -> Show/Hide Buttons)

  • Updated the application icon - special thanks to Peter (Silent_ip)!
  • Enhanced the automated association of profiles based on the target application as follows:
    • if both path and title are specified, profile will switch only when both are matched
    • if only path is specified, profile will switch if path is matched
    • if only title is specified, profile will switch if title is matched
  • Improved the automatic detection when an additional joystick is connected.
  • New feature to paste a pre-defined text to the target application
  • Supported repeat and toggle click in mouse absolute movement mode
  • Enhanced ButtonAlias function - Now support 3 button combination
  • Support up to max 50 joysticks (previously 32 joysticks)
  • Support up to max 128 buttons (previously 32 buttons)
  • Enhanced an execution of an external program to be able to
    • pass command parameters
    • specify the starting working directory
  • Single click a task tray icon to refresh joystick connections
    When you connect a new joystick to the PC, you can just click the task tray icon to get it recognized (either left click or right click).
  • Supported multiple screens for the absolute movement of a mouse cursor.
  • Supported additional key-code emulations such as the volume control (up / down / mute), media control (prev / next / play / stop), and SCROLL_LOCK key.
  • Changed the default key emulation code for arrow keys, R-Alt and R-Ctrl, to fix some compatibility issue with recent Windows 10. In case it causes a problem for certain old games and you want to use the old key code, in the button assignment window, please select an equivalent key (from right-click menu) which is labeled as "for DirectInput".
Complete version history can be founded here, and the latest version can be downloaded from here.

WARNING: Be careful with unofficial download sites

JoyToKey seems to be distributed in various unofficial websites, and some of them seem to be distributing a tweaked software (or "download manager") to install extra applications on your PC.

They are not official distributions, and the author of JoyToKey is not involved in any of those activities. Unless you have a good reason to trust those unofficial websites, you should download JoyToKey from the official download page in order to avoid unnecessary troubles.

(There does exist some useful 3rd party websites though, for example, a site for people with disabilities where JoyToKey is packaged with pre-defined configurations for PC accessibility)

Releases

Jan 23, 2024
JoyToKey 6.9.3 Release
Sep 9, 2023
JoyToKey 6.9.2 Release
Aug 30, 2022
JoyToKey 6.9.1 Release
Aug 14, 2022
JoyToKey 6.9 Release
Jan 29, 2022
JoyToKey 6.8 Release
Aug 28, 2021
JoyToKey 6.7 Release
Mar 14, 2021
JoyToKey 6.6 Release
Aug 16, 2020
JoyToKey 6.5 Release
Jun 3, 2020
JoyToKey 6.4.3 Release (bug fix)
Apr 19, 2020
JoyToKey 6.4.2 Release
Jul 21, 2019
JoyToKey 6.3 Release
Feb 2, 2019
JoyToKey 6.2 Release
Sep 23, 2018
JoyToKey 6.1.1 Release
Sep 16, 2018
JoyToKey 6.1 Release
Sep 9, 2018
JoyToKey 6.0 Release

Return To Top