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 a joystick input. If you find JoyToKey useful, you can purchase a license key at any time from JoyToKey application menu.


Location of user configuration data (profiles)

Starting from version 6.3, JoyToKey is distributed with an installer and user configuration data will be by default stored in "JoyToKey" folder in user's "Documents" folder.

In case you upgrade JoyToKey from an older version, please manually copy (or move) the old "JoyToKey" folder into your "Documents" folder so that your old configuration data can be accessed (especially *.cfg and *.ini files). If you have a problem, please refer to this post.

JoyToKey Version 6.3 Released

Version 6.3 includes the following changes:

  • To be more friendly for new users,
    • JoyToKey is packaged and distributed with an installer, instead of a ZIP file format
    • Tab names in the button assignment window are made clearer (e.g. "Keyboard 2" -> "Keyboard (Multi)")
    • UI layout for assigning the mouse cursor movement is made simpler
  • User configuration data will be by default stored in "JoyToKey" folder in user's "Documents" folder.

    In case you upgrade JoyToKey from an older version, please copy (or move) the old "JoyToKey" folder into your "Documents" folder so that you can continue to access your configuration data.

  • Minor bug fixes

Besides, following changes are included in recent releases:

  • 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
  • In case JoyToKey is started when no controller is connected, JoyToKey tries to automatically detect devices until one controller is connected. From this version, users can change this behaviour such that JoyToKey continues the auto detection until two controllers are connected, or completely disable this auto detection feature. For more details, please refer to this page.
  • 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".
  • Ability to re-process the key emulation event when the same key continues during the processing of Input1-Input4 sequence (Keyboard 2).
    By default, when processing the sequence of key emulation through Input1 to Input4, if the same key assignment continues, it's emulated only once. This behaviour can be changed from "Options" tab by enabling the following checkbox: "Re-process when the same key continues in sequence"
Complete version history can be founded here, and the latest version can be downloaded from here.

Uploaded the old 5.2.1 version

In case you're having a compatibility issue with some online game, the following two versions can be downloaded from here.

  • the latest version - which is supposed to fix the issue
  • the old version 5.2.1 - which seems to be unaffected by the issue

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)


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
Feb 23, 2017
JoyToKey 5.9 Release
Dec 27, 2015
JoyToKey 5.8.2 Release
Nov 21, 2015
JoyToKey 5.8.1 Release (bug fix)
Nov 7, 2015
JoyToKey 5.8 Release
Aug 28, 2015
JoyToKey 5.7.1 Release
Apr 18, 2015
JoyToKey 5.7 Release
May 14, 2014
JoyToKey 5.6 Release
Jan 26, 2014
JoyToKey 5.5.1 Release (minor bug fix)
Jan 18, 2014
JoyToKey 5.5 Release
Nov 4, 2013
JoyToKey 5.4.2 Release
Oct 17, 2013
JoyToKey 5.4.1 Release
Oct 16, 2013
JoyToKey 5.4 Release
Aug 31, 2013
JoyToKey 5.3.1 Release
Aug 21, 2013
JoyToKey 5.3 Release
Sep 2, 2012
JoyToKey 5.2 Release
Apr 19, 2012
JoyToKey 5.1 Release
Sep 1, 2011
JoyToKey 5.0 Release

Return To Top