17 مستودعات
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.
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.
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.
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.
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.
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.
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 هي طبقة برمجية وبرنامج تشغيل لتوصيل وحدات تحكم Nintendo Switch Pro وJoy-Cons ببيئة Windows عبر Bluetooth أو USB. تعمل كمحاكي لوحدة تحكم XInput ومخطط إدخال لوحة الألعاب، حيث تترجم مدخلات وحدة تحكم Nintendo Switch إلى إشارات XInput للاستخدام مع ألعاب الكمبيوتر والمحاكيات. يتضمن المشروع محاكي ماوس جيروسكوبي يربط الجيروسكوب الداخلي لوحدات تحكم Nintendo Switch بحركة مؤشر الماوس في النظام. كما يوفر واجهة تكوين لإعادة تعيين أزرار وحدة التحكم إلى مفاتيح لوحة مفاتيح مخصصة. يغطي البرنامج اتصال الأجهزة لوحدات التحكم اللاسلكية والسلكية، وترجمة الإدخال لبرامج الألعاب، وتحويل بيانات الجيروسكوب إلى إحداثيات شاشة نسبية.
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 هي مكتبة وإطار عمل JavaScript لبناء مشغلات صوت HTML5 مخصصة. تعمل كمدير قائمة تشغيل من جانب العميل ووحدة تحكم وسائط تسد الفجوة بين عناصر HTML و Web Audio API، مما يسمح للمطورين بإنشاء واجهات وسائط ذات علامة تجارية دون الاعتماد على أنماط المتصفح الافتراضية. يتميز المشروع باستخدامه لربط DOM القائم على فئة CSS وتعيين حالة سمة البيانات، والذي يربط عناصر HTML مباشرة بعناصر التحكم في التشغيل وبيانات المسار الوصفية. يتضمن نظام تصور مخصص يستخدم Web Audio API لعرض أشكال موجية SVG في الوقت الفعلي وتأثيرات مرئية خاصة بالأغنية بناءً على بيانات تردد الصوت. توفر المكتبة قدرات شاملة لإدارة مكتبة الوسائط، بما في ذلك تسلسل قائمة التشغيل، ومنطق التبديل والتكرار، وتعبئة البيانات الوصفية. تتعامل مع عناصر التحكم في التشغيل مثل إدارة مستوى الصوت، وتعديل سرعة التشغيل، والبحث عن الطابع الزمني، مع تقديم نظام رد نداء (callback) قائم على الأحداث لمزامنة تغييرات واجهة المستخدم مع معالم تشغيل محددة. يدعم إطار العمل أيضاً تعيين الإدخال الخارجي لاختصارات لوحة المفاتيح ويتضمن تبديل الأحداث المدرك للجهاز لتحسين التفاعلات لشاشات اللمس المحمولة.
Detects user agents to switch between click and touch event listeners for mobile compatibility.
LittleJS هو محرك ألعاب HTML5 ثنائي الأبعاد خفيف الوزن مصمم لبناء ألعاب الويب باستخدام Canvas وWebGL بدون تبعيات خارجية. يدمج عارض صور (sprite) WebGL، ومحرك فيزياء ثنائي الأبعاد للتصادمات بأسلوب الأركيد وديناميكيات الأجسام الصلبة، ونظام بحث عن المسار A* قائم على الشبكة لتنقل الكيانات. يتميز المحرك بمصنعه الصوتي الإجرائي، الذي يولد الموسيقى والمؤثرات الصوتية في وقت التشغيل باستخدام مصفوفات المعلمات لتقليل أحجام الملفات. كما يتميز بخط أنابيب رسومات شامل يدعم معالجة ما بعد التظليل (fragment-shader) المخصصة ونظام إضاءة ثنائي الأبعاد ديناميكي. يغطي إطار العمل مجموعة واسعة من إمكانيات التطوير، بما في ذلك توليد تأثيرات الجسيمات، ورسوم الصور المتحركة القائمة على الإطارات، وعرض خرائط البلاط (tilemap) مع التخزين المؤقت خارج الشاشة. ويوفر إدارة موحدة للمدخلات لإشارات لوحة المفاتيح والماوس ولوحة الألعاب، إلى جانب أدوات لاستمرار حالة اللعبة وتتبع الإنجازات عبر التخزين المحلي. يتضمن المشروع أدوات لتحميل بيانات المستوى من ملفات بتنسيق JSON وتوفير تراكبات تصحيح الأخطاء المرئية لمراقبة حالة المحرك الداخلية.
Supports gamepad vibration to provide tactile alerts and physical responses to in-game events.
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.
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.
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.
Use game controllers with ease in your libGDX games.
Adds support for gamepads and joysticks.
Utilities for using controllers with libGDX.
Adds Scene2D button support and configurable mappings.