30 open-source projects similar to imbushuo/mac-precision-touchpad, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
libinput-gestures is a Linux input event daemon and touchpad gesture mapper that translates libinput events into shell commands or keyboard shortcuts. It functions as a background process that monitors raw input signals to automate workflows and execute system actions based on a user-defined configuration file. The tool allows for the mapping of multi-finger swipes and hold gestures to specific terminal commands or desktop workspace navigation. It differentiates between actions by filtering for finger counts, swipe directions, and the duration of hold gestures. The system integrates with sys
TouchEGG is a multi-touch gesture recognizer and input bridge for Linux that operates as a background service. It detects gestures on touchpads and touchscreens, mapping swipes, pinches, and taps to specific system actions across different display protocols. The tool functions as an input device gesture mapper, converting touch patterns into keyboard shortcuts, mouse clicks, or the execution of arbitrary shell commands. It allows for the definition of custom gesture-based triggers to manage window states and navigate virtual desktops. The system handles input emulation for both keyboard comb
embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel internals, and C programming. It serves as a reference for embedded systems development and a preparation resource for technical interviews in the field. The project provides detailed documentation on writing device drivers, managing virtual memory, and understanding kernel internals. It also includes guides on IoT network protocols, such as MQTT and TCP/IP, and outlines the architectural details of chip architectures and hardware peripherals. The material covers a broad sur
The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It
React Native Gesture Handler is a declarative library that exposes the platform's native touch and gesture system to React Native, enabling smooth, deterministic gesture handling on the UI thread. It manages gesture recognition through a native state machine with defined transitions between states like BEGAN, ACTIVE, END, and CANCELLED, routing touch events through platform-native gesture recognizers on both iOS and Android. The library provides a comprehensive gesture composition framework that allows developers to combine multiple gestures into race, simultaneous, or exclusive sequences, co
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
PhotoView is a custom Android view implementation designed to display high-resolution images with native support for zoom and pan gestures. It provides a zoomable image view and a matrix controller to manage how images are scaled and translated within a mobile user interface. The library handles the detection of pinch-to-zoom and tap gestures to enable interactive image navigation. It manages the transformation matrix of the image to ensure smooth magnification and provides viewport constraints to align photo edges with screen boundaries. The project covers the broader requirements of mobile
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
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
Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable!
This repository contains the complete source code for the OpenBSD operating system and its base utilities. It is a Unix-like operating system focused on a secure, portable, and multi-user environment, featuring a C-based system kernel that manages hardware resources and provides essential services. The project provides a source-based system construction model to compile the core kernel and base utilities from raw files. It includes a cross-compilation toolchain for generating the tools and headers necessary to build binaries for target architectures different from the host machine. The codeb
interact.js is a JavaScript interaction library used to implement drag and drop, resizing, and multi-touch gestures within web browsers. It provides a specialized interaction framework for scalable vector graphics, allowing these elements to be moved and resized. The library features a multi-touch gesture engine that recognizes complex patterns such as pinch and rotate, and a coordinate snapping engine for aligning elements to grids or restricting movement within boundaries. It also includes a cross-frame state synchronizer to share interaction states and input events across multiple browser
This project is an Android RPA framework designed for automating user interfaces and system tasks on rooted Android devices using Python and ADB. It provides a suite of tools for rooted device management, allowing for programmatic control of system settings, application lifecycles, and shell command execution via a remote API. The framework distinguishes itself through a combination of dynamic instrumentation and AI integration. It can inject scripts into running processes to hook Java interfaces and modifies application behavior in real time. Additionally, it supports large language model in
MTMR is a MacBook Touch Bar customizer that replaces the default interface with personalized buttons and layouts to trigger macOS system actions. It serves as an automation interface and hardware controller, allowing users to execute shell scripts, open URLs, and manage system settings like brightness, volume, and media playback through a touch-sensitive surface. The project functions as a widget engine and gesture mapper, providing a framework to display real-time system metrics and external data via plugins. It utilizes an event-driven system to assign automation scripts to multi-finger swi
This project is a macOS input remapper and mouse customizer designed to assign custom actions and system-wide gestures to mouse button presses and movements. It functions as a mouse gesture manager and scroll enhancer, enabling the emulation of multi-finger trackpad motions and providing omnidirectional precision scrolling. The utility distinguishes itself by allowing independent scroll direction settings for a mouse without altering global trackpad configurations. It further implements a momentum-based algorithm to replace discrete scroll steps with smooth, fluid movement. The software cove
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
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
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
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
This project is a macOS system camera driver and software plugin that exposes software video streams as hardware-recognized camera inputs. It functions as an OBS virtual camera plugin, allowing the live output of OBS to be utilized as a webcam device within other applications. The tool enables the routing of composited video from a production suite into video conferencing applications such as Zoom or Google Meet. This allows for the streaming of processed scenes instead of a raw webcam feed. The system integrates with macOS using a kernel-level device driver and shared-memory buffer transfer
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
Kivy is a cross-platform Python GUI framework used to build graphical user interfaces that run on desktop and mobile operating systems from a single codebase. It functions as a multi-touch UI library and a custom widget toolkit, providing a development environment for packaging Python applications into binary installations for Android and iOS. The framework is distinguished by its ability to handle complex multi-touch gestures and interactive input across various devices. It utilizes a specialized domain language for declarative UI construction to separate visual layout definitions from Pytho
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
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
This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through
This project is a technical reference and educational guide focused on the internal architecture of the Linux kernel. It serves as a low-level systems programming resource and documentation for operating system internals, detailing the implementation of core mechanisms within the kernel source code. The materials provide a detailed study of the Linux kernel, tracing behavior through actual C source and assembly. It specifically covers the progression from the bootloader and decompression to the final kernel entry point, alongside the management of hardware interrupts and symmetric multiproces
DockDoor is a macOS application switcher and window manager that functions as a dock enhancement tool. It provides a system-wide interface for navigating, previewing, and managing open application windows using keyboard and mouse inputs. The utility adds live window previews to the system dock, allowing for application window peeking when hovering over dock icons. It also includes a feature to lock the system dock to a specific display in multi-monitor setups to prevent it from automatically jumping between screens. The project covers a broad range of window management capabilities, includin
Monitorian is a Windows utility for adjusting the brightness and contrast of internal and external monitors, primarily through the DDC/CI protocol. It allows users to change these settings for multiple monitors individually or in unison, and provides the ability to rename monitors by editing their displayed names directly. The application extends basic display control with automation and scheduling capabilities. Users can bind brightness adjustments to hot keys, schedule changes to occur at specific times or under certain conditions, and control brightness using touchpad gestures on precision
This project provides a development framework for writing loadable Linux kernel modules using the Rust programming language. It establishes a methodology for safe systems programming by enforcing memory and thread safety within the restricted execution environment of the kernel, allowing developers to extend operating system functionality while preventing common memory corruption errors. The framework distinguishes itself through automated generation of type-safe foreign function interfaces, which bridge high-level code with low-level kernel headers and system structures. It maps high-level s
Weylus is a tablet-to-PC screen mirroring tool and remote input controller that transforms a mobile device into a digital graphic tablet emulator. It enables users to stream a computer display to a mobile device while translating touch gestures, keyboard strokes, and pen data into native computer mouse and keyboard events. The system specifically functions as a virtual secondary monitor and a digital graphic tablet emulator capable of capturing stylus pressure and tilt data for professional drawing. It supports multi-touch input mapping and allows for the configuration of a mobile device as a