GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - kfocus/kfocus-keyboard: Kernel module for keyboard LEDs and fan sensors on Kubuntu Focus Computers

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

426 Commits
426 Commits

Folders and files

NameName
Last commit message
Last commit date
deb/module-name
deb/module-name
 
 
debian
debian
 
 
src
src
 
 
src_pkg
src_pkg
 
 
trans_pkg_from_dkms/deb/tuxedo-keyboard-dkms/DEBIAN
trans_pkg_from_dkms/deb/tuxedo-keyboard-dkms/DEBIAN
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
.gitlab-ci.yml
.gitlab-ci.yml
 
 
Kbuild
Kbuild
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
dkms.conf
dkms.conf
 
 
tuxedo_keyboard.conf
tuxedo_keyboard.conf
 
 

Repository files navigation

Table of Content

  • Fork Details
  • Description
  • Building and Install
  • Using
  • Sysfs
  • Kernel Parameter
  • Modes

Fork Details

This module is used by TUXEDO to support their version of the Kubuntu Focus which launched in Europe in March 2020. This fork by the Kubuntu Focus Team (KFocus) is used to support the same and subsequent models released in the US.

This is currently a quilt package. Here are the steps we use to build and upload.

# If user already has debian name variables set, keep them somewhere
function ifIsSet () { [ -n "${!1:-}" ]; }
_src_file='kfocus-keyboard_3.1.4.orig.tar.xz';
while true; do
  # Ensure the source exist above this directory
  if ! [ -f "../${_src_file}" ]; then
    echo "ABORT: Missing source tar.xz file: ../${_src_file}";
    break;
  fi

  # Export key values so we can sign packages
  ifIsSet DEBEMAIL || export USERDEBEMAIL=${DEBEMAIL};
  export DEBEMAIL=${KFOCUSEMAIL};

  # Update changelog
  if ! dch -UD jammy; then
    echo 'ABORT: Changelog update failed.';
    break;
  fi

  # Build source, no dependencies, add upstream *tar.xz tarball
  if ! debuild -S -d -sa; then
    echo 'ABORT: Build failed.';
    break;
  fi

  # Cleanup debhelper files
  if ! dh_clean; then
    echo 'ABORT: Cleanup failed.';
    break;
  fi

  # Now upload
  if ! cd ../; then
    echo 'ABORT: Cannot cd to parent directory';
    break;
  fi

  if ! dput ppa:kfocus-team/package-testing \
    kfocus-keyboard_3.1.4-0kfocus*_source.changes; then
    echo 'ABORT: Cannot upload changes file';
    break;
  fi

  echo 'Everything appears to have worked as expect.'
done

Description

TUXEDO Computers kernel module drivers for keyboard, keyboard backlight & general hardware I/O

Features

  • Driver for Fn-keys
  • Sysfs control of brightness/color/mode for most TUXEDO keyboards (note: white backlight only models are currently not supported)
  • Hardware I/O driver for TUXEDO Control Center

Modules included in this package

  • tuxedo-keyboard
  • tuxedo-io
  • clevo-wmi
  • clevo-acpi

Building and Install

Dependencies:

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

Warning when 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 the Git Repo:

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

cd tuxedo-keyboard

git checkout release

Build the Module:

make clean && make

The DKMS route:

Add as DKMS Module:

Install the Module:

make clean

sudo make dkmsinstall

Load the Module with modprobe:

modprobe tuxedo_keyboard

or

sudo modprobe tuxedo_keyboard

You might also want to activate tuxedo_io module the same way if you are using TCC.

Uninstalling the DKMS module:

Remove the DKMS module and source:

sudo make dkmsremove

sudo rm /etc/modprobe.d/tuxedo_keyboard.conf

Using

modprobe

modprobe tuxedo_keyboard

Load the Module on boot:

If a module is relevant it will be loaded automatically on boot. If it is not loaded after a reboot, it most likely means that it is not needed.

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 it's 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

or

sudo cp tuxedo_keyboard.conf /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

About

Kernel module for keyboard LEDs and fan sensors on Kubuntu Focus Computers

kfocus.org

Topics

fanskeyboardledleds

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

1 star

Watchers

0 watching

Forks

2 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.