JoyToKey — это утилита для операционной системы Microsoft Windows, предназначенная для сопоставления сигналов от игровых контроллеров с событиями клавиатуры и движениями мыши. Программа позволяет использовать геймпады и джойстики в приложениях и играх, не имеющих встроенной поддержки контроллеров, путём эмуляции ввода с клавиатуры и мыши на основе нажатий кнопок и изменений осей на подключённом устройстве.
Разработка и распространение утилиты осуществляются в рамках модельного программного продукта: приложение устанавливается и запускается локально, конфигурирование выполняется через профили, в которых задаются соответствия между элементами контроллера и наборами команд клавиатуры/мыши. Исторические подробности и полная хронология версий в открытых источниках могут быть представлены фрагментарно; при отсутствии единых и проверяемых сведений о происхождении или авторах следует опираться на общее описание функциональной направленности и практических сценариев применения.
- Эмуляция ввода: перевод нажатий кнопок и движений осей контроллера в нажатия клавиш и события мыши для совместимости с приложениями без поддержки геймпада.
 - Профили конфигурации: сохранение и загрузка наборов сопоставлений для разных игр и программ, возможность быстрого переключения между ними.
 - Настройка осей: привязка аналоговых осей к движениям мыши или к повторяющимся нажатиям клавиш с регулировкой чувствительности и мёртвых зон.
 - Комбинации и макросы: поддержка назначения нескольких клавиш или последовательностей действий на одну кнопку контроллера.
 - Работа в фоне: возможность минимизации в системный трей и перехвата ввода, пока приложение запущено в фокусе или в фоне, в зависимости от настроек.
 - Совместимость устройств: поддержка широкого круга USB- и Bluetooth-контроллеров, включая джойстики, геймпады и рули, распознаваемых Windows как устройства ввода.
 - Пользовательский интерфейс: визуальные средства для тестирования входных сигналов и отладки сопоставлений без необходимости запуска целевого приложения.
 - Гибкость настроек: возможность задания повторений при удержании кнопки, задержек и тонкой калибровки для точной подгонки под требуемое поведение.