Git Product home page Git Product logo

tyrfing-cli's Introduction

tyrfing-cli

Command-line interactive debug tool for Drevo Tyrfing v2 keyboard.

The notes here are a work in progress and very rough.

Pre-built debug binaries are available through the github project releases tab.

Usage

(as root, or with write permission for /dev/hidrawX tyrfing-cli /dev/hidrawX

Finding the hidraw device

$ ls /sys/bus/hid/devices/*\:0416\:A0F8.0059/hidraw/
hidraw5
## so use:
$ ./tyrfing-cli /dev/hidraw5

Using the interactive tool

  6  190   21    0    1    1    3    1  
  5    1    0    0    0    0    0    0  
255    0    0    1    0    0    0    0  
  0    0    0    0    0    0    0    0
Enter 'h' for help
>

The interactive tool accepts 4 commands:

  • p: print
  • w: write
  • r: reset
  • q: quit
  • numbers 0-31: set new value.

The configuration message for the keyboard contains 32 bytes. These byte values are manipulated by the tool and written to the keyboard when the 'w' command is given.

Example

To change the mode to breathe in blue, enter:

> 6   # change byte 6
? 2   # new value
> 19  # change byte 19
? 0   # set to 0 (single color)
> 18  # change byte 18 
? 255 # set to 255 (blue bg)
> 16  # change byte 16
? 0   # set red to 0
> w

Interesting byte values

byte 6: pattern

  • 0 - ripple fill
  • 2 - breathe
  • 3 - stripe
  • 4 - rain
  • 5 - horse race
  • 6 - disco floor
  • 7 - key trail
  • 8 - key ripple
  • 9 - key strike
  • 10 - key ripple 2
  • 11 - riple and rain
  • 12 - hstrike
  • 13 - key fade
  • 14 - off/custom 1?
  • 15 - custom 2?
  • 17 - radar
  • 18 - rain again ?

byte 8:

  • low 4 bits: brightness
  • high bit: oscilate brightness?

byte 9:

  • low 2 bits: direction

byte 7:

  • 0 - 9 speed

byte 12: bg red byte 13: bg green byte 14: bg blue byte 15: bit 1: bg multi

byte 16: red byte 17: green byte 18: blue byte 19: color bit1 : multi

tyrfing-cli's People

Contributors

dantheta avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.