# aprilnea/openlogi

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/aprilnea-openlogi).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

5,314 stars · 105 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/AprilNEA/OpenLogi
- Homepage: https://openlogi.org
- awesome-repositories: https://awesome-repositories.com/repository/aprilnea-openlogi.md

## Description

OpenLogi is a local-first hardware configuration tool and cross-application input mapper written in Rust. It enables the customization of peripherals using the HID++ protocol, allowing users to manage device settings without the need for cloud accounts or telemetry.

The system distinguishes itself by employing a local-first approach, storing all device configurations and button mappings in plain-text files. This design supports manual editing and version control while ensuring that commands are dispatched directly to the hardware memory.

The suite covers several hardware management areas, including the remapping of physical buttons and the configuration of DPI sensitivity presets. It includes a system for creating application-specific profiles that automatically switch input bindings based on the active window, as well as controls for scroll wheel behavior and battery status monitoring.

A command-line interface is provided for managing the hardware inventory and retrieving diagnostic data from connected devices.

## Tags

### Hardware & IoT

- [Gaming Peripheral Configurations](https://awesome-repositories.com/f/hardware-iot/gaming-peripheral-configurations.md) — Local-first tool for managing hardware-level settings and profiles for consumer gaming peripherals.
- [HID++ Implementations](https://awesome-repositories.com/f/hardware-iot/hid-device-communication/hid-implementations.md) — Implements the HID++ protocol to allow local-first remapping of buttons and hardware settings on compatible peripherals.
- [HID Device Communication](https://awesome-repositories.com/f/hardware-iot/hid-device-communication.md) — Implements bidirectional communication with peripherals using the HID++ protocol over a Human Interface Device transport layer.
- [Automatic Scroll Mode Switching](https://awesome-repositories.com/f/hardware-iot/automatic-scroll-mode-switching.md) — Controls the automatic switching between different scroll modes on compatible hardware peripherals. ([source](https://github.com/aprilnea/openlogi#readme))
- [DPI Presets](https://awesome-repositories.com/f/hardware-iot/device-state-presets/dpi-presets.md) — Sets pointer sensitivity presets by writing specific hardware-level DPI values directly to the device. ([source](https://github.com/aprilnea/openlogi#readme))
- [Scroll Wheel Hardware Customization](https://awesome-repositories.com/f/hardware-iot/scroll-wheel-hardware-customization.md) — Manages SmartShift settings and ratchet modes to control how a mouse wheel behaves during navigation.

### Business & Productivity Software

- [Cross-Application Input Mappers](https://awesome-repositories.com/f/business-productivity-software/cross-application-input-mappers.md) — Provides a system for creating custom button overlays and action profiles that automatically activate based on the focused application.
- [Peripheral Management](https://awesome-repositories.com/f/business-productivity-software/peripheral-management.md) — Offers a comprehensive suite for managing input hardware settings like DPI and SmartShift across different environments.

### Development Tools & Productivity

- [Application-Aware Device Profiles](https://awesome-repositories.com/f/development-tools-productivity/device-set-managers/application-aware-device-profiles.md) — Creates specific hardware configurations that activate when different software applications are brought into focus.

### DevOps & Infrastructure

- [Application-Context Profiles](https://awesome-repositories.com/f/devops-infrastructure/configuration-profile-switching/application-context-profiles.md) — Implements configuration profiles that automatically activate based on the focused system window or application.

### Software Engineering & Architecture

- [Local-First Architectures](https://awesome-repositories.com/f/software-engineering-architecture/local-first-architectures.md) — Employs a local-first architecture to maintain device configurations and inventory on the local filesystem for privacy.

### User Interface & Experience

- [Hardware Button Customizations](https://awesome-repositories.com/f/user-interface-experience/hardware-button-customizations.md) — Assigns custom software actions to hardware buttons to modify peripheral behavior across environments. ([source](https://github.com/aprilnea/openlogi#readme))
- [Gesture-to-Action Controllers](https://awesome-repositories.com/f/user-interface-experience/mouse-gesture-mapping/gesture-to-action-controllers.md) — Maps directional swipes and peripheral gestures to custom software-defined actions. ([source](https://github.com/aprilnea/openlogi#readme))
- [Scroll Mode Toggles](https://awesome-repositories.com/f/user-interface-experience/scroll-interaction-handlers/scroll-state-controllers/scroll-restoration/scroll-locking/scroll-mode-toggles.md) — Toggles between different scrolling behaviors, such as ratchet and free-flow modes, in real time. ([source](https://github.com/aprilnea/openlogi#readme))

### Content Management & Publishing

- [Configuration File Persistence](https://awesome-repositories.com/f/content-management-publishing/plain-text-persistence/configuration-file-persistence.md) — Persists device settings and button mappings in human-readable files for easy manual editing and version control.

### Data & Databases

- [Version-Controlled Configuration Stores](https://awesome-repositories.com/f/data-databases/local-persistence/configuration-persistence/version-controlled-configuration-stores.md) — Uses plain-text files for device bindings to enable version control and portability. ([source](https://github.com/aprilnea/openlogi#readme))

### Game Development

- [DPI and Tracking Sensitivity Controls](https://awesome-repositories.com/f/game-development/linear-and-angular-velocity-control/cursor-acceleration-controllers/dpi-and-tracking-sensitivity-controls.md) — Adjusts hardware-level cursor speed, tracking resolution, and DPI settings. ([source](https://github.com/aprilnea/openlogi#readme))

### Operating Systems & Systems Programming

- [Hardware Memory Writes](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-memory-writes.md) — Writes sensitivity and DPI settings directly to device memory instead of relying on cloud services.
- [Rust Systems Programming](https://awesome-repositories.com/f/operating-systems-systems-programming/rust-systems-programming.md) — Uses Rust for systems programming to ensure memory safety while handling low-level hardware communication.

### Part of an Awesome List

- [System Utilities](https://awesome-repositories.com/f/awesome-lists/devops/system-utilities.md) — Local-first hardware configuration utility.
