6ef20ee042
Enable RGB/Underglow/NeoPixel for the built-in NEOPIXEL LED on Seeed XIAO RP2040. By default set it 25% brightness with rainbow animation. Signed-off-by: Leon Anavi <leon@anavi.org>
35 lines
773 B
Python
35 lines
773 B
Python
import board
|
|
|
|
from anaviknob import AnaviKnob
|
|
|
|
from kmk.extensions.RGB import RGB, AnimationModes
|
|
from kmk.keys import KC
|
|
from kmk.modules.encoder import EncoderHandler
|
|
|
|
encoder_handler = EncoderHandler()
|
|
encoder_handler.pins = (
|
|
(board.D1, board.D2, None, False),
|
|
(board.D9, board.D10, None, False),
|
|
(board.D7, board.D8, None, False),
|
|
)
|
|
encoder_handler.map = (
|
|
((KC.VOLD, KC.VOLU), (KC.UP, KC.DOWN), (KC.RIGHT, KC.LEFT)), # base layer
|
|
)
|
|
|
|
knob = AnaviKnob()
|
|
knob.modules.append(encoder_handler)
|
|
|
|
rgb_ext = RGB(
|
|
pixel_pin=board.NEOPIXEL,
|
|
num_pixels=1,
|
|
val_limit=100,
|
|
val_default=25,
|
|
animation_mode=AnimationModes.RAINBOW,
|
|
)
|
|
knob.extensions.append(rgb_ext)
|
|
|
|
knob.keymap = [[KC.MUTE, KC.A, KC.B]]
|
|
|
|
if __name__ == '__main__':
|
|
knob.go()
|