Cherry RGB Keyboard Library

Overview

Cherry RGB Keyboard Library

Crates.io Docs.rs GitHub release CI

Tested with

  • Cherry Keyboard G80-3000N RGB (046a:00dd)

Features

Done

  • Set LED animation
  • Set single-/multi-color (rainbow)
  • Set LED brightness
  • Set LED color per key

Missing

  • Individual keymapping

Library

Please see Docs.rs

CLI

Set LED animation

  • Color: #00ff00 (green)
  • Mode: Rain
  • Speed: slow
  • Brightness: medium
./cherryrgb_cli -b medium animation rain slow 00ff00

Set custom key colors

  • Brightness: full
  • Key 0 color: #ff00ff
  • Key 1 color: #0000ff
./cherryrgb_cli -b full custom-colors ff00ff 0000ff

Disclaimer

Use at your own risk. This project is not affiliated or endorsed by Cherry GmbH.

You might also like...
transmute-free Rust library to work with the Arrow format

Arrow2: Transmute-free Arrow This repository contains a Rust library to work with the Arrow format. It is a re-write of the official Arrow crate using

Cross-platform Window library in Rust for Tauri. [WIP]

Cross-platform application window creation library in Rust that supports all major platforms like Windows, macOS, Linux, iOS and Android. Built for you, maintained for Tauri.

Node/Electron library for global key listening.

GlobalKey Building cargo install nj-cli nj-cli build --release Calling from node npm i globalkey # or yarn add globalkey const globalkey = require(

An opinionated, practical color management library for games and graphics.

colstodian An opinionated color management library built on top of kolor. Introduction colstodian is a practical color management library for games an

A library in Rust for theorem proving with Intuitionistic Propositional Logic.

Prop Propositional logic with types in Rust. A library in Rust for theorem proving with Intuitionistic Propositional Logic. Supports theorem proving i

A Rust library for constructing tilings of regular polygons
A Rust library for constructing tilings of regular polygons

tiling tiling is a library for constructing tilings of regular polygons and their dual tilings. Resources Documentation Tilings by regular polygons Li

bevy_blender is a Bevy library that allows you to use assets created in Blender directly from the .blend file
bevy_blender is a Bevy library that allows you to use assets created in Blender directly from the .blend file

bevy_blender bevy_blender is a Bevy library that allows you to use assets created in Blender directly from the .blend file.

A low-level I/O ownership and borrowing library

This library introduces OwnedFd, BorrowedFd, and supporting types and traits, and corresponding features for Windows, which implement safe owning and

Snappy is a compression/decompression library.

Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable compression. For instance, compared to the fastest mode of zlib, Snappy is an order of magnitude faster for most inputs, but the resulting compressed files are anywhere from 20% to 100% bigger.

Comments
  • software needs sudo to detect keyboard

    software needs sudo to detect keyboard

    Hey dear developers!

    I've tested your software on the lastest Fedora 37 with my MX 10.0N RGB and it's working perfectly so far with root access / sudo.

    Since this is a bit overkill for a keyboard illumination software, I tried to grant it access to the keyboard via udev (as described in the Arch wiki under section 4.2) by creating /etc/udev/rules.d/cherry-keyboard with following contents: SUBSYSTEMS=="usb", ATTRS{idVendor}=="046a", ATTRS{idProduct}=="00df", MODE="0660", TAG+="uaccess"

    Even after a reboot, the device detection fails:

    cherryrgb_cli -b full animation static fast ffffff
    Error: Failed to create keyboard
    
    Caused by:
        Keyboard not found
    

    Using sudo, everything works. Maybe you could modify your software to work with udev or give me a hint on how to do it the right way?

    opened by starsforeveryone 1
  • Other supported Cherry Keyboards

    Other supported Cherry Keyboards

    These keyboards are probably compatible with the protocol. Needs verification.

    PID (alt) seems to be Service Mode / Bootloader Mode ?!

    The list is sorted by PID!

    Please comment with your keyboard model once you can report on supported functionality.

    | Name | PID | Tested? | Features (Animation / Custom Colors / Key Remap) | | ----------------------------- | -------------------- | --------| ------------------------------------------------ | | MX BOARD 3.0S FL NBL | 0x0077 | ❌ | ❌ / ❌ / ❌ | | MX BOARD 3.0S FL RGB | 0x0079 | ❌ | ❌ / ❌ / ❌ | | MX BOARD 3.0S FL RGB KOREAN | 0x0083 | ❌ | ❌ / ❌ / ❌ | | MX 1.0 FL BL | 0x00AB | ❌ | ❌ / ❌ / ❌ | | MX BOARD 1.0 TKL RGB | 0x00AC | ❌ | ❌ / ❌ / ❌ | | MX BOARD 8.0 TKL RGB | 0x00B7 | ❌ | ❌ / ❌ / ❌ | | MX BOARD 10.0 FL RGB | 0x00BB | ❌ | ❌ / ❌ / ❌ | | G80 3000 TKL NBL | 0x00C3 | ❌ | ❌ / ❌ / ❌ | | MX BOARD 2.0S FL RGB | 0x00C4 | ❌ | ❌ / ❌ / ❌ | | G80 3000 TKL RGB | 0x00C5 | ❌ | ❌ / ❌ / ❌ | | MV BOARD 3.0 FL RGB | 0x00C7 | ❌ | ❌ / ❌ / ❌ | | CCF MX 8.0 TKL BL | 0x00C9 | ❌ | ❌ / ❌ / ❌ | | CCF MX 1.0 TKL BL | 0x00CA | ❌ | ❌ / ❌ / ❌ | | CCF MX 1.0 TKL NBL | 0x00CB | ❌ | ❌ / ❌ / ❌ | | G80 3000 TKL NBL KOREAN | 0x00CD | ❌ | ❌ / ❌ / ❌ | | MX BOARD 2.0S FL NBL | 0x00CE | ❌ | ❌ / ❌ / ❌ | | MX 1.0 FL NBL | 0x00D2 | ❌ | ❌ / ❌ / ❌ | | MX 1.0 FL RGB | 0x00D3 | ❌ | ❌ / ❌ / ❌ | | G80 3000N TKL RGB | 0x00DD (alt: 0x00E0) | ✅ | ✅ / ✅ / ✅ | | G80 3000N FL RGB | 0x00DE (alt: 0x00E1) | ❌ | ❌ / ❌ / ❌ | | MX BOARD 10.0N FL RGB | 0x00DF (alt: 0x00E2) | ❌ | ❌ / ❌ / ❌ | | MC 2.1 (Mouse) | 0x01A4 | ❌ | ❌ / ❌ / ❌ | | MX BOARD 2.0S FL RGB DE | 0x01A6 | ❌ | ❌ / ❌ / ❌ |

    opened by skraus-dev 6
Releases(0.2.1)
Owner
null
Simple git/hg tui client focused on keyboard shortcuts

verco A simple Git/Hg tui client focused on keyboard shortcuts Screenshots Platforms This project uses Cargo and pure Rust stable and works on latest

Matheus Lessa Rodrigues 214 Dec 26, 2022
Keyboard firmware implemented in Rust

flutterby-rs Keyboard firmware implemented in Rust. It doesn't do anything useful yet! Building for atmega32u4 devices (ergodox-ez, feather32u4) First

Wez Furlong 26 Dec 31, 2022
Bongo Copy Cat wants to be involved in everything you do but instead just imitates you hitting your keyboard all day. After all it's just a cat.

Bongo Copy Cat Introduction Bongo Copy Cat wants to be involved in everything you do but instead just imitates you hitting your keyboard all day. Afte

Abhijeet Singh 4 Jan 23, 2023
A rust-based mechanical keyboard firmware

rumcake A rust-based mechanical keyboard firmware that aims to be decentralized, featureful, and easy to configure. ⚠ rumcake is still a work in progr

null 15 Oct 6, 2023
A library to compile USDT probes into a Rust library

sonde sonde is a library to compile USDT probes into a Rust library, and to generate a friendly Rust idiomatic API around it. Userland Statically Defi

Ivan Enderlin 40 Jan 7, 2023
A Rust library for calculating sun positions

sun A rust port of the JS library suncalc. Install Add the following to your Cargo.toml [dependencies] sun = "0.2" Usage pub fn main() { let unixti

Markus Kohlhase 36 Dec 28, 2022
A cross-platform serial port library in Rust.

Introduction serialport-rs is a general-purpose cross-platform serial port library for Rust. It provides a blocking I/O interface and port enumeration

Bryant Mairs 143 Nov 5, 2021
The feature-rich, portable async channel library

The feature-rich, portable async channel library > crates.io > docs.rs Why use Postage? Includes a rich set of channels. | barrier | broadcast | dispa

Austin Jones 221 Dec 26, 2022
A high level diffing library for rust based on diffs

Similar: A Diffing Library Similar is a dependency free crate for Rust that implements different diffing algorithms and high level interfaces for it.

Armin Ronacher 617 Dec 30, 2022
A reactive DOM library for Rust in WASM

maple A VDOM-less web library with fine-grained reactivity. Getting started The recommended build tool is Trunk. Start by adding maple-core to your Ca

Luke Chu 1.8k Jan 3, 2023