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: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
No-op / None action 4 bytes
Rotate
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
index: u8
increment: i8
Rotation event trigger 6 bytes
LayerClear
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
Clears all layer states NOTE: Does not send trigger events 4 bytes
LayerState
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
layer: u8
layer_state: State
Updates layer to the specified state 6 bytes
LayerRotate
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
direction: Direction
Rotates through possible layers given the direction Uses internal state to keep track of the current layer 5 bytes
HidProtocol
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: Protocol
HID Protocol Mode 5 bytes
HidKeyboard
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: Keyboard
USB HID keyboard event Handles press/released based on incoming state 5 bytes
HidKeyboardState
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: Keyboard
key_state: State
USB HID keyboard event Force state event 6 bytes
HidConsumerControl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: ConsumerControl
USB HID Consumer Control Event Handles press/released based on incoming state 6 bytes
HidSystemControl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
id: SystemControl
USB HID System Control Event Handles press/released based on incoming state 5 bytes
McuFlashMode
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
Enter Flash Mode Usually jumps to the bootloader 4 bytes
PixelAnimationControl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: AnimationControl
Overall animation control 5 bytes
PixelAnimationIndex
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
index: u16
Activates the given indexed Animation 6 bytes
PixelFadeControl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
profile: u8
command: FadeCommand
arg: u8
Fade control 7 bytes
PixelFadeLayer
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
layer: u8
Layer fade 5 bytes
PixelFadeSet
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
profile: u8
config: u8
period: u8
Fade set profile 7 bytes
PixelGammaControl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: GammaControl
Enable/Disable/Toggle gamma correction 5 bytes
PixelLedControl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
mode: LedControl
amount: u8
LED Control 6 bytes
PixelTest
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
test: PixelTest
index: u16
Pixel test 7 bytes
HidioOpenUrl
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
index: u16
Sends URL (using index stored unicode string) to host computer web browser 6 bytes
HidioUnicodeString
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
index: u16
Sends Unicode string (using index stored unicode string) to host computer 6 bytes
HidioUnicodeState
Fields
state: CapabilityState
Capability state
loop_condition_index: u16
Scanning loop condition (number of scanning loops attached to state condition) Lookup index
unicode: char
Sends Unicode character with state (Press or Release) 8 bytes
Implementations
sourceimpl 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
sourceimpl 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
sourceimpl Clone for Capability
impl Clone for Capability
sourcefn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for Capability
impl Debug for Capability
sourceimpl From<Capability> for CapabilityRun
impl From<Capability> for CapabilityRun
Convert Capability to CapabilityRun Used for mainly for kll validation