awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

17 dépôts

Awesome GitHub RepositoriesInput And Controllers

Libraries for managing gamepads, joysticks, and input mapping.

Explore 17 awesome GitHub repositories matching part of an awesome list · Input And Controllers. Refine with filters or upvote what's useful.

Awesome Input And Controllers GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • hajimehoshi/ebitenAvatar de hajimehoshi

    hajimehoshi/ebiten

    13,244Voir sur GitHub↗

    Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase. The engine is designed for broad deployment, allowing applications to be compiled and run across desktops, mobile devices, web browsers, and gaming consoles. It distinguishes itself by integrating custom shader programming for specialized visual effects and providing haptic feedback control for mobile devices and gamepads. The framework covers core game development ca

    Enables precise control of high and low frequency rumble motors on connected gamepads.

    Goebitenebitenginegame
    Voir sur GitHub↗13,244
  • chvin/react-tetrisAvatar de chvin

    chvin/react-tetris

    8,717Voir sur GitHub↗

    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.

    JavaScriptimmutablereactredux
    Voir sur GitHub↗8,717
  • godotengine/godot-demo-projectsAvatar de godotengine

    godotengine/godot-demo-projects

    8,250Voir sur GitHub↗

    This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex

    Activates gamepad vibration and mobile haptics to provide tactile feedback to the player.

    GDScript
    Voir sur GitHub↗8,250
  • veloren/velorenAvatar de veloren

    veloren/veloren

    7,099Voir sur GitHub↗

    Veloren is an open-source multiplayer RPG featuring a voxel-based action adventure in a procedurally generated fantasy world. It is built upon a voxel game engine that supports 3D rendering via Vulkan and Metal, utilizing a procedural world generator to create geography and ecosystems based on erosion algorithms and temperature maps. The project is distinguished by a sandboxed plugin system using WebAssembly, which allows for the addition of new game logic and equipment without recompiling the core engine. It also features a dedicated game server architecture designed to synchronize state, ma

    Provides native support for gamepads and controllers to allow interaction without a keyboard.

    Rust3dcubecubeworld
    Voir sur GitHub↗7,099
  • 360controller/360controllerAvatar de 360Controller

    360Controller/360Controller

    6,724Voir sur GitHub↗

    360Controller is a macOS system extension and driver that enables wired Xbox 360, Xbox One, and original Xbox controllers to function as standard gamepad inputs. It maps hardware identifiers to system inputs to provide compatibility for these specific game controllers on macOS. The driver includes support for haptic force feedback and the management of integrated LED indicators on compatible hardware. It also provides a mechanism for third-party gamepad integration, allowing users to manually register unsupported controllers by specifying vendor and product identifiers. The project encompass

    Manages force feedback vibrations and LED indicators to enhance the immersive gaming experience.

    C++
    Voir sur GitHub↗6,724
  • valvesoftware/openvrAvatar de ValveSoftware

    ValveSoftware/openvr

    6,615Voir sur GitHub↗

    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.

    C++hardwareopenvr-sdksdk
    Voir sur GitHub↗6,615
  • rileytestut/deltaAvatar de rileytestut

    rileytestut/Delta

    5,827Voir sur GitHub↗

    Maps physical controllers, keyboards, and on-screen buttons for quick save and load actions in emulated games.

    Swift
    Voir sur GitHub↗5,827
  • davidobot/betterjoyAvatar de Davidobot

    Davidobot/BetterJoy

    4,698Voir sur GitHub↗

    BetterJoy est une couche logicielle et un pilote pour connecter les manettes Nintendo Switch Pro et les Joy-Cons à un environnement Windows via Bluetooth ou USB. Il fonctionne comme un émulateur de contrôleur XInput et un mappeur d'entrées de manette, traduisant les entrées des manettes Nintendo Switch en signaux XInput pour une utilisation avec des jeux PC et des émulateurs. Le projet inclut un émulateur de souris gyroscopique qui mappe le gyroscope interne des manettes Nintendo Switch vers le mouvement du curseur de la souris système. Il fournit également une interface de configuration pour remapper les boutons de la manette vers des touches de clavier personnalisées. Le logiciel couvre la connectivité matérielle pour les manettes sans fil et filaires, la traduction d'entrées pour les logiciels de jeu, et la conversion des données gyroscopiques en coordonnées d'écran relatives.

    Provides a mapping interface to bind physical controller buttons to emulator actions and keyboard keys.

    C#bluetoothcemucemu-emulator
    Voir sur GitHub↗4,698
  • hedge-dev/unleashedrecompAvatar de hedge-dev

    hedge-dev/UnleashedRecomp

    4,649Voir sur GitHub↗

    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.

    C++
    Voir sur GitHub↗4,649
  • serversideup/amplitudejsAvatar de serversideup

    serversideup/amplitudejs

    4,313Voir sur GitHub↗

    AmplitudeJS est une bibliothèque et un framework JavaScript pour construire des lecteurs audio HTML5 personnalisés. Il sert de gestionnaire de playlist côté client et de contrôleur média qui fait le pont entre les éléments HTML et l'API Web Audio, permettant aux développeurs de créer des interfaces média de marque sans dépendre des styles par défaut du navigateur. Le projet se distingue par son utilisation du binding DOM basé sur des classes CSS et du mapping d'état via des attributs de données, qui lie les éléments HTML directement aux contrôles de lecture et aux métadonnées de piste. Il inclut un système de visualisation dédié qui utilise l'API Web Audio pour rendre des formes d'onde SVG en temps réel et des effets visuels spécifiques aux chansons basés sur les données de fréquence audio. La bibliothèque fournit des capacités complètes pour la gestion de bibliothèque média, incluant le séquençage de playlist, la logique de lecture aléatoire et répétée, et le peuplement des métadonnées. Elle gère les contrôles de lecture tels que la gestion du volume, l'ajustement de la vitesse de lecture et la recherche par timestamp, tout en offrant un système de callback piloté par les événements pour synchroniser les changements d'interface utilisateur avec des jalons de lecture spécifiques. Le framework prend en outre en charge le mapping d'entrées externes pour les raccourcis clavier et inclut une commutation d'événements sensible à l'appareil pour optimiser les interactions pour les écrans tactiles mobiles.

    Detects user agents to switch between click and touch event listeners for mobile compatibility.

    JavaScriptcsshtmlhtml5
    Voir sur GitHub↗4,313
  • killedbyapixel/littlejsAvatar de KilledByAPixel

    KilledByAPixel/LittleJS

    4,127Voir sur GitHub↗

    LittleJS est un moteur de jeu 2D HTML5 léger conçu pour construire des jeux web en utilisant Canvas et WebGL sans dépendances externes. Il intègre un moteur de rendu de sprite WebGL, un moteur physique 2D pour les collisions de style arcade et la dynamique des corps rigides, et un système de recherche de chemin A* basé sur une grille pour la navigation des entités. Le moteur se distingue par son synthétiseur audio procédural, qui génère de la musique et des effets sonores au moment de l'exécution en utilisant des tableaux de paramètres pour minimiser la taille des fichiers. Il dispose également d'un pipeline graphique complet qui prend en charge le post-traitement par shader de fragment personnalisé et un système d'éclairage 2D dynamique. Le framework couvre un large éventail de capacités de développement, y compris la génération d'effets de particules, l'animation de sprite basée sur les images, et le rendu de tilemap avec mise en cache hors écran. Il fournit une gestion unifiée des entrées pour les signaux clavier, souris et manette, ainsi que des utilitaires pour la persistance de l'état du jeu et le suivi des succès via le stockage local. Le projet inclut des outils pour charger des données de niveau à partir de fichiers au format JSON et fournir des superpositions de débogage visuel pour surveiller l'état interne du moteur.

    Supports gamepad vibration to provide tactile alerts and physical responses to in-game events.

    JavaScriptbox2dgame-developmentgame-engine
    Voir sur GitHub↗4,127
  • gskinnerteam/flutter-folioAvatar de gskinnerteam

    gskinnerteam/flutter-folio

    3,950Voir sur GitHub↗

    flutter-folio est une application de référence et un portfolio démontrant l'implémentation d'une base de code unique qui offre des expériences utilisateur natives sur les plateformes mobiles, desktop et web. Il sert de vitrine pour les frameworks UI multiplateformes et les modèles de conception ciblant iOS, Android, macOS, Windows, Linux et les navigateurs web. Le projet se concentre sur la conception UI adaptative, fournissant des exemples sur la manière d'ajuster automatiquement les mises en page et les modèles d'interaction en fonction de la taille de l'écran et des périphériques d'entrée. Il illustre le mappage de la logique d'application partagée vers des idiomes spécifiques à chaque plateforme pour répondre aux attentes des différents systèmes d'exploitation. L'implémentation couvre l'optimisation UX multiplateforme via une logique de points de rupture (breakpoints) réactifs et des mises en page sensibles aux entrées. Il démontre l'utilisation d'un moteur de rendu unifié pour maintenir une expérience utilisateur cohérente à travers divers environnements matériels.

    Implements automatic interface switching based on the detected input device type.

    Dart
    Voir sur GitHub↗3,950
  • tekezo/karabinerAvatar de tekezo

    tekezo/Karabiner

    3,787Voir sur GitHub↗

    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.

    C++
    Voir sur GitHub↗3,787
  • microsoft/directxtkAvatar de microsoft

    microsoft/DirectXTK

    2,781Voir sur GitHub↗

    DirectXTK is a C++ library designed to simplify 2D and 3D graphics, audio, and input programming for DirectX applications. It serves as a comprehensive toolkit providing high-level wrappers for DirectX graphics, audio management, and input handling. The toolkit includes a graphics wrapper for loading textures and rendering 3D models and 2D sprites, alongside a dedicated audio manager for sound effects and 3D spatial audio. It also provides an input handler to track and process state updates from keyboards, mice, and gamepads. The library covers a broad capability surface including 3D math an

    Provides libraries for managing and processing signals from gamepads, keyboards, and mice to drive application logic.

    C++cpp-librarydesktopdirectx
    Voir sur GitHub↗2,781
  • electronstudio/sdl2gdxAvatar de electronstudio

    electronstudio/sdl2gdx

    87Voir sur GitHub↗

    RetroWar: 8-bit Party Battle is out now. Defeat up to 15 of your friends in a tournament of 80s-inspired retro mini games.

    Gamepad implementation with SDL support and rumble.

    Java
    Voir sur GitHub↗87
  • libgdx/gdx-controllersAvatar de libgdx

    libgdx/gdx-controllers

    85Voir sur GitHub↗

    Use game controllers with ease in your libGDX games.

    Adds support for gamepads and joysticks.

    Java
    Voir sur GitHub↗85
  • mrstahlfelge/gdx-controllerutilsAvatar de MrStahlfelge

    MrStahlfelge/gdx-controllerutils

    63Voir sur GitHub↗

    Utilities for using controllers with libGDX.

    Adds Scene2D button support and configurable mappings.

    Java
    Voir sur GitHub↗63
  1. Home
  2. Part of an Awesome List
  3. Developer Tools
  4. Input And Controllers

Explorer les sous-tags

  • Controller Input Mappers2 sous-tagsSystems 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.
  • Gamepad HapticsControl systems for triggering tactile feedback and vibration motors on game controllers. **Distinct from Input And Controllers:** Focuses on the tactile output (rumble/vibration) of gamepads rather than the mapping of their input buttons.