# pixlone/logiops

**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/pixlone-logiops).**

4,298 stars · 317 forks · C++ · GPL-3.0

## Links

- GitHub: https://github.com/PixlOne/logiops
- awesome-repositories: https://awesome-repositories.com/repository/pixlone-logiops.md

## Topics

`hid` `linux` `logitech` `logitech-keyboards` `logitech-mouse` `mx-master` `mx-master-mouse`

## Description

logiops is a userspace driver and configuration tool for Logitech hardware that utilizes the HID++ protocol to manage input behaviors. It functions as an input device mapper and peripheral gesture engine, allowing for the assignment of custom key presses and actions to hardware buttons on compatible mice and keyboards.

The project differentiates itself through a specialized gesture engine that triggers software actions based on mouse movement and button combinations. It also provides hardware-level control over vendor-specific features, such as adjusting SmartShift thresholds for scroll wheels and managing host device switching for peripherals paired with multiple computers.

Broad capabilities include input configuration for sensor sensitivity and high-resolution scrolling, as well as the customization of thumb wheels. The system uses configuration files to map these settings and hardware behaviors to the device.

## Tags

### Hardware & IoT

- [HID++ Implementations](https://awesome-repositories.com/f/hardware-iot/hid-device-communication/hid-implementations.md) — Implements the vendor-specific HID++ protocol to manage advanced feature requests and device responses for Logitech hardware.
- [HID Device Communication](https://awesome-repositories.com/f/hardware-iot/hid-device-communication.md) — Communicates raw HID reports directly in userspace without requiring a kernel-level driver.
- [Logitech Device Customizations](https://awesome-repositories.com/f/hardware-iot/logitech-device-customizations.md) — Configures hardware behaviors and input mappings for Logitech mice and keyboards using the HID++ protocol.
- [File-Based Hardware Configuration](https://awesome-repositories.com/f/hardware-iot/hid-device-communication/hid-implementations/file-based-hardware-configuration.md) — Sets hardware behaviors and input mappings via a configuration file using the HID++ protocol. ([source](https://github.com/pixlone/logiops#readme))
- [Secondary Wheel Configuration](https://awesome-repositories.com/f/hardware-iot/scroll-wheel-hardware-customization/secondary-wheel-configuration.md) — Provides a set of options to define the behavior and settings for secondary thumb-operated wheels. ([source](https://github.com/PixlOne/logiops/wiki/Configuration))

### Development Tools & Productivity

- [Hardware Button Mappers](https://awesome-repositories.com/f/development-tools-productivity/input-pointer-automation/input-customization/hardware-button-mappers.md) — Assigns custom key presses and actions to hardware buttons on compatible mice and keyboards.

### 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) — Provides hardware-level adjustment of dots-per-inch (DPI) and tracking sensitivity for compatible mice. ([source](https://github.com/PixlOne/logiops/wiki/Configuration))

### Operating Systems & Systems Programming

- [Input Event Interception](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/input-event-interception.md) — Intercepts raw hardware input signals to trigger custom software actions or hardware state changes.
- [Hardware Configuration Mappings](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-configuration-mappings.md) — Translates static configuration files into specific binary commands used to control hardware device behavior.
- [Peripheral Performance Tuning](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-performance-tuning/peripheral-performance-tuning.md) — Tunes sensor sensitivity and scroll wheel behaviors to optimize precision and navigation.

### User Interface & Experience

- [Mouse Gesture Mapping](https://awesome-repositories.com/f/user-interface-experience/mouse-gesture-mapping.md) — Maps combined mouse button holds and movements to custom system-wide actions.
- [Physical Button Action Mappings](https://awesome-repositories.com/f/user-interface-experience/button-styles/physical-button-action-mappings.md) — Assigns key presses or custom actions to hardware buttons to customize peripheral behavior. ([source](https://github.com/PixlOne/logiops/wiki/Configuration))

### Software Engineering & Architecture

- [Hardware State Sequencing](https://awesome-repositories.com/f/software-engineering-architecture/command-based-state-mutation/hardware-state-sequencing.md) — Sends interdependent binary packet sequences to change device modes such as SmartShift or host pairing.

### System Administration & Monitoring

- [Hardware Scroll Thresholds](https://awesome-repositories.com/f/system-administration-monitoring/threshold-monitoring/scroll-offset-thresholds/hardware-scroll-thresholds.md) — Implements adjustable thresholds for automatically switching between ratcheted and free-spinning scroll wheel modes. ([source](https://github.com/PixlOne/logiops/wiki/Configuration))
