Used to calculate the curve for the breathing animation. Anywhere from 1.0 - 2.7 is valid
Functions
If you want to create your own animations, or for example, change the lighting in a macro, or a layer switch, here are some functions that are available.
Function
Description
keyboard.pixels.increase_brightness(step)
Increases hue by a given step
keyboard.pixels.decrease_brightness(step)
Decreases hue by a given step
keyboard.pixels.set_brightness(percent)
Increases saturation by a given step
Direct variable access
Define
Default
Description
keyboard.led.brightness
0
Sets the brightness by percent 0-100
keyboard.led.brightness_limit
100
Sets the limit of brightness
keyboard.led.brightness_step
5
Sets the step value to change brightness by
keyboard.led.animation_mode
static
This can be changed to any modes included, or to something custom for user animations. Any string is valid
keyboard.led.animation_speed
1
Increases animation speed of most animations. Recommended 1-5, Maximum 10.
User animations
User animations can be created as well. An example of a light show would look like this
fromkmk.keysimportmake_keydefstart_flicker(*args,**kwargs):# Setting mode to user will use the user animationkeyboard.led.animation_mode='user'defflicker(self):# This is the code that is run every cycle that can serve as an animation# Refer to the kmk/rgb.py for actual examples of what has been doneifself.brightness==0:self.brightness=100else:self.brightness=0keyboard.led.set_brightness(self.brightness)returnself# This is what "gives" your function to KMK so it knows what your animation code iskeyboard.led_config['user_animation']=flicker# Makes a key that would start your animationLS=make_key(on_press=start_flicker())keymap=[...LS,...]
Troubleshooting
Make sure that your board supports LED backlight by checking for a line with "LED_PIN". If it does not, you can add it to your keymap.