Table of Content

Description

TUXEDO Computers Kernel module for keyboard backlighting.

Additions

  • Sysfs interface to control the brightness, mode, color, on/off state
  • DKMS Ready
  • Full RGB Color Support
  • WMI Support for switch over the FN-Keys

Building and Install

Dependencies

  • make
  • gcc
  • linux-headers
  • dkms (Only when use this module with the DKMS functionality)

Warning on installing the module:

Use either method only. Do not combine installation methods, such as starting with the build step below and proceeding to use the same build artifacts with the DKMS module. Otherwise the module built via dkms will fail to load with an exec_format error on newer kernels due to a mismatched version magic.

This is why the DKMS build step begins with a make clean step.

For convenience, on platforms where DKMS is in use, skip to the DKMS section directly.

Clone Git Repo

git clone https://github.com/tuxedocomputers/tuxedo-keyboard.git

Build the Module

cd tuxedo-keyboard

make clean && make

The DKMS route:

Add as DKMS Module:

At first point add the Module

make clean

sudo cp -R . /usr/src/tuxedo_keyboard-2

sudo dkms add -m tuxedo_keyboard -v 2

The secound step is compile the module

sudo dkms build -m tuxedo_keyboard -v 2

Install the DKMS module

sudo dkms install -m tuxedo_keyboard -v 2

Load the module with modprobe

modprobe tuxedo_keyboard

Uninstalling the DKMS Module:

Remove the dkms module

sudo dkms remove -m tuxedo_keyboard -v 2 --all

Remove the source

sudo rm -rf /usr/src/tuxedo_keyboard-2

Using

modprobe

modprobe tuxedo_keyboard

Load the module on boot:

Add Module to /etc/modules

sudo su

echo tuxedo_keyboard >> /etc/modules

Default Parameters at start.

In this example, we start the kernel module with the following settings:

  • mode 0 (Custom / Default Mode)
  • red color for the left side of keyboard
  • green color for the center of keyboard
  • blue color for the right side of keyboard

Note that we write its' settings to a .conf file under /etc/modprobe.d named tuxedo_keyboard.conf.

sudo su

echo "options tuxedo_keyboard mode=0 color_left=0xFF0000 color_center=0x00FF00 color_right=0x0000FF" > /etc/modprobe.d/tuxedo_keyboard.conf

Sysfs

General

Path: /sys/devices/platform/tuxedo_keyboard

color_left

Allowed Values: Hex-Value (e.g. 0xFF0000 for the Color Red)
Description: Set the color of the left Keyboard Side

color_center

Allowed Values: Hex-Value (e.g. 0xFF0000 for the Color Red)
Description: Set the color of the center of Keyboard

color_right

Allowed Values: Hex-Value (e.g. 0xFF0000 for the Color Red)
Description: Set the color of the right Keyboard Side

color_extra

Allowed Values: Hex-Value (e.g. 0xFF0000 for the Color Red)
Description: Set the color of the extra region (if exist) of the Keyboard

brightness

Allowed Values: 0 - 255
Description: Set the brightness of the Keyboard

mode

Allowed Values: 0 - 7
Description: Set the mode of the Keyboard. A list with the modes is under Modes

state

Allowed Values: 0, 1
Description: Set the State of keyboard, 0 is keyboard is off and 1 is keyboard is on

extra

Allowed Values: 0, 1
Description: Only get the information, if the keyboard have the extra region

Kernel Parameter

Using

sudo modprobe tuxedo_keyboard <params>

color_left

Set the color of the left Keyboard Side

color_center

Set the color of the left Keyboard Side

color_right

Set the color of the left Keyboard Side

color_extra

Set the color of the left Keyboard extra region (Only when is a supported keyboard)

mode

Set the mode (on/off) of keyboard

brightness

Set the brightness of keyboard

state

Modes

CUSTOM

Value: 0

BREATHE

Value: 1

CYCLE

Value: 2

DANCE

Value: 3

FLASH

Value: 4

RANDOM_COLOR

Value: 5

TEMPO

Value: 6

WAVE

Value: 7