背光
背光可以用于为键帽下方提供照明,通常通过位于或位于各个开关内部的 LED 实现。rumcake
支持根据 LED 类型以及 LED 是否可单独寻址来支持不同类型的背光。
设置
必需的 Cargo 功能
您必须启用以下 rumcake
功能:
- 恰好其中一个:
simple-backlight
(单色背光,所有 LED 具有相同的亮度)simple-backlight-matrix
(单色背光,矩阵中的每个 LED 都可以单独寻址)rgb-backlight-matrix
(RGB 背光,矩阵中的每个 LED 都可以单独寻址)
- 对于您想要使用的可用背光驱动程序的特性标志
storage
(可选,如果您想保存背光设置)
某些驱动程序可能无法支持所有背光类型。
必需的代码
要设置背光,您必须创建一个新类型以实现 traits。然后,您可以在您的 #[keyboard]
宏调用中添加 <backlight_type>(id = <type>, driver_setup_fn = <setup_fn>)
。您的新类型必须根据您使用的灯光类型实现适当的 traits:
simple_backlight
:SimpleBacklightDevice
simple_backlight_matrix
:SimpleBacklightMatrixDevice
rgb_backlight_matrix
:RGBBacklightMatrixDevice
driver_setup_fn
必须是一个没有参数的异步函数,并返回一个实现适当驱动程序 trait 的类型:
simple_backlight
:SimpleBacklightDriver<T>
simple_backlight_matrix
:SimpleBacklightMatrixDriver<T>
rgb_backlight_matrix
:RGBBacklightMatrixDriver<T>
如果您正在实现背光矩阵(simple-backlight-matrix
或 rgb-backlight-matrix
),您的键盘还必须实现 BacklightMatrixDevice
特性:
最后,您必须设置驱动程序。为此,您需要完成您的 driver_setup_fn
,通过构造驱动程序。您可以检查所选驱动程序的 API 参考以获取用于简化此过程的设置函数或宏。
根据驱动程序,您可能还需要实现与您选择的驱动程序相对应的适当 trait。检查 可用背光驱动程序列表 以获取此信息。
例如,对于 is31fl3731
,您必须实现 IS31FL3731BacklightDriver
,并且您可以使用 setup_is31fl3731!
宏设置驱动程序:
键值
根据您选择的背光类型,您可以在您的 keyberon
布局中使用特定版本的 BacklightCommand
枚举:
在您的 keyberon
布局中,您可以使用 {Custom(SimpleBacklight(<command>))}
、{Custom(SimpleBacklightMatrix(<command>))}
、{Custom(RGBBacklightMatrix(<command>))}
,具体取决于您使用的背光系统。
此外,您必须选择与键码对应的背光系统,方法是实现一个关联类型 SimpleBacklightDeviceType
、SimpleBacklightMatrixDeviceType
、RGBBacklightDeviceType
中的一个。
用法示例:
待办事项列表
- RGB 背光动画
可用驱动程序
名称 | 特性标志 | 必需特性 |
---|---|---|
IS31FL3731 | is31fl3731 | IS31FL3731BacklightDriver |
WS2812 Bitbang | ws2812_bitbang | WS2812BitbangBacklightDriver |