Controller Companion — это программное обеспечение для операционной системы Windows, предназначенное для расширения возможностей геймпадов и контроллеров при взаимодействии с рабочим столом и приложениями. Программа реализует набор функций, позволяющих использовать контроллеры не только в играх, но и для управления курсором мыши, прокрутки содержимого, управления мультимедиа и ввода текста посредством виртуальной клавиатуры. В ряде реализаций предусмотрены настраиваемые профили, макросы и переназначение кнопок, что делает приложение гибким инструментом для разных сценариев использования.
Исторически такие приложения появились как ответ на потребность пользователей управлять ПК с дивана или в условиях ограниченной доступности традиционных устройств ввода. Controller Companion относится к классу утилит, интегрирующих драйверы контроллеров с интерфейсами ввода Windows, перехватывающих события и транслирующих их в команды управления системой. Документация и пользовательские руководства, доступные у разработчиков или в сообществах, обычно описывают настройку профилей, сопоставление осей и настройку чувствительности курсора.
- Управление курсором: преобразование движений стиков в перемещение указателя мыши с настройкой чувствительности и ускорения.
 - Клики и выделение: сопоставление кнопок контроллера с левым, правым и средним кликами мыши, а также с действием двойного клика.
 - Прокрутка: эмуляция вертикальной и горизонтальной прокрутки с помощью триггеров или стиков для работы с длинными страницами и документами.
 - Мультимедиа: управление воспроизведением, громкостью и переключением треков через выделенные команды или сочетания кнопок.
 - Виртуальная клавиатура: ввод текста при помощи экранной клавиатуры или по сочетаниям кнопок, включая поддержку быстрого ввода часто используемых фраз.
 - Профили и макросы: создание и переключение между профилями настроек для разных приложений, а также запись макросов для последовательных действий.
 - Настройка чувствительности и мёртвой зоны: тонкая регулировка отклика стиков и исключение дребезга входных сигналов.
 - Поддержка различных контроллеров: совместимость с популярными моделями через стандартные драйверы XInput и DirectInput, а также дополнительная настройка для нестандартных устройств.
 - Интеграция с игровыми и мультимедийными приложениями: возможность назначения контекстно-зависимых команд и автоматического переключения профилей при запуске конкретных программ.
 - Интерфейс и локализация: графический интерфейс для создания схем управления и часто поддержка нескольких языков в настройках.