19 repositorios
Drivers for collecting events from physical input hardware like touchscreens, keypads, and encoders.
Distinct from Input Controls: Distinct from Input Controls: focuses on the low-level hardware abstraction layer for input peripherals rather than the UI widgets themselves.
Explore 19 awesome GitHub repositories matching user interface & experience · Peripheral Input Drivers. Refine with filters or upvote what's useful.
shadPS4 is a C++ game emulator and hardware virtualization tool designed to replicate the PlayStation 4 system environment and hardware to run console software on a computer. It functions as a cross-platform application compatible with Windows, Linux, macOS, and FreeBSD. The project serves as a graphics debugging tool capable of dumping shaders and integrating with rendering tools for performance analysis. It provides a system for recreating the console environment through the import of official firmware files, system fonts, and the use of decrypted keys for tracking game trophies. The emula
Maps physical controllers and keyboard inputs to original console hardware signals for accurate gameplay.
This project is a high-performance, lightweight C graphics library designed for creating interactive user interfaces on resource-constrained embedded hardware. It functions as a comprehensive framework that provides a widget toolkit, a rendering engine, and hardware-agnostic drivers to support the development of graphical displays on microcontrollers and embedded systems. The framework distinguishes itself through a flexible, object-oriented widget hierarchy and a declarative layout engine that supports responsive design patterns like flexbox and grid systems. It enables developers to synchro
Collects events from various peripherals like touchscreens, keypads, and encoders to ensure consistent user interaction.
Unleashed Firmware is a custom firmware modification for portable multi-tool devices designed to expand the capabilities of radio frequency, infrared, and contactless authentication hardware. It functions as a comprehensive platform for wireless security auditing, signal analysis, and hardware interaction, enabling users to capture, decode, and emulate signals across various communication protocols. The firmware distinguishes itself through a modular plugin architecture that allows for the dynamic addition of signal analysis and attack capabilities without requiring a full system recompile. I
Direct interaction with hardware registers allows the firmware to manipulate low-level radio and input signals with minimal latency and high precision.
Smartknob is an open-source programmable rotary interface platform that combines motor-driven feedback and sensor-based tracking to provide tactile input for digital environments. It functions as a customizable input device peripheral, utilizing a brushless motor and a magnetic encoder to translate physical rotation into precise control signals for software applications. The platform distinguishes itself through software-defined haptic feedback, which allows for the simulation of physical sensations such as clicks, springs, and hard stops. By employing closed-loop control and real-time motor
Functions as a customizable input device peripheral for digital tools.
RPCS3 is a C++ application that functions as a software environment for executing and managing PlayStation 3 console titles on desktop operating systems. It operates by translating proprietary console hardware instructions and graphics commands into formats compatible with modern computer hardware, allowing for the execution of original game software. The emulator distinguishes itself through a comprehensive suite of tools for managing game libraries, applying software patches to modify performance characteristics, and tracking the compatibility status of individual titles. It includes integr
Configures physical controllers and input devices to mimic original console hardware signals for accurate control during gameplay on a computer.
This project is a cross-platform, open-source emulator designed to execute handheld gaming software on modern desktop and mobile hardware. By recreating the original console environment and system libraries, it allows users to run game files without requiring original firmware. The software achieves high-performance execution through a combination of dynamic recompilation and just-in-time instruction translation, which map console-specific instructions to native host machine code. The emulator distinguishes itself by providing advanced visual and connectivity enhancements that extend beyond t
Configures physical controllers and touch interfaces to replicate original console button layouts for responsive gameplay.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Simulates non-standard external hardware interactions such as barcode scanners and cassette tape mechanisms.
Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates RecyclerView adapter models at compile time from annotated custom views, data binding layouts, or view holders, eliminating the manual boilerplate typically associated with view holders and adapters. The library provides a diffing engine that automatically compares model lists and applies minimal updates with animations for insertions, removals, and moves. The library distinguishes itself through its controller-based model building, where a controller class with a buildModels meth
Automatically registers generated models with the controller after modification, reducing manual wiring.
This project provides a customized Linux kernel and driver suite designed to enable hardware compatibility for Surface devices. It focuses on building and patching the Linux kernel to provide driver support for proprietary hardware components that are missing from the upstream source. The system includes a secure boot kernel signing mechanism and a process for enrolling custom keys into the system firmware. This allows the execution of patched kernels while maintaining system security protections. The project covers peripheral driver support for touchscreens, styluses, and keyboards, as well
Provides low-level drivers for touchscreens, styluses, keyboards, and touchpads.
mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on modern computers. It serves as a scriptable emulation environment that allows for the execution of portable hardware software and the simulation of associated peripherals. The project distinguishes itself through its focus on technical analysis, providing a suite of tools for retro game debugging and game logic inspection. It includes a host-client debug protocol that enables external debugger connectivity via TCP socket communication and an event-driven scripting engine for
Replicates specialized handheld inputs and link cables to support multiplayer and original hardware features.
Este proyecto proporciona recursos educativos y guías técnicas para el desarrollo de firmware de microcontroladores. Se centra en escribir código C de bajo nivel que se ejecuta directamente en el hardware sin un sistema operativo subyacente, cubriendo los fundamentos de registros de hardware, mapeo de memoria y relojes del sistema. Las guías detallan la creación de capas de abstracción de hardware para envolver registros mapeados en memoria en interfaces estructuradas y proporcionan tutoriales para integrar pilas TCP/IP y servidores HTTP en entornos bare-metal. También describe la implementación de tuberías de construcción para sistemas embebidos, desde la compilación de binarios con scripts de enlazador hasta el despliegue de firmware en placas físicas. El material cubre una amplia gama de capacidades embebidas, incluyendo integración de hardware, configuración de registros de periféricos y la configuración de programación de tareas basada en interrupciones. También aborda el flujo de trabajo de depuración de microcontroladores mediante comunicación UART y redirección de E/S estándar. El repositorio incluye instrucciones para gestionar cadenas de herramientas de compilación cruzada y automatizar la construcción y despliegue de firmware.
Implements direct memory-mapped register control using pointer-based structures for high-precision peripheral manipulation.
WebViewTvLive is an integrated platform that combines a cross-device media dashboard with dynamic channel list management, hardware input mapping, HLS video streaming, and WebView-based IPTV playback for live television delivery. It functions as a WebView IPTV player that streams live television channels through an embedded webview wrapper across mobile and smart display devices, while also serving as an HLS video stream player that handles m3u8 streams directly for live television playback. The project distinguishes itself through its hardware input mapper system that translates physical rem
Maps physical remote and numeric keypad inputs to application commands for channel switching and navigation.
tmk_keyboard es un firmware de teclado para microcontroladores AVR y Cortex-M diseñado para manejar el escaneo de matrices de teclas y comunicación HID. Funciona como una biblioteca de control de hardware embebido para gestionar pines GPIO y almacenamiento EEPROM, así como un controlador que transmite datos de pulsaciones de teclas y ratón a un ordenador host mediante protocolos USB o PS/2. El proyecto cuenta con un motor de mapas de teclas basado en capas que permite asignar teclas físicas a múltiples capas virtuales. También incluye un traductor de protocolos de teclado heredado para convertir señales de estándares de hardware antiguos a interfaces de ordenador modernas. El firmware soporta una gama de configuraciones de entrada, incluyendo macros de teclas, emulación de entrada de ratón y modificadores de teclas avanzados. Proporciona capacidades para el control del sistema, como reproducción multimedia y gestión de energía, e incluye herramientas para gestionar la retroiluminación LED y depurar la comunicación del firmware.
Implements direct register manipulation for microcontroller I/O pins to ensure low-latency keyboard input processing.
ZMK es un framework de firmware modular construido sobre Zephyr RTOS para teclados inalámbricos. Funciona como un sistema programable para definir mapas de teclas, capas y comportamientos de entrada personalizados, actuando como un emulador de dispositivo HID para entrada de teclado y ratón en ordenadores y dispositivos móviles. Proporciona específicamente una solución de controlador para sincronizar dos mitades de teclado separadas a través de enlaces inalámbricos o cableados. El proyecto se distingue por su enfoque en la conectividad Bluetooth Low Energy, con emparejamiento multidispositivo y la capacidad de cambiar entre varios perfiles de host guardados. Incluye gestión de energía avanzada para optimizar la duración de la batería mediante estados de suspensión profunda y control de energía de periféricos, así como soporte para emparejamiento inalámbrico seguro. El firmware cubre una amplia gama de capacidades de entrada, incluyendo comportamientos de teclas complejos como hold-taps, combos y tap-dances, junto con ejecución de macros y gestión de capas. Integra hardware diverso como codificadores rotativos, dispositivos de puntero y pantallas OLED o ePaper. Además, proporciona herramientas para gestionar la topología del hardware, cambio de diseño físico y actualizaciones de mapas de teclas en tiempo de ejecución. El sistema utiliza un pipeline de compilación que monitorea el estado de compilación en un entorno remoto para recuperar y flashear binarios de firmware compilados en placas de hardware.
Provides drivers and abstractions for integrating rotary encoders and pointing devices as input controls.
UnnaturalScrollWheels es una herramienta de periféricos de entrada y utilidad de accesibilidad para macOS diseñada para invertir la dirección de desplazamiento de las ruedas de ratón físicas. Funciona como una utilidad a nivel de sistema que modifica cómo el sistema operativo interpreta las entradas de hardware de desplazamiento. El proyecto desacopla las direcciones de movimiento del ratón y del trackpad, permitiendo a los usuarios invertir el comportamiento de desplazamiento de una rueda de ratón física sin alterar la configuración global del sistema ni afectar el comportamiento del trackpad. La utilidad gestiona esto a través de hooks de sistema de bajo nivel e interceptores de eventos que distinguen entre la rueda de desplazamiento y el hardware del trackpad para aplicar transformaciones de dirección en tiempo real.
Provides a configuration utility that modifies how the OS interprets physical scrolling hardware inputs.
This project is a tutorial for developing a custom bare metal operating system specifically for the Raspberry Pi 4. It provides the guidance and resources necessary to write software that interacts directly with hardware without the use of a pre-existing kernel. The project centers on an ARM64 cross-compilation toolchain and a build pipeline that transforms source code into raw binary images. It utilizes linker scripts to define physical memory addresses and section placements, ensuring the resulting binary loads at the correct hardware entry point. The codebase covers direct hardware interf
Provides register-level control for high-precision manipulation of hardware peripherals via memory-mapped addresses.
GodMode9 is a system-level utility for Nintendo 3DS hardware designed for booting unsigned firmware, managing files, and modifying internal memory. It serves as a custom firmware tool for booting specialized payloads and unlocking restricted system features and hardware capabilities. The project provides a low-level hardware interface for interacting with I2C registers, extracting system keys, and managing raw memory partitions. It functions as a game image dump tool to extract retail cartridges and system images, while also acting as a binary patching utility to alter software behavior via r
Implements direct read and write access to hardware I2C registers for low-level system interaction.
Play- is a multi-system game emulator and virtual hardware emulator that simulates various console and arcade hardware to run original game files on modern devices. It functions as a retro game frontend, providing a graphical interface for organizing, launching, and managing libraries of legacy console and arcade titles. The project includes a hardware input mapper that translates modern controllers and mouse movements to simulate specialized legacy input devices, such as light guns and steering wheels. It also features a game state manager capable of capturing and restoring the exact memory
Maps physical controllers and mouse movements to mimic original console hardware signals for accurate gameplay.
xpadneo is a Linux kernel driver that enables Bluetooth Low Energy connectivity and input support for wireless Xbox gamepads. It functions as a low-level driver for managing wireless controller connections and report descriptors via the Bluetooth protocol. The project includes an input mapper to override default button mappings and disable kernel dead zones, providing raw axis data for high-precision movement. It also features a haptic controller for managing rumble intensity and high-frequency trigger force feedback, alongside a gamepad mouse emulator that converts stick and button inputs in
Functions as a kernel-level driver that translates raw Bluetooth gamepad packets into standardized system input events.