Enum kll_core::Capability
source · #[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
Fields
state: CapabilityStateCapability state
No-op / None action 4 bytes
Rotate
Fields
state: CapabilityStateCapability state
Rotation event trigger 6 bytes
LayerClear
Fields
state: CapabilityStateCapability state
Clears all layer states NOTE: Does not send trigger events 4 bytes
LayerState
Fields
state: CapabilityStateCapability state
Updates layer to the specified state 6 bytes
LayerRotate
Fields
state: CapabilityStateCapability state
Rotates through possible layers given the direction Uses internal state to keep track of the current layer 5 bytes
HidProtocol
Fields
state: CapabilityStateCapability state
HID Protocol Mode 5 bytes
HidKeyboard
Fields
state: CapabilityStateCapability state
USB HID keyboard event Handles press/released based on incoming state 5 bytes
HidKeyboardState
Fields
state: CapabilityStateCapability state
USB HID keyboard event Force state event 6 bytes
HidConsumerControl
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: ConsumerControlUSB HID Consumer Control Event Handles press/released based on incoming state 6 bytes
HidSystemControl
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: SystemControlUSB HID System Control Event Handles press/released based on incoming state 5 bytes
McuFlashMode
Fields
state: CapabilityStateCapability state
Enter Flash Mode Usually jumps to the bootloader 4 bytes
PixelAnimationControl
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: AnimationControlOverall animation control 5 bytes
PixelAnimationIndex
Fields
state: CapabilityStateCapability state
Activates the given indexed Animation 6 bytes
PixelFadeControl
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
command: FadeCommandFade control 7 bytes
PixelFadeLayer
Fields
state: CapabilityStateCapability state
Layer fade 5 bytes
PixelFadeSet
Fields
state: CapabilityStateCapability state
Fade set profile 7 bytes
PixelGammaControl
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: GammaControlEnable/Disable/Toggle gamma correction 5 bytes
PixelLedControl
Fields
state: CapabilityStateCapability state
loop_condition_index: u16Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: LedControlLED Control 6 bytes
PixelTest
Fields
state: CapabilityStateCapability state
Pixel test 7 bytes
HidioOpenUrl
Fields
state: CapabilityStateCapability state
Sends URL (using index stored unicode string) to host computer web browser 6 bytes
HidioUnicodeString
Fields
state: CapabilityStateCapability state
Sends Unicode string (using index stored unicode string) to host computer 6 bytes
HidioUnicodeState
Fields
state: CapabilityStateCapability state
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§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for Capability
impl Debug for Capability
source§impl From<Capability> for CapabilityRun
impl From<Capability> for CapabilityRun
Convert Capability to CapabilityRun Used for mainly for kll validation