8 Repos
Systems for mapping physical controllers, keyboards, and on-screen buttons to custom emulator actions.
Distinct from Input And Controllers: Distinct from Input And Controllers: focuses on mapping inputs to emulator-specific actions like quick save/load, not general gamepad management.
Explore 8 awesome GitHub repositories matching part of an awesome list · Controller Input Mappers. Refine with filters or upvote what's useful.
This is a browser-based Tetris game built with React, using Redux and Immutable.js to manage all game state in a single immutable store. The application renders the game board, next-block preview, and score display as React components, with state transitions that are predictable and support time-travel debugging through the Redux DevTools Extension. The game distinguishes itself through several integrated capabilities. It automatically adapts between keyboard and touch controls based on the user's input device, with configurable repeat rates for responsive gameplay. A persistence layer serial
Automatically switches between keyboard and touch controls based on the user's input device.
OpenVR is a software development kit and runtime that provides a unified API for accessing virtual reality hardware from multiple manufacturers. It abstracts vendor-specific headsets, controllers, and tracking systems into a common interface, enabling applications to work across different VR devices without requiring hardware-specific code. The SDK handles core VR operations including stereoscopic frame submission to a compositor, headset and controller tracking, and input binding that maps abstract application actions to physical device controls. The runtime is built around a modular driver
Exposes VR controller inputs like buttons and triggers through a dedicated driver input API.
Maps physical controllers, keyboards, and on-screen buttons for quick save and load actions in emulated games.
BetterJoy ist eine Software-Schicht und ein Treiber zum Verbinden von Nintendo Switch Pro Controllern und Joy-Cons mit einer Windows-Umgebung via Bluetooth oder USB. Es fungiert als XInput-Controller-Emulator und Gamepad-Input-Mapper, der Nintendo-Switch-Controller-Inputs in XInput-Signale für die Verwendung mit PC-Spielen und Emulatoren übersetzt. Das Projekt enthält einen Gyroskop-Maus-Emulator, der das interne Gyroskop von Nintendo-Switch-Controllern auf die Mauszeigerbewegung des Systems mappt. Es bietet zudem ein Konfigurations-Interface zum Remappen von Controller-Tasten auf benutzerdefinierte Tastaturtasten. Die Software deckt Hardware-Konnektivität für drahtlose und kabelgebundene Controller, Input-Übersetzung für Gaming-Software sowie die Konvertierung von Gyroskop-Daten in relative Bildschirmkoordinaten ab.
Provides a mapping interface to bind physical controller buttons to emulator actions and keyboard keys.
UnleashedRecomp is a legacy software modernization project that uses static binary recompilation to enable native execution on Windows and Linux. Its primary purpose is to remove the need for emulation while updating old applications to support modern hardware and high-resolution displays. The project implements a game modding infrastructure that allows for the loading of external assets and custom software tweaks using standardized modification formats. It also includes an achievement tracking system that mirrors original platform notifications and a dedicated menu for monitoring progress.
Expands controller support to include D-pad mapping, dynamic LED colors, and touchpad integration.
AmplitudeJS ist eine JavaScript-Bibliothek und ein Framework zum Aufbau benutzerdefinierter HTML5-Audioplayer. Es dient als Client-seitiger Playlist-Manager und Medien-Controller, der die Lücke zwischen HTML-Elementen und der Web Audio API schließt und es Entwicklern ermöglicht, gebrandete Medienschnittstellen zu erstellen, ohne auf Standard-Browser-Stile angewiesen zu sein. Das Projekt zeichnet sich durch die Verwendung von CSS-Klassen-basiertem DOM-Binding und Data-Attribute-Zustands-Mapping aus, das HTML-Elemente direkt mit Wiedergabesteuerungen und Track-Metadaten verknüpft. Es enthält ein dediziertes Visualisierungssystem, das die Web Audio API nutzt, um Echtzeit-SVG-Wellenformen und songspezifische visuelle Effekte basierend auf Audiofrequenzdaten zu rendern. Die Bibliothek bietet umfassende Funktionen für die Medienbibliotheksverwaltung, einschließlich Playlist-Sequenzierung, Shuffle- und Repeat-Logik sowie Metadaten-Populierung. Sie handhabt Wiedergabesteuerungen wie Lautstärkemanagement, Wiedergabegeschwindigkeitsanpassung und Zeitstempel-Seeking, während sie ein ereignisgesteuertes Callback-System bietet, um Benutzeroberflächenänderungen mit spezifischen Wiedergabemeilensteinen zu synchronisieren. Das Framework unterstützt zudem externes Input-Mapping für Tastaturkürzel und enthält gerätebewusstes Event-Switching, um Interaktionen für mobile Touchscreens zu optimieren.
Detects user agents to switch between click and touch event listeners for mobile compatibility.
flutter-folio ist eine Referenzanwendung und ein Portfolio, das die Implementierung einer einzigen Codebasis demonstriert, die native Benutzererlebnisse über Mobil-, Desktop- und Webplattformen hinweg liefert. Es dient als Showcase für plattformübergreifende UI-Frameworks und Design-Patterns für iOS, Android, macOS, Windows, Linux und Webbrowser. Das Projekt konzentriert sich auf adaptives UI-Design und bietet Beispiele dafür, wie Layouts und Interaktionsmuster automatisch an Bildschirmgrößen und Eingabegeräte angepasst werden können. Es illustriert die Abbildung gemeinsamer Anwendungslogik auf plattformspezifische Idiome, um den Erwartungen verschiedener Betriebssysteme gerecht zu werden. Die Implementierung deckt Multi-Plattform-UX-Optimierung durch responsive Breakpoint-Logik und eingabebewusste Layouts ab. Es demonstriert die Verwendung einer einheitlichen Rendering-Engine, um ein konsistentes Benutzererlebnis über diverse Hardware-Umgebungen hinweg aufrechtzuerhalten.
Implements automatic interface switching based on the detected input device type.
Karabiner is a system-level keyboard remapper and input modifier for macOS. It functions as a kernel-level interceptor that modifies raw hardware events before they reach the operating system, utilizing a virtual hardware device to inject synthesized keyboard and mouse actions. The project distinguishes itself as a context-aware input manager, applying modification rules dynamically based on the active application, connected hardware, or current input source. It serves as a keyboard macro engine capable of automating multi-key shortcuts and conditional behaviors. Its broader capabilities inc
Applies input modifications conditionally based on the active application, connected device, or input source.