#[repr(u8)]pub enum Capability {
Show 22 variants
NoOp {
state: CapabilityState,
loop_condition_index: u16,
},
Rotate {
state: CapabilityState,
loop_condition_index: u16,
index: u8,
increment: i8,
},
LayerClear {
state: CapabilityState,
loop_condition_index: u16,
},
LayerState {
state: CapabilityState,
loop_condition_index: u16,
layer: u8,
layer_state: State,
},
LayerRotate {
state: CapabilityState,
loop_condition_index: u16,
direction: Direction,
},
HidProtocol {
state: CapabilityState,
loop_condition_index: u16,
mode: Protocol,
},
HidKeyboard {
state: CapabilityState,
loop_condition_index: u16,
id: Keyboard,
},
HidKeyboardState {
state: CapabilityState,
loop_condition_index: u16,
id: Keyboard,
key_state: State,
},
HidConsumerControl {
state: CapabilityState,
loop_condition_index: u16,
id: ConsumerControl,
},
HidSystemControl {
state: CapabilityState,
loop_condition_index: u16,
id: SystemControl,
},
McuFlashMode {
state: CapabilityState,
loop_condition_index: u16,
},
PixelAnimationControl {
state: CapabilityState,
loop_condition_index: u16,
mode: AnimationControl,
},
PixelAnimationIndex {
state: CapabilityState,
loop_condition_index: u16,
index: u16,
},
PixelFadeControl {
state: CapabilityState,
loop_condition_index: u16,
profile: u8,
command: FadeCommand,
arg: u8,
},
PixelFadeLayer {
state: CapabilityState,
loop_condition_index: u16,
layer: u8,
},
PixelFadeSet {
state: CapabilityState,
loop_condition_index: u16,
profile: u8,
config: u8,
period: u8,
},
PixelGammaControl {
state: CapabilityState,
loop_condition_index: u16,
mode: GammaControl,
},
PixelLedControl {
state: CapabilityState,
loop_condition_index: u16,
mode: LedControl,
amount: u8,
},
PixelTest {
state: CapabilityState,
loop_condition_index: u16,
test: PixelTest,
index: u16,
},
HidioOpenUrl {
state: CapabilityState,
loop_condition_index: u16,
index: u16,
},
HidioUnicodeString {
state: CapabilityState,
loop_condition_index: u16,
index: u16,
},
HidioUnicodeState {
state: CapabilityState,
loop_condition_index: u16,
unicode: char,
},
}
Expand description
Global capability list for KLL NOTE: Changing parameters and removing entries will require a firmware reflash. At worst, KLL file and compiler definitions may also need to be updated. Please avoid these kinds of changes if possible. Adding new entries is safe.
Variants§
NoOp
No-op / None action 4 bytes
Fields
state: CapabilityState
Capability state
Rotate
Rotation event trigger 6 bytes
Fields
state: CapabilityState
Capability state
LayerClear
Clears all layer states NOTE: Does not send trigger events 4 bytes
Fields
state: CapabilityState
Capability state
LayerState
Updates layer to the specified state 6 bytes
Fields
state: CapabilityState
Capability state
LayerRotate
Rotates through possible layers given the direction Uses internal state to keep track of the current layer 5 bytes
Fields
state: CapabilityState
Capability state
HidProtocol
HID Protocol Mode 5 bytes
Fields
state: CapabilityState
Capability state
HidKeyboard
USB HID keyboard event Handles press/released based on incoming state 5 bytes
Fields
state: CapabilityState
Capability state
HidKeyboardState
USB HID keyboard event Force state event 6 bytes
Fields
state: CapabilityState
Capability state
HidConsumerControl
USB HID Consumer Control Event Handles press/released based on incoming state 6 bytes
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: ConsumerControl
HidSystemControl
USB HID System Control Event Handles press/released based on incoming state 5 bytes
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: SystemControl
McuFlashMode
Enter Flash Mode Usually jumps to the bootloader 4 bytes
Fields
state: CapabilityState
Capability state
PixelAnimationControl
Overall animation control 5 bytes
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: AnimationControl
PixelAnimationIndex
Activates the given indexed Animation 6 bytes
Fields
state: CapabilityState
Capability state
PixelFadeControl
Fade control 7 bytes
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
command: FadeCommand
PixelFadeLayer
Layer fade 5 bytes
Fields
state: CapabilityState
Capability state
PixelFadeSet
Fade set profile 7 bytes
Fields
state: CapabilityState
Capability state
PixelGammaControl
Enable/Disable/Toggle gamma correction 5 bytes
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: GammaControl
PixelLedControl
LED Control 6 bytes
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: LedControl
PixelTest
Pixel test 7 bytes
Fields
state: CapabilityState
Capability state
HidioOpenUrl
Sends URL (using index stored unicode string) to host computer web browser 6 bytes
Fields
state: CapabilityState
Capability state
HidioUnicodeString
Sends Unicode string (using index stored unicode string) to host computer 6 bytes
Fields
state: CapabilityState
Capability state
HidioUnicodeState
Sends Unicode character with state (Press or Release) 8 bytes
Implementations§
Source§impl Capability
impl Capability
Sourcepub fn generate(
&self,
event: TriggerEvent,
_loop_condition_lookup: &[u32],
) -> CapabilityRun
pub fn generate( &self, event: TriggerEvent, _loop_condition_lookup: &[u32], ) -> CapabilityRun
Generate a CapabilityRun using a Capability + TriggerEvent The TriggerEvent is only important when CapabilityState::Passthrough is set.
Sourcepub fn loop_condition_index(&self) -> u16
pub fn loop_condition_index(&self) -> u16
Lookup loop_condition_index
Source§impl Capability
impl Capability
Sourcepub const unsafe fn from_byte_array(bytes: [u8; 8]) -> Self
pub const unsafe fn from_byte_array(bytes: [u8; 8]) -> Self
Convert array of bytes to enum
§Safety
Sourcepub const unsafe fn from_bytes(bytes: &[u8]) -> Self
pub const unsafe fn from_bytes(bytes: &[u8]) -> Self
Convert slice of bytes to enum Aggressively casts the provide u8 slice to retrieve a Capability
§Safety
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for Capability
impl Debug for Capability
Source§impl From<Capability> for CapabilityRun
Convert Capability to CapabilityRun
Used for mainly for kll validation
impl From<Capability> for CapabilityRun
Convert Capability to CapabilityRun Used for mainly for kll validation