MCPcopy Create free account
hub / github.com/PixlOne/logiops

github.com/PixlOne/logiops @v0.3.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.5 ↗ · + Follow
869 symbols 1,400 edges 123 files 5 documented · 1% updated 6mo agov0.3.5 · 2024-09-28★ 4,317234 open issues

Browse by type

Functions 612 Types & classes 257
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

LogiOps

Build Status

This is an unofficial driver for Logitech mice and keyboard.

This is currently only compatible with HID++ >2.0 devices.

Configuration

Refer to the wiki for details.

You may also refer to logid.example.cfg for an example.

Default location for the configuration file is /etc/logid.cfg, but another can be specified using the -c flag.

Dependencies

This project requires a C++20 compiler, cmake, libevdev, libudev, glib, and libconfig. For popular distributions, I've included commands below.

Arch Linux: sudo pacman -S base-devel cmake libevdev libconfig systemd-libs glib2

Debian/Ubuntu: sudo apt install build-essential cmake pkg-config libevdev-dev libudev-dev libconfig++-dev libglib2.0-dev

Fedora: sudo dnf install cmake libevdev-devel systemd-devel libconfig-devel gcc-c++ glib2-devel

Gentoo Linux: sudo emerge dev-libs/libconfig dev-libs/libevdev dev-libs/glib dev-util/cmake virtual/libudev

Solus: sudo eopkg install cmake libevdev-devel libconfig-devel libgudev-devel glib2-devel

openSUSE: sudo zypper install cmake libevdev-devel systemd-devel libconfig-devel gcc-c++ libconfig++-devel libudev-devel glib2-devel

Building

To build this project, run:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

To install, run sudo make install after building. You can set the daemon to start at boot by running sudo systemctl enable logid or sudo systemctl enable --now logid if you want to enable and start the daemon.

Development

The project may only run as root, but for development purposes, you may find it convenient to run as non-root on the user bus. You must compile with the CMake flag -DUSE_USER_BUS=ON to use the user bus.

Donate

This program is (and will always be) provided free of charge. If you would like to support the development of this project by donating, you can donate to my Ko-Fi below.

Buy Me a Coffee at ko-fi.com

I'm also looking for contributors to help in my project; feel free to submit a pull request or e-mail me if you would like to contribute.

Compatible Devices

For a list of tested devices, check TESTED.md

Credits

Logitech, Logi, and their logos are trademarks or registered trademarks of Logitech Europe S.A. and/or its affiliates in the United States and/or other countries. This software is an independent product that is not endorsed or created by Logitech.

Thanks to the following people for contributing to this repository.

Core symbols most depended-on inside this repo

Shape

Method 589
Class 216
Enum 41
Function 23

Languages

C++100%

Modules by API surface

src/logid/config/types.h53 symbols
src/logid/config/schema.h48 symbols
src/logid/backend/hidpp10/Receiver.cpp28 symbols
src/logid/Device.cpp23 symbols
src/logid/backend/hidpp/Report.cpp22 symbols
src/logid/config/group.h19 symbols
src/logid/backend/hidpp20/features/ReprogControls.h19 symbols
src/logid/DeviceManager.cpp19 symbols
src/logid/features/ThumbWheel.cpp18 symbols
src/logid/features/RemapButton.cpp18 symbols
src/logid/features/HiresScroll.cpp18 symbols
src/logid/InputDevice.cpp18 symbols

For agents

$ claude mcp add logiops \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page