Transform any IR remote into a wireless keyboard controller
IRKeybridge lets you use any IR remote control as a wireless remote for your PC. Perfect for gaming, media control, or any application where you need quick access to keyboard shortcuts without reaching for your keyboard.
Created to add flexible controls for BeamNG.Drive racing without spending a single dollar more!
- Universal Remote Support: Works with most TV remotes
- Low Latency: Responsive enough for real-time gaming
- Dual Interface: GUI + CLI Tool
- Profiles: Save configurations for different remotes/games
- (pretty) Easy Setup: Learn IR codes directly from your remote
- Arduino Uno/Nano (or compatible)
- IR Receiver (TSOP4838, VS1838B, or similar)
- Any IR remote control
- USB 2.0 Cable Type A/B
git clone https://github.com/yourusername/IRKeybridge.git
cd IRKeybridge
pip install -r requirements.txt- Upload the provided Arduino sketch to your microcontroller
- Connect IR receiver to your Arduino
- Note the COM port in Device Manager
# GUI Mode (Recommended for first-time setup)
python run_app.py --gui
# CLI Mode
python run_app.py --cli
# Quick start with interactive setup
python run_app.pyMap your TV remote buttons to game controls:
- Volume Up/Down: Volume Up/Volume Down
- Channel Up/Down: Camera angles
- Play/Pause: Play/Pause
- Arrow Keys: Menu navigation
- Number Pad: Type Numbers
- Visual IR Learning: Point remote, press button, assign action
- Profile Manager: Create and switch between remote configurations
- Serial Monitor: Real-time Arduino communication
- System Settings: Configure all options in one place
# List available profiles
python run_app.py --cli --list-profiles
# Load specific profile
python run_app.py --cli --profile my_remote.json
# Enable special modes
python run_app.py --cli --enable-ghost --enable-tap
# Create executable
pyinstaller --onefile --noconsole run_app.py{
"name": "Gaming Remote",
"brand": "Samsung TV",
"mappings": {
"FF": {
"action_type": "single",
"keys": "space",
"description": "Jump"
},
"AA": {
"action_type": "combo",
"keys": ["ctrl", "shift", "r"],
"description": "Quick Restart"
}
}
}- Single Key:
space,enter,f1 - Key Combinations:
["ctrl", "c"],["alt", "tab"] - Key Sequences: Multiple actions in order
- Special Actions: System commands, macros
# Full test suite
python run_app.py --test
# Coverage report
python run_app.py --coverage
# Debug mode
python run_app.py --cli --debug --verboseblack src/ tests/Test Coverage: >80% with comprehensive unit, integration, and GUI tests.
No Serial Connection: Check COM port, try different USB cable IR Codes Not Received: Verify firmware upload, check IR receiver wiring Keys Not Working: Confirm profile mappings, try Ghost Key mode GUI Won't Start: Install PyQt5, check Python 3.8+
Debug Mode: python run_app.py --cli --debug for detailed logging.
pip install pyinstaller
pyinstaller --onefile --noconsole --name="IRKeybridge" run_app.pyStop the background service via Task Manager or your configured stop button.
This project is open source under the MIT License. See LICENSE file for details.