30 open-source projects similar to 360controller/360controller, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best 360Controller alternative.
ViGEmBus is a Windows kernel-mode driver and USB HID emulation framework that creates virtual gaming peripherals. It functions as a virtual gamepad driver that the operating system recognizes as physical hardware devices at the kernel level. The project enables kernel-level hardware mimicry to bypass game-specific device requirements and supports remote input redirection, allowing controller data to be sent over a network to a remote machine. The system covers a range of capabilities including USB game controller emulation and game input automation, which allows for the recording and playbac
OpenTabletDriver is a user-mode graphics tablet driver and USB HID input manager that translates raw USB input from digitizer hardware into system cursor and pen events. It serves as a hardware abstraction layer that normalizes input from various tablet brands into a consistent API, providing a cross-platform pen interface with pressure and tilt sensitivity. The project distinguishes itself through a plugin-based architecture and a profile-based configuration system, allowing for custom filters, interpolators, and persistent hardware setups. It includes specialized tools for hardware driver d
MissionControl is a suite of management utilities designed for pairing, configuring, and managing third-party Bluetooth controllers on a gaming console. It functions as a controller manager, hardware configuration tool, and input remapping utility. The project features a Bluetooth identity spoofer that overrides the host adapter name and address, allowing controllers to be shared across multiple devices without repeating the pairing process. It also provides a translation layer to redirect physical button presses to different logical system inputs. The software covers hardware configuration
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
nix is a Unix system API library and Rust system programming interface that provides type-safe bindings for invoking low-level system calls. It serves as a low-level operating system wrapper and POSIX compatibility layer, allowing for kernel interactions and administrative tasks through safe wrappers around platform-specific APIs. The project provides a kernel device interface for controlling hardware devices, managing kernel modules, and configuring terminal interfaces. It differentiates itself by offering type-safe wrappers for memory mapping and zero-copy input-output operations to reduce
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
OpenRazer is an open source driver and daemon for controlling Razer peripheral lighting and hardware settings on GNU/Linux. It functions as a Linux input device manager and RGB peripheral controller, providing a background service that handles raw USB communication and state monitoring for compatible gaming mice and keyboards. The project provides a D-Bus hardware interface that exposes device control functions to third party applications via a system message bus. This communication layer allows scripts and external software to manage physical hardware components through a programmatic interf
Arpl is a bootloader manager and custom kernel loader for network attached storage devices. It provides a network boot environment to automate the fetching, flashing, and installation of modified operating systems and kernels onto hardware storage. The project distinguishes itself through a remote management suite that exposes bootloader controls via a web browser, secure shell connection, or local terminal. It utilizes RSS feeds to automate the retrieval of the latest system images and version metadata for online updates. The system handles hardware boot configuration by mapping network int
The Intel Processor Performance Monitor is a set of specialized diagnostic tools designed for monitoring raw hardware events, memory latency, PCIe throughput, and processor power states on Intel architecture. The project provides dedicated utilities for measuring data throughput across sockets and PCIe buses, tracking power usage and sleep states to identify frequency throttling, and analyzing cache misses and memory access times. It also includes a hardware event profiler for querying raw core and uncore register events to monitor specific processor behaviors. Capabilities cover comprehensi
This project is a Windows Precision Touchpad driver and Apple Trackpad HID driver. It functions as an input device gesture driver that converts raw touch data from Apple trackpads and MacBooks into native multi-touch gestures and precise pointer movement. The driver implements the precision touchpad protocol to enable native Windows gesture and pointer controls for Apple hardware. This allows the operating system to recognize Apple trackpads as precision touchpads, replacing basic mouse functionality with native multi-finger swipes and precise scrolling. The implementation covers kernel-mode
BetterJoy is a software layer and driver for connecting Nintendo Switch Pro Controllers and Joy-Cons to a Windows environment via Bluetooth or USB. It functions as an XInput controller emulator and gamepad input mapper, translating Nintendo Switch controller inputs into XInput signals for use with PC games and emulators. The project includes a gyroscope mouse emulator that maps the internal gyroscope of Nintendo Switch controllers to system mouse cursor movement. It also provides a configuration interface for remapping controller buttons to custom keyboard keys. The software covers hardware
WinFSP is a framework for implementing custom file systems on Windows. It enables the creation of user-mode file systems that appear as standard disk drives or network shares to the operating system, allowing developers to implement file system logic in user space via a proxy architecture that avoids the need for custom kernel code. A primary differentiator is its FUSE compatibility layer, which maps POSIX-based file system calls to native Windows requests. This allows existing file systems written for the FUSE API to be ported to Windows and Cygwin environments. The project covers a wide ra
This project is an educational curriculum designed to teach the fundamentals of operating system development and low-level systems programming. It provides a structured sequence of lessons and code samples that guide users through building a functional kernel and bootloader from scratch, enabling a practical understanding of how software interacts directly with computer hardware. The repository distinguishes itself by focusing on the core mechanics of bare-metal execution. It covers the implementation of essential system components, including assembly-based bootloaders that transition process
The Linux kernel is a monolithic operating system core that manages hardware resources, memory, and process scheduling across diverse computing architectures. It provides a standardized, POSIX-compliant environment for application execution while maintaining a modular driver framework that allows for the dynamic loading and removal of hardware interfaces. The project is distinguished by its high-performance concurrency toolkit, which utilizes lockless synchronization primitives and read-copy-update mechanisms to manage shared data access in multi-core environments. It incorporates a comprehen
Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It enables the execution of multiple concurrent tasks to maximize energy efficiency and CPU usage, utilizing an async executor that puts the processor to sleep when idle. The framework includes a comprehensive set of embedded components, featuring a hardware abstraction layer for peripherals like GPIO, SPI, I2C, and UART, alongside a TCP/IP network stack and a USB device stack. It also provides a Bluetooth Low Energy host stack for wireless communication and a bootloader framework t
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
LibreHardwareMonitor is a .NET library and system health monitoring tool for Windows. It provides a programmatic hardware sensor API and a low-level interface to access real-time temperature, voltage, and fan speed data from computer hardware components. The project serves as a bridge between Windows operating system calls and physical sensors, allowing for the monitoring of processors, graphics cards, motherboards, storage devices, and network adapters. This enables the tracking of system stability and the collection of environmental changes across various hardware components. The software
This project provides custom bootloaders and firmware specifically for Xiaomi camera hardware. These modifications unlock restricted system access and enable the execution of unofficial software on the embedded devices. The software implements event-driven motion scripting, which allows the device to automatically trigger external shell scripts when the hardware sensors detect movement in the camera's field of view. It also includes tools for connecting camera feeds and controls to third-party smart home platforms and surveillance management systems. The project covers the deployment of modi
macfuse is a framework for implementing custom file systems in user space. It utilizes a macOS kernel extension to bridge the operating system kernel's virtual file system layer to a user-process daemon. This project allows the implementation of file system logic outside of the kernel to improve system stability and simplify development. It enables the mapping of remote data, network resources, or memory to a local folder so they can be accessed through standard system interfaces. The framework supports the development of cross-platform storage by providing a portable interface for consisten
This repository is a collection of reference source code and implementation examples for developing drivers using the Windows Driver Kit. It provides hardware device driver samples and development templates for building kernel-mode software that enables communication between the Windows operating system and hardware devices. The library includes examples for creating universal Windows drivers, which utilize a shared set of interfaces to operate across multiple versions of the operating system. It also contains specialized implementation samples for various hardware categories, including netwo
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
This repository provides the Android device kernel and the corresponding Linux kernel source tree. It serves as the foundational codebase for managing the hardware architecture and power management of mobile devices. The project includes a comprehensive mobile hardware driver set designed to manage device-specific components, such as CPUs, GPUs, and cellular modems. The source code supports activities including Android kernel customization, custom ROM development, Linux kernel auditing, and mobile driver development.
Home Assistant is a local home automation platform and server that acts as an IoT device orchestrator. It integrates diverse smart home hardware by wrapping third-party APIs into a standardized logic layer and stores all system state and historical statistics on local hardware to eliminate cloud dependencies. The system functions as a Matter IoT controller and an MQTT home automation bridge, allowing for local interoperability between different manufacturers. It features a state-based entity model and an internal event bus that decouple physical device logic from system automation. The platf
usbipd-win is a USB device sharing tool and network device driver that binds physical USB hardware to a network protocol. It serves as a management interface for sharing and attaching USB devices via network protocols, specifically providing a utility to map shared hardware directly into Windows Subsystem for Linux instances. The project implements USB over IP networking to share locally connected devices over a network for discovery by remote client machines. It enables virtual machine USB passthrough, allowing guest operating systems to interact with physical hardware directly. The softwar
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Ardour is a digital audio workstation, multitrack audio mixer, and MIDI sequencer. It functions as a non-linear audio editor and a plugin host for running third-party effects and instruments. The system provides specialized capabilities for post-production audio scoring through video frame synchronization, as well as live performance sequencing for triggering clips and patterns in real-time. It also supports tactile mixing via control surface mapping and hardware controller configuration. The software covers a broad range of audio production needs, including multitrack recording, MIDI sequen
XNU is a hybrid operating system kernel that combines a microkernel architecture with a monolithic layer for system services. It provides a foundation for operating system development, incorporating standardized system-call interfaces, a modular device driver framework, and mandatory access control security. The architecture features a Mach-based microkernel and a BSD-based monolithic layer. It utilizes a message-passing inter-process communication bus for secure data exchange between isolated kernel components and user-space processes, alongside an object-oriented driver framework that decou
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
liquidctl is a command line interface and set of Python drivers used to monitor and control liquid cooling hardware. It functions as a liquid cooler controller, hardware telemetry tool, and RGB lighting controller, providing a unified way to manage temperatures, fan speeds, and pump rates for all-in-one and custom loop cooling systems. The project provides a Python hardware driver that enables programmatic control and telemetry collection without relying solely on the command line. It allows for the configuration of device lighting using standard RGB, HSV, and HSL formats. The system include
This project is an OpenWrt firmware build system and embedded Linux build tool designed to create customized router firmware images for NanoPi hardware. It functions as a network OS customization kit, providing a structured environment for compiling tailored operating system images that integrate specific drivers, packages, and kernel optimizations. The system distinguishes itself through deep hardware and performance tuning, including kernel-space flow offloading for traffic acceleration and symmetric multiprocessing interrupt balancing to prevent single-core processing bottlenecks. It enabl