8 repositorios
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 es una capa de software y driver para conectar mandos de Nintendo Switch Pro y Joy-Cons a un entorno Windows vía Bluetooth o USB. Funciona como un emulador de mando XInput y mapeador de entradas de gamepad, traduciendo las entradas del mando de Nintendo Switch a señales XInput para su uso con juegos de PC y emuladores. El proyecto incluye un emulador de ratón por giroscopio que mapea el giroscopio interno de los mandos de Nintendo Switch al movimiento del cursor del ratón del sistema. También proporciona una interfaz de configuración para remapear los botones del mando a teclas de teclado personalizadas. El software cubre la conectividad de hardware para mandos inalámbricos y cableados, traducción de entradas para software de juegos y la conversión de datos del giroscopio en coordenadas de pantalla relativas.
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 es una biblioteca y framework de JavaScript para construir reproductores de audio HTML5 personalizados. Sirve como un gestor de listas de reproducción del lado del cliente y controlador de medios que cierra la brecha entre los elementos HTML y la Web Audio API, permitiendo a los desarrolladores crear interfaces de medios con marca propia sin depender de los estilos predeterminados del navegador. El proyecto se distingue por su uso de enlace DOM basado en clases CSS y mapeo de estado de atributos de datos, que vincula los elementos HTML directamente a los controles de reproducción y metadatos de pistas. Incluye un sistema de visualización dedicado que utiliza la Web Audio API para renderizar formas de onda SVG en tiempo real y efectos visuales específicos de la canción basados en datos de frecuencia de audio. La biblioteca proporciona capacidades integrales para la gestión de bibliotecas de medios, incluyendo secuenciación de listas de reproducción, lógica de reproducción aleatoria y repetición, y población de metadatos. Maneja controles de reproducción como gestión de volumen, ajuste de velocidad de reproducción y búsqueda de marcas de tiempo, mientras ofrece un sistema de callback basado en eventos para sincronizar los cambios de la interfaz de usuario con hitos de reproducción específicos. El framework admite además el mapeo de entradas externas para atajos de teclado e incluye cambio de eventos consciente del dispositivo para optimizar las interacciones para pantallas táctiles móviles.
Detects user agents to switch between click and touch event listeners for mobile compatibility.
flutter-folio is a reference application and portfolio demonstrating the implementation of a single codebase that delivers native user experiences across mobile, desktop, and web platforms. It serves as a showcase for cross-platform UI frameworks and design patterns targeting iOS, Android, macOS, Windows, Linux, and web browsers. The project focuses on adaptive UI design, providing examples of how to automatically adjust layouts and interaction patterns based on screen size and input devices. It illustrates the mapping of shared application logic to platform-specific idioms to meet the expect
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.