#[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: CapabilityStateCapability state
Rotate
Rotation event trigger 6 bytes
Fields
state: CapabilityStateCapability state
LayerClear
Clears all layer states NOTE: Does not send trigger events 4 bytes
Fields
state: CapabilityStateCapability state
LayerState
Updates layer to the specified state 6 bytes
Fields
state: CapabilityStateCapability state
LayerRotate
Rotates through possible layers given the direction Uses internal state to keep track of the current layer 5 bytes
Fields
state: CapabilityStateCapability state
HidProtocol
HID Protocol Mode 5 bytes
Fields
state: CapabilityStateCapability state
HidKeyboard
USB HID keyboard event Handles press/released based on incoming state 5 bytes
Fields
state: CapabilityStateCapability state
HidKeyboardState
USB HID keyboard event Force state event 6 bytes
Fields
state: CapabilityStateCapability state
HidConsumerControl
USB HID Consumer Control Event Handles press/released based on incoming state 6 bytes
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: ConsumerControlHidSystemControl
USB HID System Control Event Handles press/released based on incoming state 5 bytes
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: SystemControlMcuFlashMode
Enter Flash Mode Usually jumps to the bootloader 4 bytes
Fields
state: CapabilityStateCapability state
PixelAnimationControl
Overall animation control 5 bytes
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: AnimationControlPixelAnimationIndex
Activates the given indexed Animation 6 bytes
Fields
state: CapabilityStateCapability state
PixelFadeControl
Fade control 7 bytes
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
command: FadeCommandPixelFadeLayer
Layer fade 5 bytes
Fields
state: CapabilityStateCapability state
PixelFadeSet
Fade set profile 7 bytes
Fields
state: CapabilityStateCapability state
PixelGammaControl
Enable/Disable/Toggle gamma correction 5 bytes
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: GammaControlPixelLedControl
LED Control 6 bytes
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: LedControlPixelTest
Pixel test 7 bytes
Fields
state: CapabilityStateCapability state
HidioOpenUrl
Sends URL (using index stored unicode string) to host computer web browser 6 bytes
Fields
state: CapabilityStateCapability state
HidioUnicodeString
Sends Unicode string (using index stored unicode string) to host computer 6 bytes
Fields
state: CapabilityStateCapability 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