Gamepad emulator with block keys.
Omni-Controller is a powerful tool designed to transform your keyboard into a virtual Xbox controller. Unlike basic mappers, this project utilizes a low-level driver for complete input isolation, enabling complex macro sequences and specialized input modes that standard software cannot handle.
- Full XInput Emulation: Identified as a genuine Xbox 360 controller for 100% game compatibility.
- Custom Mapping: Freely assign any keyboard keys to ABXY, sticks, triggers, and D-pad.
- Low Latency: Powered by the
Interceptiondriver for the fastest possible response time at the kernel level. - Neon UI: A modern, minimalist interface featuring a deep blue neon aesthetic with real-time visual feedback.
- Smart Tray Integration: Full control via the system tray, including a dynamic START/STOP toggle and "Hide to Tray" functionality.
- Portability: A single standalone
.exefile—no Python or extra libraries required on the host PC.
Beyond simple mapping, you can assign specialized behaviors to any button:
- NORMAL: Standard 1:1 mapping—the button is active only while the key is held down.
- TURBO: Press once to start a continuous rapid-fire loop; press again to stop. Perfect for spamming actions without fatigue.
- TOGGLE: Press once to keep the button held down (latched); press again to release.
- DELAY: Press and hold to trigger an action after a set delay (0.1s+). Releasing the key early cancels the action.
- One-Tap Clear: Instant bind removal in both the mapper and macro editor via Right-Click.
- Geometry Memory: The app remembers its window position and size across sessions.
- Safe Save: Settings management is now isolated from window positioning to prevent config corruption.
Create and execute sophisticated input chains with ease.
- Sticky Sequences: Accumulated button presses that hold until the activator key is released.
- Input Suppression: Full interception of physical keys to prevent "ghost typing" in Windows while a macro or bind is active. Even the notorious
APPSkey is now fully suppressed. - Dynamic Sync: Direct real-time synchronization between the UI timeline and emulation data.
- Dynamic Hover: Automatic shade calculation for buttons and interactive elements.
- Custom Scrollbars: Sleek 8px neon-style scrollbars for a modern look.
- Zero-Focus Logic: Automatic focus clearing after interaction to prevent accidental double-inputs.
- Driver:
Interception(Kernel-space filtering). - Emulation:
vgamepadlibrary. - Standalone: Compiled via PyInstaller (
onefile) — all resources and DLLs are packed inside.
- Download the latest release.
- Ensure the Interception driver is installed on your system.
- Run
Omni-Controller.exe. It works perfectly with a simple double-click or when run as Administrator.
python -m PyInstaller --noconfirm --onefile --windowed --name "Omni-Controller" --icon="Omni-Controller.ico" --add-data "XBOX ICONS;XBOX ICONS" --add-data "interception.dll;." --collect-all vgamepad "Omni-Controller.py"This project uses the following resources and libraries:
- Icons (Assets): Free Input Prompts by JulioCacko. Special thanks for the high-quality visual assets.
- Driver: Interception by Francisco Lopes.
- Emulation Engine: vgamepad.
- UI Framework: PySide6 (Qt for Python).
Distributed under the MIT License. Feel free to use, modify, and distribute this software.
Эмулятор геймпада с блокировкой клавиш.
Omni-Controller — это мощный инструмент, предназначенный для превращения вашей клавиатуры в виртуальный контроллер Xbox. В отличие от простых мапперов, этот проект использует низкоуровневый драйвер для полной изоляции ввода, позволяя создавать сложные макросы и специализированные режимы нажатий, которые недоступны обычному софту.
- Полная эмуляция XInput: Система распознаёт устройство как настоящий контроллер Xbox 360, что гарантирует 100% совместимость с играми.
- Кастомный маппинг: Свободно назначайте любые клавиши клавиатуры на кнопки ABXY, стики, триггеры и D-pad.
- Минимальная задержка: Работает через драйвер
Interception, обеспечивающий максимально быстрый отклик на уровне ядра системы. - Neon UI: Современный минималистичный интерфейс в глубоких неоновых тонах с визуальной обратной связью в реальном времени.
- Интеграция с треем: Полное управление через иконку в системном трее, включая динамическое переключение START/STOP и функцию «Hide to Tray».
- Портативность: Один автономный
.exeфайл — не требует установки Python или дополнительных библиотек на ПК пользователя.
- One-Tap Clear: Мгновенное удаление бинда в маппере и редакторе макросов через правый клик мыши.
- Geometry Memory: Программа запоминает положение и размер окна между сессиями.
- Safe Save: Система сохранения настроек теперь изолирована от данных о положении окна, что исключает порчу конфига.
Помимо обычного маппинга, вы можете назначать кнопкам особое поведение:
- NORMAL: Стандартный режим 1:1 — кнопка активна только пока клавиша удерживается.
- TURBO: Одно нажатие запускает цикл непрерывной стрельбы (rapid-fire); повторное нажатие останавливает его.
- TOGGLE: Одно нажатие «зажимает» кнопку геймпада; второе — отпускает её.
- DELAY: Нажатие срабатывает только после заданной задержки (от 0.1 сек). Если отпустить клавишу раньше, действие отменяется.
Создавайте и исполняйте сложные цепочки команд с легкостью.
- Sticky Sequences: Накопительные последовательности кнопок, которые удерживаются до тех пор, пока не будет отпущена клавиша-активатор.
- Input Suppression (Блокировка): Полный перехват физических клавиш. Буквы не печатаются в Windows, пока работает макрос или бинд. Даже «вредная» клавиша
APPSтеперь полностью блокируется. - Dynamic Sync: Прямая синхронизация таймлайна в интерфейсе с данными эмуляции в реальном времени.
- Dynamic Hover: Автоматический расчет оттенков для кнопок и интерактивных элементов.
- Custom Scrollbars: Элегантные неоновые полосы прокрутки шириной 8px.
- Zero-Focus Logic: Автоматический сброс фокуса после взаимодействия, чтобы избежать случайных повторных вводов.
- Драйвер:
Interception(фильтрация в пространстве ядра). - Эмуляция: Библиотека
vgamepad. - Сборка: Скомпилировано через PyInstaller (
onefile) — все ресурсы и DLL упакованы внутри.
- Скачайте последний релиз.
- Убедитесь, что в вашей системе установлен драйвер Interception.
- Запустите
Omni-Controller.exe. Программа отлично работает как при обычном запуске, так и от имени администратора.
python -m PyInstaller --noconfirm --onefile --windowed --name "Omni-Controller" --icon="Omni-Controller.ico" --add-data "XBOX ICONS;XBOX ICONS" --add-data "interception.dll;." --collect-all vgamepad "Omni-Controller.py"В проекте использованы следующие ресурсы и библиотеки:
- Иконки (Assets): Free Input Prompts от JulioCacko. Огромное спасибо автору за качественные ассеты.
- Драйвер: Interception за авторством Francisco Lopes.
- Движок эмуляции: vgamepad.
- UI фреймворк: PySide6 (Qt for Python).
Распространяется под лицензией MIT. Вы можете свободно использовать, изменять и распространять данное ПО.