SYMBOL INDEX (2523 symbols across 151 files) FILE: build.rs function main (line 1) | fn main() -> std::io::Result<()> { function build (line 21) | pub(super) fn build() -> std::io::Result<()> { FILE: example_tcp_client/src/main.rs type Args (line 11) | struct Args { function main (line 25) | fn main() { function print_usage (line 50) | fn print_usage() { function init_logger (line 116) | fn init_logger(args: &Args) { function write_to_kanata (line 139) | fn write_to_kanata(mut s: TcpStream) { function read_from_kanata (line 221) | fn read_from_kanata(s: TcpStream) { FILE: interception/src/lib.rs type Device (line 16) | pub type Device = i32; type Precedence (line 17) | pub type Precedence = i32; type Filter (line 19) | pub enum Filter { type Predicate (line 24) | pub type Predicate = extern "C" fn(device: Device) -> bool; type MouseFilter (line 51) | pub type MouseFilter = MouseState; type Stroke (line 96) | pub enum Stroke { type Error (line 114) | type Error = &'static str; method try_from (line 116) | fn try_from(raw_stroke: raw::InterceptionMouseStroke) -> Result Result Result { type Error (line 188) | type Error = &'static str; function try_from (line 190) | fn try_from(stroke: Stroke) -> Result { type Interception (line 208) | pub struct Interception { method new (line 213) | pub fn new() -> Option { method get_precedence (line 223) | pub fn get_precedence(&self, device: Device) -> Precedence { method set_precedence (line 227) | pub fn set_precedence(&self, device: Device, precedence: Precedence) { method get_filter (line 231) | pub fn get_filter(&self, device: Device) -> Filter { method set_filter (line 254) | pub fn set_filter(&self, predicate: Predicate, filter: Filter) { method wait (line 266) | pub fn wait(&self) -> Device { method wait_with_timeout (line 270) | pub fn wait_with_timeout(&self, duration: Duration) -> Device { method send (line 279) | pub fn send(&self, device: Device, strokes: &[Stroke]) -> i32 { method send_internal (line 289) | fn send_internal>(&self, device: Device, strokes: &... method receive (line 307) | pub fn receive(&self, device: Device, strokes: &mut [Stroke]) -> i32 { method receive_internal (line 317) | fn receive_internal + Default + Copy>( method get_hardware_id (line 345) | pub fn get_hardware_id(&self, device: Device, buffer: &mut [u8]) -> u32 { method drop (line 359) | fn drop(&mut self) { function is_invalid (line 364) | pub extern "C" fn is_invalid(device: Device) -> bool { function is_keyboard (line 368) | pub extern "C" fn is_keyboard(device: Device) -> bool { function is_mouse (line 372) | pub extern "C" fn is_mouse(device: Device) -> bool { FILE: interception/src/scancode.rs type ScanCode (line 7) | pub enum ScanCode { FILE: key-sort-add/src/main.rs function main (line 21) | fn main() { function one (line 29) | fn one() { function two (line 68) | fn two() { FILE: keyberon/keyberon-macros/src/lib.rs function layout (line 6) | pub fn layout(input: proc_macro::TokenStream) -> proc_macro::TokenStream { function parse_layer (line 31) | fn parse_layer(input: TokenStream) -> TokenStream { function parse_row (line 48) | fn parse_row(input: TokenStream) -> TokenStream { function parse_group (line 67) | fn parse_group(g: &Group, out: &mut TokenStream) { function parse_keycode_group (line 97) | fn parse_keycode_group(input: TokenStream, out: &mut TokenStream) { function punctuation_to_keycode (line 112) | fn punctuation_to_keycode(p: &Punct, out: &mut TokenStream) { function literal_to_keycode (line 143) | fn literal_to_keycode(l: &Literal, out: &mut TokenStream) { FILE: keyberon/src/action.rs type SequenceEvent (line 13) | pub enum SequenceEvent<'a, T: 'a> { method fmt (line 35) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type HoldTapConfig (line 53) | pub enum HoldTapConfig<'a> { method fmt (line 106) | fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { method eq (line 118) | fn eq(&self, other: &Self) -> bool { type ReleasableState (line 132) | pub enum ReleasableState { type HoldTapAction (line 153) | pub struct HoldTapAction<'a, T> type OneShot (line 197) | pub struct OneShot<'a, T = core::convert::Infallible> type OneShotEndConfig (line 215) | pub enum OneShotEndConfig { constant ONE_SHOT_MAX_ACTIVE (line 229) | pub const ONE_SHOT_MAX_ACTIVE: usize = 16; type TapDance (line 233) | pub struct TapDance<'a, T = core::convert::Infallible> type TapDanceConfig (line 252) | pub enum TapDanceConfig { type ChordsGroup (line 259) | pub struct ChordsGroup<'a, T = core::convert::Infallible> function get_keys (line 274) | pub fn get_keys(&self, coord: (u8, u16)) -> Option { function get_chord (line 279) | pub fn get_chord(&self, keys: ChordKeys) -> Option<&'a Action<'a, T>> { function get_chord_if_unambiguous (line 287) | pub fn get_chord_if_unambiguous(&self, keys: ChordKeys) -> Option<&'a Ac... type ChordKeys (line 308) | pub type ChordKeys = u128; constant MAX_CHORD_KEYS (line 311) | pub const MAX_CHORD_KEYS: usize = ChordKeys::BITS as usize; type ForkConfig (line 317) | pub struct ForkConfig<'a, T> { type Action (line 325) | pub enum Action<'a, T = core::convert::Infallible> function layer (line 420) | pub fn layer(self) -> Option { function key_codes (line 427) | pub fn key_codes(&self) -> impl Iterator + '_ { function k (line 438) | pub const fn k(kc: KeyCode) -> Action<'static, T> { function l (line 444) | pub const fn l(layer: usize) -> Action<'static, T> { function d (line 450) | pub const fn d(layer: usize) -> Action<'static, T> { FILE: keyberon/src/action/switch.rs constant MAX_OPCODE_LEN (line 21) | pub const MAX_OPCODE_LEN: u16 = 0x0FFF; constant OP_MASK (line 22) | pub const OP_MASK: u16 = 0xF000; constant MAX_BOOL_EXPR_DEPTH (line 23) | pub const MAX_BOOL_EXPR_DEPTH: usize = 8; constant MAX_KEY_RECENCY (line 24) | pub const MAX_KEY_RECENCY: u8 = 7; type Case (line 26) | pub type Case<'a, T> = (&'a [OpCode], &'a Action<'a, T>, BreakOrFallthro... type Switch (line 34) | pub struct Switch<'a, T: 'a> { constant OR_VAL (line 44) | const OR_VAL: u16 = 0x1000; constant AND_VAL (line 45) | const AND_VAL: u16 = 0x2000; constant NOT_VAL (line 46) | const NOT_VAL: u16 = 0x3000; constant INPUT_VAL (line 48) | const INPUT_VAL: u16 = 851; constant HISTORICAL_INPUT_VAL (line 49) | const HISTORICAL_INPUT_VAL: u16 = 852; constant LAYER_VAL (line 50) | const LAYER_VAL: u16 = 853; constant BASE_LAYER_VAL (line 51) | const BASE_LAYER_VAL: u16 = 854; constant TICKS_SINCE_VAL_GT (line 59) | const TICKS_SINCE_VAL_GT: u16 = 0x4000; constant TICKS_SINCE_VAL_LT (line 60) | const TICKS_SINCE_VAL_LT: u16 = 0x6000; constant HISTORICAL_KEYCODE_VAL (line 64) | const HISTORICAL_KEYCODE_VAL: u16 = 0x8000; type BooleanOperator (line 68) | pub enum BooleanOperator { method to_u16 (line 219) | fn to_u16(self) -> u16 { type OpCode (line 76) | pub struct OpCode(u16); method new_key (line 245) | pub fn new_key(kc: KeyCode) -> Self { method new_key_history (line 252) | pub fn new_key_history(kc: KeyCode, key_recency: u8) -> Self { method new_ticks_since_gt (line 263) | pub fn new_ticks_since_gt(nth_key: u8, ticks_since: u16) -> Self { method new_ticks_since_lt (line 273) | pub fn new_ticks_since_lt(nth_key: u8, ticks_since: u16) -> Self { method new_bool (line 280) | pub fn new_bool(op: BooleanOperator, end_idx: u16) -> Self { method new_active_input (line 286) | pub fn new_active_input(input: KCoord) -> (Self, Self) { method new_historical_input (line 296) | pub fn new_historical_input(input: KCoord, key_recency: u8) -> (Self, ... method new_layer (line 307) | pub fn new_layer(layer: u16) -> (Self, Self) { method new_base_layer (line 313) | pub fn new_base_layer(base_layer: u16) -> (Self, Self) { method opcode_type (line 319) | fn opcode_type(self, next: Option) -> OpCodeType { type OpCodeType (line 80) | enum OpCodeType { type OperatorAndEndIndex (line 94) | struct OperatorAndEndIndex { method from (line 355) | fn from(value: u16) -> Self { type HistoricalKeyCode (line 102) | struct HistoricalKeyCode { type HistoricalInput (line 110) | struct HistoricalInput { type TicksSinceNthKey (line 116) | struct TicksSinceNthKey { type BreakOrFallthrough (line 124) | pub enum BreakOrFallthrough { function actions (line 134) | pub fn actions( type SwitchActions (line 165) | pub struct SwitchActions<'a, T, A1, A2, H1, H2, L> type Item (line 191) | type Item = &'a Action<'a, T>; method next (line 193) | fn next(&mut self) -> Option { function lossy_compress_ticks (line 227) | fn lossy_compress_ticks(t: u16) -> u16 { function lossy_decompress_ticks (line 235) | fn lossy_decompress_ticks(t: u16) -> u16 { function evaluate_boolean (line 369) | fn evaluate_boolean( function evaluate_bool_test (line 487) | fn evaluate_bool_test(opcodes: &[OpCode], keycodes: impl Iterator { function fmt (line 51) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::E... type ChordsForKey (line 62) | pub struct ChordsForKey<'a, T> { type ChordsForKeys (line 68) | pub struct ChordsForKeys<'a, T> { constant SMOL_Q_LEN (line 72) | const SMOL_Q_LEN: usize = 16; type ActiveChord (line 74) | struct ActiveChord<'a, T> { function tick_ach (line 96) | fn tick_ach(acc: &mut ActiveChord) { type ActiveChordStatus (line 101) | enum ActiveChordStatus { type SmolQueue (line 116) | pub(crate) type SmolQueue = ArrayDeque { function fmt (line 156) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function new (line 162) | pub fn new(chords: ChordsForKeys<'a, T>, ticks_ignore_chord: u16) -> Self { function is_idle_chv2 (line 177) | pub fn is_idle_chv2(&self) -> bool { function accepts_chords_chv2 (line 181) | pub fn accepts_chords_chv2(&self) -> bool { function push_back_chv2 (line 185) | pub fn push_back_chv2(&mut self, item: Queued) -> Option { function chords (line 189) | pub fn chords(&self) -> &ChordsForKeys<'a, T> { function get_action_chv2 (line 193) | pub(crate) fn get_action_chv2(&mut self) -> QueuedAction<'a, T> { function tick_chv2 (line 225) | pub(crate) fn tick_chv2(&mut self, active_layer: u16) -> SmolQueue { function next_coord (line 259) | fn next_coord(&self) -> u16 { function drain_inputs (line 269) | fn drain_inputs(&mut self, drainq: &mut SmolQueue, active_layer: u16) { function drain_without_new_activations (line 294) | fn drain_without_new_activations(&mut self, drainq: &mut SmolQueue) { function drain_virtual_keys (line 317) | fn drain_virtual_keys(&mut self, drainq: &mut SmolQueue) { function drain_releases (line 332) | fn drain_releases(&mut self, drainq: &mut SmolQueue) { function process_presses (line 365) | fn process_presses(&mut self, active_layer: u16) { function clear_released_chords (line 567) | fn clear_released_chords(&mut self, drainq: &mut SmolQueue) { function get_active_chord (line 583) | fn get_active_chord<'a, T>( FILE: keyberon/src/key_code.rs constant KEY_MAX (line 4) | pub const KEY_MAX: u16 = 850; function keycode_max_test (line 7) | fn keycode_max_test() { type KeyCode (line 16) | pub enum KeyCode { method is_mod (line 788) | pub fn is_mod(self) -> bool { method fmt (line 799) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { FILE: keyberon/src/layout.rs type KCoord (line 41) | pub type KCoord = (u8, u16); type Layers (line 50) | pub type Layers<'a, const C: usize, const R: usize, T = core::convert::I... constant QUEUE_SIZE (line 53) | const QUEUE_SIZE: usize = 32; type QueueLen (line 54) | pub type QueueLen = u8; function check_queue_size (line 57) | fn check_queue_size() { type Queue (line 65) | pub(crate) type Queue = ArrayDeque; constant ACTION_QUEUE_LEN (line 73) | pub const ACTION_QUEUE_LEN: usize = 8; type ActionQueue (line 79) | type ActionQueue<'a, T> = type Delay (line 81) | type Delay = u16; type QueuedAction (line 82) | pub(crate) type QueuedAction<'a, T> = Option<(KCoord, Delay, &'a Action<... constant REAL_KEY_ROW (line 84) | pub const REAL_KEY_ROW: u8 = 0; constant HISTORICAL_EVENT_LEN (line 86) | const HISTORICAL_EVENT_LEN: usize = 8; constant EXTRA_WAITING_LEN (line 87) | const EXTRA_WAITING_LEN: usize = 8; function extra_waiting_size_constraint (line 89) | fn extra_waiting_size_constraint() { type Layout (line 95) | pub struct Layout<'a, const C: usize, const R: usize, T = core::convert:... type History (line 135) | pub struct History { type HistoricalEvent (line 141) | pub struct HistoricalEvent { function new (line 150) | fn new() -> Self { function tick_hist (line 157) | fn tick_hist(&mut self) { function push_front (line 166) | fn push_front(&mut self, event: T) { function iter_hevents (line 171) | pub fn iter_hevents(&self) -> impl Iterator> +... type Event (line 185) | pub enum Event { method coord (line 193) | pub fn coord(self) -> KCoord { method transform (line 211) | pub fn transform(self, f: impl FnOnce(u8, u16) -> KCoord) -> Self { method is_press (line 225) | pub fn is_press(self) -> bool { method is_release (line 233) | pub fn is_release(self) -> bool { type CustomEvent (line 243) | pub enum CustomEvent<'a, T: 'a> { function update (line 257) | fn update(&mut self, e: Self) { type NormalKeyFlags (line 269) | pub struct NormalKeyFlags(pub u8); method nkf_clear_on_next_action (line 275) | pub fn nkf_clear_on_next_action(self) -> bool { method nkf_clear_on_next_release (line 278) | pub fn nkf_clear_on_next_release(self) -> bool { constant NORMAL_KEY_FLAG_CLEAR_ON_NEXT_ACTION (line 271) | pub const NORMAL_KEY_FLAG_CLEAR_ON_NEXT_ACTION: u8 = 0x01; constant NORMAL_KEY_FLAG_CLEAR_ON_NEXT_RELEASE (line 272) | pub const NORMAL_KEY_FLAG_CLEAR_ON_NEXT_RELEASE: u8 = 0x02; type State (line 284) | pub enum State<'a, T: 'a> { method clone (line 314) | fn clone(&self) -> Self { function keycode (line 319) | pub fn keycode(&self) -> Option { function coord (line 326) | pub fn coord(&self) -> Option { function keycode_in_coords (line 336) | fn keycode_in_coords(&self, coords: &OneShotCoords) -> Option { function release (line 349) | pub fn release(&self, c: KCoord, custom: &mut CustomEvent<'a, T>) -> Opt... function release_state (line 366) | pub fn release_state(&self, s: ReleasableState) -> Option { function seq_release (line 388) | fn seq_release(&self, kc: KeyCode) -> Option { function get_layer (line 394) | fn get_layer(&self) -> Option { function clear_on_next_release (line 400) | pub fn clear_on_next_release(&self) -> bool { type TapDanceState (line 412) | pub(crate) struct TapDanceState<'a, T: 'a> { type TapDanceEagerState (line 419) | pub struct TapDanceEagerState<'a, T: 'a> { function tick_tde (line 428) | fn tick_tde(&mut self) { function is_expired (line 432) | fn is_expired(&self) -> bool { function set_expired (line 436) | fn set_expired(&mut self) { function incr_taps (line 440) | fn incr_taps(&mut self) { type WaitingConfig (line 447) | pub(crate) enum WaitingConfig<'a, T: 'a + std::fmt::Debug> { type WaitingState (line 454) | pub struct WaitingState<'a, T: 'a + std::fmt::Debug> { type WaitingAction (line 470) | pub enum WaitingAction { function tick_wt (line 482) | fn tick_wt( function handle_hold_tap (line 526) | fn handle_hold_tap(&mut self, cfg: HoldTapConfig, queued: &Queue) -> Opt... function handle_tap_dance (line 610) | fn handle_tap_dance( function handle_chord (line 666) | fn handle_chord( function decompose_chord_into_action_queue (line 766) | fn decompose_chord_into_action_queue( function is_corresponding_release (line 909) | fn is_corresponding_release(&self, event: &Event) -> bool { function is_corresponding_press (line 913) | fn is_corresponding_press(&self, event: &Event) -> bool { type OneShotCoords (line 918) | type OneShotCoords = ArrayDeque { type ReleasedOneShotKeys (line 928) | type ReleasedOneShotKeys = Vec; constant MAX_LAYERS (line 932) | pub const MAX_LAYERS: usize = 60000; constant MAX_ACTIVE_LAYERS (line 939) | pub const MAX_ACTIVE_LAYERS: usize = 12; type LayerStack (line 944) | type LayerStack = Vec; type OneShotState (line 947) | pub struct OneShotState { method tick_osh (line 1011) | fn tick_osh(&mut self) -> Option { method handle_press (line 1036) | fn handle_press(&mut self, key: OneShotHandlePressKey) -> OneShotCoords { method handle_release (line 1074) | fn handle_release(&mut self, (i, j): KCoord) -> (bool, Option) { method add_state_to_retain (line 1093) | fn add_state_to_retain(&mut self, state: OneShotRetainableState) { type OneShotRetainableState (line 991) | pub enum OneShotRetainableState { method coord (line 997) | pub fn coord(&self) -> KCoord { type OneShotHandlePressKey (line 1005) | enum OneShotHandlePressKey { type QueuedIter (line 1104) | pub struct QueuedIter<'a>(arraydeque::Iter<'a, Queued>); type Item (line 1107) | type Item = &'a Queued; method next (line 1108) | fn next(&mut self) -> Option { method size_hint (line 1111) | fn size_hint(&self) -> (usize, Option) { type Queued (line 1118) | pub struct Queued { method from (line 1123) | fn from(event: Event) -> Self { method new_press (line 1128) | pub(crate) fn new_press(i: u8, j: u16) -> Self { method new_release (line 1135) | pub(crate) fn new_release(i: u8, j: u16) -> Self { method tick_qd (line 1142) | pub(crate) fn tick_qd(&mut self) { method event (line 1147) | pub fn event(&self) -> Event { type LastPressTracker (line 1153) | pub struct LastPressTracker { method tick_lpt (line 1159) | fn tick_lpt(&mut self) { method update_coord (line 1162) | fn update_coord(&mut self, coord: KCoord) { function new (line 1172) | fn new(layers: &'a [[[Action; C]; R]]) -> Self { function new_with_trans_action_settings (line 1212) | pub fn new_with_trans_action_settings( function keycodes (line 1226) | pub fn keycodes(&self) -> impl Iterator + Clone + '_ { function waiting_into_hold (line 1233) | fn waiting_into_hold(&mut self, idx: i8) -> CustomEvent<'a, T> { function waiting_into_tap (line 1265) | fn waiting_into_tap(&mut self, pq: Option, idx: i8) -> Cus... function waiting_into_timeout (line 1351) | fn waiting_into_timeout(&mut self, idx: i8) -> CustomEvent<'a, T> { function drop_waiting (line 1385) | fn drop_waiting(&mut self) -> CustomEvent<'a, T> { function tick (line 1395) | pub fn tick(&mut self) -> CustomEvent<'a, T> { function process_sequences (line 1470) | fn process_sequences(&mut self) { function process_extra_waitings (line 1554) | fn process_extra_waitings(&mut self, current_custom: CustomEvent<'a, T>)... function process_sequence_custom (line 1585) | fn process_sequence_custom( function dequeue (line 1615) | fn dequeue(&mut self, queue: Queued) -> CustomEvent<'a, T> { function event (line 1700) | pub fn event(&mut self, event: Event) { function event_to_front (line 1718) | pub fn event_to_front(&mut self, event: Event) { function resolve_coord (line 1732) | fn resolve_coord( function do_action (line 1752) | fn do_action( function current_layer (line 2259) | pub fn current_layer(&self) -> usize { function active_held_layers (line 2267) | pub fn active_held_layers(&self) -> impl Iterator + Clone + ... function trans_resolution_layer_order (line 2275) | pub fn trans_resolution_layer_order(&self) -> LayerStack { function set_default_layer (line 2295) | pub fn set_default_layer(&mut self, value: usize) { function assert_keys (line 2314) | fn assert_keys(expected: &[KeyCode], iter: impl Iterator) { function basic_hold_tap (line 2321) | fn basic_hold_tap() { function basic_hold_tap_repress_timeout (line 2377) | fn basic_hold_tap_repress_timeout() { function hold_tap_interleaved_timeout (line 2433) | fn hold_tap_interleaved_timeout() { function hold_on_press (line 2486) | fn hold_on_press() { function order_clean_tap (line 2546) | fn order_clean_tap() { function order_hold (line 2578) | fn order_hold() { function order_tap (line 2616) | fn order_tap() { function order_multi_key_hold (line 2648) | fn order_multi_key_hold() { function order_buffer_ignores_press_within_window (line 2701) | fn order_buffer_ignores_press_within_window() { function permissive_hold (line 2747) | fn permissive_hold() { function simultaneous_hold (line 2789) | fn simultaneous_hold() { function multiple_actions (line 2855) | fn multiple_actions() { function custom (line 2878) | fn custom() { function multiple_layers (line 2900) | fn multiple_layers() { function custom_handler (line 2963) | fn custom_handler() { function tap_hold_interval (line 3080) | fn tap_hold_interval() { function tap_hold_interval_interleave (line 3137) | fn tap_hold_interval_interleave() { function tap_hold_interval_short_hold (line 3264) | fn tap_hold_interval_short_hold() { function tap_hold_interval_different_hold (line 3308) | fn tap_hold_interval_different_hold() { function one_shot (line 3362) | fn one_shot() { function one_shot_end_press_or_repress (line 3474) | fn one_shot_end_press_or_repress() { function one_shot_end_on_release (line 3628) | fn one_shot_end_on_release() { function one_shot_multi (line 3773) | fn one_shot_multi() { function one_shot_tap_hold (line 3831) | fn one_shot_tap_hold() { function tap_dance_uneager (line 3894) | fn tap_dance_uneager() { function tap_dance_eager (line 4036) | fn tap_dance_eager() { function release_state (line 4123) | fn release_state() { function test_chord (line 4170) | fn test_chord() { function test_chord_normalkey_order (line 4299) | fn test_chord_normalkey_order() { function test_chord_multi_waiting_decomposition (line 4342) | fn test_chord_multi_waiting_decomposition() { function test_fork (line 4402) | fn test_fork() { function test_repeat (line 4435) | fn test_repeat() { function test_clear_multiple_keycodes (line 4540) | fn test_clear_multiple_keycodes() { function test_trans_in_stacked_held_layers (line 4555) | fn test_trans_in_stacked_held_layers() { function test_trans_in_action_on_first_layer (line 4587) | fn test_trans_in_action_on_first_layer() { function test_trans_in_taphold_tap (line 4607) | fn test_trans_in_taphold_tap() { function test_trans_in_taphold_hold (line 4656) | fn test_trans_in_taphold_hold() { function test_trans_in_tapdance_lazy (line 4698) | fn test_trans_in_tapdance_lazy() { function test_trans_in_tapdance_eager (line 4737) | fn test_trans_in_tapdance_eager() { function test_trans_in_multi (line 4770) | fn test_trans_in_multi() { function test_trans_in_chords (line 4795) | fn test_trans_in_chords() { function test_trans_in_fork (line 4827) | fn test_trans_in_fork() { function test_trans_in_switch (line 4858) | fn test_trans_in_switch() { function test_multiple_taphold_trans (line 4893) | fn test_multiple_taphold_trans() { function trans_in_multi_works_with_all_trans_settings (line 4965) | fn trans_in_multi_works_with_all_trans_settings() { function hold_activated_is_set_on_hold_timeout (line 5038) | fn hold_activated_is_set_on_hold_timeout() { function tap_activated_is_set_on_tap_release (line 5071) | fn tap_activated_is_set_on_tap_release() { function hold_activated_is_set_on_permissive_hold (line 5105) | fn hold_activated_is_set_on_permissive_hold() { function hold_activated_is_set_on_hold_on_other_key_press (line 5141) | fn hold_activated_is_set_on_hold_on_other_key_press() { function chord_does_not_set_tap_hold_activated (line 5174) | fn chord_does_not_set_tap_hold_activated() { function tap_dance_does_not_set_tap_hold_activated (line 5198) | fn tap_dance_does_not_set_tap_hold_activated() { FILE: keyberon/src/layout/contextual_execution.rs type ContextualExecution (line 7) | pub(super) struct ContextualExecution { method new (line 14) | pub(super) fn new() -> Self { method push_historical_key (line 21) | pub(super) fn push_historical_key(&self, h: &mut History, ... FILE: keyberon/src/multikey_buffer.rs constant BUFCAP (line 12) | const BUFCAP: usize = ONE_SHOT_MAX_ACTIVE + 4; type MultiKeyBuffer (line 15) | pub(crate) struct MultiKeyBuffer<'a, T> { function new (line 30) | pub(crate) unsafe fn new() -> Self { function clear (line 47) | pub(crate) unsafe fn clear(&mut self) { function push (line 56) | pub(crate) unsafe fn push(&mut self, kc: KeyCode) { function get_ref (line 72) | pub(crate) unsafe fn get_ref(&self) -> &'a Action<'a, T> { method drop (line 81) | fn drop(&mut self) { FILE: keyberon/src/tap_hold_tracker.rs type HoldActivatedInfo (line 18) | pub struct HoldActivatedInfo { type TapActivatedInfo (line 25) | pub struct TapActivatedInfo { type TapHoldTracker (line 32) | pub struct TapHoldTracker { method set_hold_activated (line 38) | pub(crate) fn set_hold_activated<'a, T: std::fmt::Debug>( method set_tap_activated (line 48) | pub(crate) fn set_tap_activated<'a, T: std::fmt::Debug>( method take_hold_activated (line 58) | pub fn take_hold_activated(&mut self) -> Option { method take_tap_activated (line 62) | pub fn take_tap_activated(&mut self) -> Option { method set_hold_activated (line 92) | pub(crate) fn set_hold_activated<'a, T: std::fmt::Debug>( method set_tap_activated (line 100) | pub(crate) fn set_tap_activated<'a, T: std::fmt::Debug>( method take_hold_activated (line 108) | pub fn take_hold_activated(&mut self) -> Option { method take_tap_activated (line 113) | pub fn take_tap_activated(&mut self) -> Option { type HoldActivatedInfo (line 74) | pub struct HoldActivatedInfo { type TapActivatedInfo (line 81) | pub struct TapActivatedInfo { type TapHoldTracker (line 88) | pub struct TapHoldTracker; method set_hold_activated (line 38) | pub(crate) fn set_hold_activated<'a, T: std::fmt::Debug>( method set_tap_activated (line 48) | pub(crate) fn set_tap_activated<'a, T: std::fmt::Debug>( method take_hold_activated (line 58) | pub fn take_hold_activated(&mut self) -> Option { method take_tap_activated (line 62) | pub fn take_tap_activated(&mut self) -> Option { method set_hold_activated (line 92) | pub(crate) fn set_hold_activated<'a, T: std::fmt::Debug>( method set_tap_activated (line 100) | pub(crate) fn set_tap_activated<'a, T: std::fmt::Debug>( method take_hold_activated (line 108) | pub fn take_hold_activated(&mut self) -> Option { method take_tap_activated (line 113) | pub fn take_tap_activated(&mut self) -> Option { FILE: parser/src/cfg/alloc.rs type Allocations (line 19) | pub(crate) struct Allocations { method fmt (line 30) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 60) | pub(crate) unsafe fn new() -> Arc { method sref (line 67) | pub(crate) fn sref(&self, v: T) -> &'static T { method bref_slice (line 84) | pub(crate) fn bref_slice(&self, v: Box<[T]>) -> &'static [T] { method sref_vec (line 103) | pub(crate) fn sref_vec(&self, v: Vec) -> &'static [T] { method sref_slice (line 109) | pub(crate) fn sref_slice(&self, v: T) -> &'static [&'static T] { method sref_str (line 115) | pub(crate) fn sref_str(&self, v: String) -> &'static str { type Allocation (line 24) | pub(crate) struct Allocation { method drop (line 36) | fn drop(&mut self) { FILE: parser/src/cfg/arbitrary_code.rs function parse_arbitrary_code (line 6) | pub(crate) fn parse_arbitrary_code( FILE: parser/src/cfg/caps_word.rs function parse_caps_word (line 5) | pub(crate) fn parse_caps_word( function parse_caps_word_custom (line 80) | pub(crate) fn parse_caps_word_custom( FILE: parser/src/cfg/chord.rs function parse_defchordv2 (line 11) | pub(crate) fn parse_defchordv2( function parse_single_chord (line 92) | fn parse_single_chord( function parse_participating_keys (line 118) | fn parse_participating_keys(keys: &SExpr, s: &ParserState) -> Result Result { function parse_release_behaviour (line 147) | fn parse_release_behaviour( function parse_disabled_layers (line 170) | fn parse_disabled_layers(disabled_layers: &SExpr, s: &ParserState) -> Re... function parse_chord_file (line 193) | fn parse_chord_file(file_name: &str) -> Result> { function parse_input (line 200) | fn parse_input(input: &str) -> Result> { type ChordDefinition (line 220) | struct ChordDefinition { type ChordTranslation (line 225) | struct ChordTranslation<'a> { function create (line 235) | fn create( function post_process (line 283) | fn post_process(&self, converted: &str) -> String { function participant_keys (line 296) | fn participant_keys(&self, keys: &str) -> Vec { function action (line 307) | fn action(&self, action: &str) -> Vec { function translate_chord (line 324) | fn translate_chord(&self, chord_def: &ChordDefinition) -> Vec { FILE: parser/src/cfg/chord_v1.rs type ChordGroup (line 11) | pub(crate) struct ChordGroup { function parse_chord (line 20) | pub(crate) fn parse_chord(ac_params: &[SExpr], s: &ParserState) -> Resul... function parse_chord_groups (line 57) | pub(crate) fn parse_chord_groups( function resolve_chord_groups (line 134) | pub(crate) fn resolve_chord_groups(layers: &mut IntermediateLayers, s: &... function find_chords_coords (line 179) | pub(crate) fn find_chords_coords( function fill_chords (line 234) | pub(crate) fn fill_chords( FILE: parser/src/cfg/clipboard.rs function parse_clipboard_set (line 7) | pub(crate) fn parse_clipboard_set( function parse_clipboard_save (line 28) | pub(crate) fn parse_clipboard_save( function parse_clipboard_restore (line 42) | pub(crate) fn parse_clipboard_restore( function parse_clipboard_save_swap (line 56) | pub(crate) fn parse_clipboard_save_swap( function parse_clipboard_save_set (line 72) | pub(crate) fn parse_clipboard_save_set( FILE: parser/src/cfg/cmd.rs type CmdType (line 6) | pub(crate) enum CmdType { function parse_cmd_log (line 20) | pub(crate) fn parse_cmd_log(ac_params: &[SExpr], s: &ParserState) -> Res... function parse_cmd (line 55) | pub(crate) fn parse_cmd( function collect_strings (line 112) | pub(crate) fn collect_strings(params: &[SExpr], strings: &mut Vec Hand { type DecisionBehavior (line 34) | pub(crate) enum DecisionBehavior { type CustomTapHoldFn (line 41) | pub(crate) type CustomTapHoldFn = function custom_tap_hold_release (line 47) | pub(crate) fn custom_tap_hold_release( function custom_tap_hold_release_trigger_tap_release (line 77) | pub(crate) fn custom_tap_hold_release_trigger_tap_release( function custom_tap_hold_except (line 128) | pub(crate) fn custom_tap_hold_except(keys: &[OsCode], a: &Allocations) -... function custom_tap_hold_tap_keys (line 152) | pub(crate) fn custom_tap_hold_tap_keys( function custom_tap_hold_opposite_hand (line 175) | pub(crate) fn custom_tap_hold_opposite_hand( FILE: parser/src/cfg/defcfg.rs type DeviceDetectMode (line 12) | pub enum DeviceDetectMode { method fmt (line 19) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type CfgLinuxOptions (line 26) | pub struct CfgLinuxOptions { method default (line 41) | fn default() -> Self { type LinuxCfgOutputBusType (line 61) | pub enum LinuxCfgOutputBusType { type CfgMacosOptions (line 69) | pub struct CfgMacosOptions { type CfgWinterceptOptions (line 79) | pub struct CfgWinterceptOptions { type CfgWindowsOptions (line 88) | pub struct CfgWindowsOptions { type CfgOptionsGui (line 95) | pub struct CfgOptionsGui { method default (line 119) | fn default() -> Self { type CfgOptions (line 136) | pub struct CfgOptions { method default (line 182) | fn default() -> Self { function parse_defcfg (line 231) | pub fn parse_defcfg(expr: &[SExpr]) -> Result { function parse_defcfg_val_string (line 933) | fn parse_defcfg_val_string(expr: &SExpr, _label: &str) -> Result Result { function parse_cfg_val_u16 (line 970) | fn parse_cfg_val_u16(expr: &SExpr, label: &str, exclude_zero: bool) -> R... function parse_colon_separated_text (line 992) | pub fn parse_colon_separated_text(paths: &str) -> Vec { function parse_dev (line 1017) | pub fn parse_dev(val: &SExpr) -> Result> { function sexpr_to_str_or_err (line 1051) | fn sexpr_to_str_or_err<'a>(expr: &'a SExpr, label: &str) -> Result<&'a s... function sexpr_to_list_or_err (line 1062) | fn sexpr_to_list_or_err<'a>(expr: &'a SExpr, label: &str) -> Result<&'a ... function sexpr_to_hwids_vec (line 1073) | fn sexpr_to_hwids_vec( type KeyRepeatSettings (line 1108) | pub struct KeyRepeatSettings { type UnicodeTermination (line 1115) | pub enum UnicodeTermination { type AltGrBehaviour (line 1124) | pub enum AltGrBehaviour { constant HWID_ARR_SZ (line 1136) | pub const HWID_ARR_SZ: usize = 1024; type ReplayDelayBehaviour (line 1139) | pub enum ReplayDelayBehaviour { FILE: parser/src/cfg/defhands.rs function parse_defhands (line 5) | pub(super) fn parse_defhands(expr: &[SExpr], s: &ParserState) -> Result<... function parse_tap_hold_opposite_hand (line 74) | pub(super) fn parse_tap_hold_opposite_hand( function parse_key_atoms (line 222) | fn parse_key_atoms(exprs: &[SExpr], s: &ParserState, label: &str) -> Res... function parse_decision_behavior (line 235) | fn parse_decision_behavior( function parse_decision_behavior_tap_hold (line 252) | fn parse_decision_behavior_tap_hold( FILE: parser/src/cfg/deflayer.rs type LayerIndexes (line 9) | pub(crate) type LayerIndexes = HashMap; constant DEFLAYER (line 11) | pub(crate) const DEFLAYER: &str = "deflayer"; constant DEFLAYER_MAPPED (line 12) | pub(crate) const DEFLAYER_MAPPED: &str = "deflayermap"; function parse_layer_indexes (line 18) | pub(crate) fn parse_layer_indexes( function parse_layers (line 122) | pub(crate) fn parse_layers( function parse_layer_base (line 262) | pub(crate) fn parse_layer_base( function parse_layer_toggle (line 271) | pub(crate) fn parse_layer_toggle( FILE: parser/src/cfg/deflocalkeys.rs constant DEF_LOCAL_KEYS (line 14) | pub(crate) const DEF_LOCAL_KEYS: &str = "deflocalkeys-win"; constant DEF_LOCAL_KEYS (line 21) | pub(crate) const DEF_LOCAL_KEYS: &str = "deflocalkeys-winiov2"; constant DEF_LOCAL_KEYS (line 23) | pub(crate) const DEF_LOCAL_KEYS: &str = "deflocalkeys-wintercept"; constant DEF_LOCAL_KEYS (line 25) | pub(crate) const DEF_LOCAL_KEYS: &str = "deflocalkeys-macos"; constant DEF_LOCAL_KEYS (line 27) | pub(crate) const DEF_LOCAL_KEYS: &str = "deflocalkeys-linux"; function deflocalkeys_variant_applies_to_current_os (line 29) | pub(crate) fn deflocalkeys_variant_applies_to_current_os(variant: &str) ... constant DEFLOCALKEYS_VARIANTS (line 33) | pub(crate) const DEFLOCALKEYS_VARIANTS: &[&str] = &[ function parse_deflocalkeys (line 42) | pub(crate) fn parse_deflocalkeys( FILE: parser/src/cfg/defsrc.rs function parse_defsrc (line 9) | pub(crate) fn parse_defsrc( function create_defsrc_layer (line 95) | pub(crate) fn create_defsrc_layer() -> [KanataAction; KEYS_IN_ROW] { FILE: parser/src/cfg/deftemplate.rs type Template (line 29) | struct Template { function expand_templates (line 46) | pub fn expand_templates( type Replacement (line 204) | struct Replacement { function expand (line 209) | fn expand(exprs: &mut Vec, templates: &[Template], _lsp_hints: &m... function visit_validate_all_atoms (line 335) | fn visit_validate_all_atoms( function visit_validate_all_atoms_peek_next (line 349) | fn visit_validate_all_atoms_peek_next( function visit_mut_all_atoms (line 362) | fn visit_mut_all_atoms(exprs: &mut [SExpr], visit: &mut dyn FnMut(&mut S... function visit_mut_all_lists (line 371) | fn visit_mut_all_lists(exprs: &mut [SExpr], visit: &mut dyn FnMut(&mut S... type ChangeOccurred (line 388) | type ChangeOccurred = bool; function evaluate_conditionals (line 390) | fn evaluate_conditionals(exprs: &mut Vec) -> Result Result>> { function if_not_equal_replacement (line 448) | fn if_not_equal_replacement(expr: &SExpr) -> Result>> { function if_in_list_replacement (line 452) | fn if_in_list_replacement(expr: &SExpr) -> Result>> { function if_not_in_list_replacement (line 456) | fn if_not_in_list_replacement(expr: &SExpr) -> Result>> { function strings_compare_replacement (line 460) | fn strings_compare_replacement(expr: &SExpr, operation: &str) -> Result<... function string_list_compare_replacement (line 507) | fn string_list_compare_replacement(expr: &SExpr, operation: &str) -> Res... FILE: parser/src/cfg/error.rs type MResult (line 12) | pub type MResult = miette::Result; type Result (line 13) | pub type Result = std::result::Result; type ParseError (line 16) | pub struct ParseError { method new (line 22) | pub fn new(span: Span, err_msg: impl AsRef) -> Self { method new_without_span (line 29) | pub fn new_without_span(err_msg: impl AsRef) -> Self { method from_expr (line 36) | pub fn from_expr(expr: &sexpr::SExpr, err_msg: impl AsRef) -> Self { method from_spanned (line 40) | pub fn from_spanned(spanned: &Spanned, err_msg: impl AsRef)... method from (line 46) | fn from(value: anyhow::Error) -> Self { function from (line 52) | fn from(val: ParseError) -> Self { type CfgError (line 76) | struct CfgError { function help (line 85) | pub(super) fn help(err_msg: impl AsRef) -> String { FILE: parser/src/cfg/fake_key.rs function set_virtual_key_reference_lsp_hint (line 6) | fn set_virtual_key_reference_lsp_hint(vk_name_expr: &SExpr, s: &ParserSt... function parse_fake_keys (line 21) | pub(crate) fn parse_fake_keys(exprs: &[&Vec], s: &mut ParserState... function parse_virtual_keys (line 63) | pub(crate) fn parse_virtual_keys(exprs: &[&Vec], s: &mut ParserSt... function parse_on_press_fake_key_op (line 107) | pub(crate) fn parse_on_press_fake_key_op( function parse_on_release_fake_key_op (line 118) | pub(crate) fn parse_on_release_fake_key_op( function parse_on_idle_fakekey (line 129) | pub(crate) fn parse_on_idle_fakekey( function parse_fake_key_op_coord_action (line 182) | fn parse_fake_key_op_coord_action( constant NORMAL_KEY_ROW (line 226) | pub const NORMAL_KEY_ROW: u8 = 0; constant FAKE_KEY_ROW (line 227) | pub const FAKE_KEY_ROW: u8 = 1; function get_fake_key_coords (line 229) | pub(crate) fn get_fake_key_coords>(y: T) -> (u8, u16) { function parse_fake_key_delay (line 234) | pub(crate) fn parse_fake_key_delay( function parse_on_release_fake_key_delay (line 241) | pub(crate) fn parse_on_release_fake_key_delay( function parse_delay (line 248) | fn parse_delay( function parse_vkey_coord (line 266) | pub(crate) fn parse_vkey_coord(param: &SExpr, s: &ParserState) -> Result... function parse_vkey_action (line 279) | fn parse_vkey_action(param: &SExpr, s: &ParserState) -> Result Res... function parse_on_physical_idle (line 351) | pub(crate) fn parse_on_physical_idle( function parse_hold_for_duration (line 373) | pub(crate) fn parse_hold_for_duration( FILE: parser/src/cfg/fork.rs function parse_fork (line 5) | pub(crate) fn parse_fork(ac_params: &[SExpr], s: &ParserState) -> Result... FILE: parser/src/cfg/is_a_button.rs function is_a_button (line 1) | pub(crate) fn is_a_button(osc: u16) -> bool { function mouse_inputs_most_care_about_are_considered_buttons (line 10) | fn mouse_inputs_most_care_about_are_considered_buttons() { function standard_keys_are_not_considered_buttons (line 32) | fn standard_keys_are_not_considered_buttons() { FILE: parser/src/cfg/key_outputs.rs type KeyOutputs (line 6) | pub type KeyOutputs = Vec>>; function create_key_outputs (line 9) | pub(crate) fn create_key_outputs( function add_chordsv2_output_for_key_pos (line 43) | pub(crate) fn add_chordsv2_output_for_key_pos( function add_key_output_from_action_to_key_pos (line 64) | pub(crate) fn add_key_output_from_action_to_key_pos( function add_kc_output (line 144) | pub(crate) fn add_kc_output( FILE: parser/src/cfg/key_override.rs type OverrideStates (line 16) | pub struct OverrideStates { method new (line 29) | pub fn new() -> Self { method cleanup (line 37) | fn cleanup(&mut self) { method update (line 43) | fn update(&mut self, osc: OsCode, overrides: &Overrides, active_layer:... method is_key_overridden (line 57) | fn is_key_overridden(&self, osc: OsCode) -> bool { method add_overrides (line 61) | fn add_overrides(&self, oscs: &mut Vec) { method removed_oscs (line 65) | pub fn removed_oscs(&self) -> impl Iterator + '_ { method default (line 23) | fn default() -> Self { type Overrides (line 72) | pub struct Overrides { method new (line 77) | pub fn new(overrides: &[Override]) -> Self { method override_keys (line 92) | pub fn override_keys( method output_non_mods_for_input_non_mod (line 109) | pub fn output_non_mods_for_input_non_mod(&self, in_osc: OsCode) -> Vec... method is_empty (line 119) | fn is_empty(&self) -> bool { method update_keys (line 123) | fn update_keys( type Override (line 156) | pub struct Override { method try_new (line 166) | pub fn try_new(in_oscs: &[OsCode], out_oscs: &[OsCode]) -> Result { method try_new_v2 (line 207) | pub fn try_new_v2( method get_mod_mask (line 219) | fn get_mod_mask(&self) -> u8 { method get_excluded_mod_mask (line 227) | fn get_excluded_mod_mask(&self) -> u8 { method add_override_keys (line 237) | fn add_override_keys(&self, oscs_to_add: &mut Vec) { method add_removed_keys (line 248) | fn add_removed_keys(&self, oscs_to_remove: &mut Vec) { function mask_for_key (line 260) | fn mask_for_key(osc: OsCode) -> Option { function mark_overridden_nonmodkeys_for_eager_erasure (line 278) | pub fn mark_overridden_nonmodkeys_for_eager_erasure( FILE: parser/src/cfg/layer_opts.rs constant DEFLAYER_ICON (line 4) | pub(crate) const DEFLAYER_ICON: [&str; 3] = ["icon", "🖻", "🖼"]; type LayerIcons (line 5) | pub(crate) type LayerIcons = HashMap>; function parse_layer_opts (line 7) | pub fn parse_layer_opts(list: &[SExpr]) -> Result bool { FILE: parser/src/cfg/live_reload.rs function parse_live_reload_num (line 6) | pub(crate) fn parse_live_reload_num( function parse_live_reload_file (line 22) | pub(crate) fn parse_live_reload_file( FILE: parser/src/cfg/macro.rs constant MACRO_ERR (line 7) | const MACRO_ERR: &str = "Action macro only accepts delays, keys, chords,... type RepeatMacro (line 9) | pub(crate) enum RepeatMacro { function parse_macro (line 14) | pub(crate) fn parse_macro( function parse_macro_release_cancel (line 49) | pub(crate) fn parse_macro_release_cancel( function parse_macro_cancel_on_next_press (line 61) | pub(crate) fn parse_macro_cancel_on_next_press( function parse_macro_cancel_on_next_press_cancel_on_release (line 81) | pub(crate) fn parse_macro_cancel_on_next_press_cancel_on_release( function macro_sequence_event_total_duration (line 102) | pub(crate) fn macro_sequence_event_total_duration(events: &[SequenceE... function parse_macro_record_stop_truncate (line 111) | pub(crate) fn parse_macro_record_stop_truncate( type MacroNumberParseMode (line 127) | pub(crate) enum MacroNumberParseMode { function parse_macro_item (line 133) | pub(crate) fn parse_macro_item<'a>( function parse_macro_item_impl (line 144) | pub(crate) fn parse_macro_item_impl<'a>( function parse_mods_held_for_submacro (line 260) | pub(crate) fn parse_mods_held_for_submacro<'a>( function parse_dynamic_macro_record (line 274) | pub(crate) fn parse_dynamic_macro_record( function parse_dynamic_macro_play (line 288) | pub(crate) fn parse_dynamic_macro_play( FILE: parser/src/cfg/mod.rs type HashSet (line 150) | type HashSet = rustc_hash::FxHashSet; type HashMap (line 151) | type HashMap = rustc_hash::FxHashMap; type FileContentProvider (line 228) | pub struct FileContentProvider<'a> { function new (line 236) | pub fn new( function get_file_content (line 243) | pub fn get_file_content(&mut self, filename: &Path) -> std::result::Resu... type KanataCustom (line 248) | pub type KanataCustom = &'static &'static [&'static CustomAction]; type KanataAction (line 249) | pub type KanataAction = Action<'static, KanataCustom>; type KLayout (line 250) | type KLayout = Layout<'static, KEYS_IN_ROW, 2, KanataCustom>; type TapHoldCustomFunc (line 252) | type TapHoldCustomFunc = fn(&[OsCode], &Allocations) -> &'static custom_... type BorrowedKLayout (line 254) | pub type BorrowedKLayout<'a> = Layout<'a, KEYS_IN_ROW, 2, &'a &'a [&'a C... type KeySeqsToFKeys (line 255) | pub type KeySeqsToFKeys = Trie<(u8, u16)>; type KanataLayout (line 257) | pub struct KanataLayout { method new (line 263) | fn new(layout: KLayout, a: Arc) -> Self { method bm (line 271) | pub fn bm(&mut self) -> &mut BorrowedKLayout<'_> { method b (line 277) | pub fn b(&self) -> &BorrowedKLayout<'_> { type Cfg (line 283) | pub struct Cfg { function new_from_file (line 310) | pub fn new_from_file(p: &Path) -> MResult { function new_from_str (line 314) | pub fn new_from_str(cfg_text: &str, file_content: HashMap; type LayerInfo (line 338) | pub struct LayerInfo { function parse_cfg (line 345) | fn parse_cfg(p: &Path) -> MResult { function populate_cfg_with_icfg (line 352) | fn populate_cfg_with_icfg(icfg: IntermediateCfg, s: ParserState) -> Cfg { type IntermediateCfg (line 396) | pub struct IntermediateCfg { type EnvVars (line 410) | pub type EnvVars = std::result::Result, String>; function parse_cfg_raw (line 413) | fn parse_cfg_raw(p: &Path, s: &mut ParserState) -> MResult>]) -> Re... function gen_first_atom_filter (line 1032) | fn gen_first_atom_filter(a: &str) -> impl Fn(&&Vec) -> bool { function gen_first_atom_start_filter_spanned (line 1049) | fn gen_first_atom_start_filter_spanned(a: &str) -> impl Fn(&&Spanned impl Fn(&&Spanned( type MouseInDefsrc (line 1098) | enum MouseInDefsrc { type Aliases (line 1103) | type Aliases = HashMap; type LayerExprs (line 1106) | enum LayerExprs { type SpannedLayerExprs (line 1112) | enum SpannedLayerExprs { type ParserContext (line 1118) | pub struct ParserContext { type ParserState (line 1124) | pub struct ParserState { method vars (line 1148) | fn vars(&self) -> Option<&HashMap> { method default (line 1154) | fn default() -> Self { function parse_aliases (line 1183) | fn parse_aliases( function handle_standard_defalias (line 1195) | fn handle_standard_defalias(expr: &[SExpr], s: &mut ParserState) -> Resu... function handle_envcond_defalias (line 1203) | fn handle_envcond_defalias( function read_alias_name_action_pairs (line 1282) | fn read_alias_name_action_pairs<'a>( function parse_action (line 1315) | fn parse_action(expr: &SExpr, s: &ParserState) -> Result<&'static Kanata... function custom (line 1332) | fn custom(ca: CustomAction, a: &Allocations) -> Result<&'static KanataAc... function parse_action_atom (line 1337) | fn parse_action_atom(ac_span: &Spanned, s: &ParserState) -> Resu... function parse_action_list (line 1493) | fn parse_action_list(ac: &[SExpr], s: &ParserState) -> Result<&'static K... function layer_idx (line 1651) | fn layer_idx(ac_params: &[SExpr], layers: &LayerIndexes, s: &ParserState... function parse_named_u8_param (line 1676) | fn parse_named_u8_param(name: &str, name_and_param: &SExpr, s: &ParserSt... function parse_u8_with_range (line 1698) | fn parse_u8_with_range(expr: &SExpr, s: &ParserState, label: &str, min: ... function parse_u16 (line 1709) | fn parse_u16(expr: &SExpr, s: &ParserState, label: &str) -> Result { function parse_f32 (line 1716) | fn parse_f32( function parse_non_zero_u16 (line 1742) | fn parse_non_zero_u16(expr: &SExpr, s: &ParserState, label: &str) -> Res... function parse_key_list (line 1752) | fn parse_key_list(expr: &SExpr, s: &ParserState, label: &str) -> Result<... function parse_mod_prefix (line 1810) | pub fn parse_mod_prefix(mods: &str) -> Result<(Vec, &str)> { FILE: parser/src/cfg/mouse.rs function parse_distance (line 6) | pub(crate) fn parse_distance(expr: &SExpr, s: &ParserState, label: &str)... function parse_mwheel (line 13) | pub(crate) fn parse_mwheel( function parse_mwheel_accel (line 34) | pub(crate) fn parse_mwheel_accel( function parse_move_mouse (line 66) | pub(crate) fn parse_move_mouse( function parse_move_mouse_accel (line 86) | pub(crate) fn parse_move_mouse_accel( function parse_move_mouse_speed (line 115) | pub(crate) fn parse_move_mouse_speed( function parse_set_mouse (line 131) | pub(crate) fn parse_set_mouse( FILE: parser/src/cfg/multi.rs function parse_multi (line 5) | pub(crate) fn parse_multi(ac_params: &[SExpr], s: &ParserState) -> Resul... FILE: parser/src/cfg/oneshot.rs function parse_one_shot (line 5) | pub(crate) fn parse_one_shot( function parse_one_shot_pause_processing (line 31) | pub(crate) fn parse_one_shot_pause_processing( FILE: parser/src/cfg/override.rs function parse_overrides (line 6) | pub(crate) fn parse_overrides(exprs: &[SExpr], s: &ParserState) -> Resul... function parse_override_inout_keys (line 24) | pub(crate) fn parse_override_inout_keys( function parse_overridesv2 (line 63) | pub(crate) fn parse_overridesv2(exprs: &[SExpr], s: &ParserState) -> Res... FILE: parser/src/cfg/permutations.rs function gen_permutations (line 28) | pub fn gen_permutations(a: &[T]) -> Vec> { function heaps_alg (line 36) | fn heaps_alg(k: usize, a: &mut [T], outs: &mut Vec>) { FILE: parser/src/cfg/platform.rs function filter_platform_specific_cfg (line 8) | pub(crate) fn filter_platform_specific_cfg( function filter_env_specific_cfg (line 79) | pub(crate) fn filter_env_specific_cfg( FILE: parser/src/cfg/push_msg.rs function parse_push_message (line 5) | pub(crate) fn parse_push_message( function to_simple_expr (line 18) | pub(crate) fn to_simple_expr(params: &[SExpr], s: &ParserState) -> Vec usize { function parse_tap_hold (line 92) | pub(crate) fn parse_tap_hold( function parse_tap_hold_timeout (line 127) | pub(crate) fn parse_tap_hold_timeout( function parse_tap_hold_order (line 191) | pub(crate) fn parse_tap_hold_order( function parse_tap_hold_keys (line 225) | pub(crate) fn parse_tap_hold_keys( function parse_tap_hold_keys_trigger_tap_release (line 263) | pub(crate) fn parse_tap_hold_keys_trigger_tap_release( FILE: parser/src/cfg/tests.rs function init_log (line 17) | fn init_log() { function lock (line 39) | fn lock(lk: &Mutex) -> MutexGuard<'_, T> { function parse_cfg (line 46) | fn parse_cfg(cfg: &str) -> Result { function sizeof_action_is_two_usizes (line 73) | fn sizeof_action_is_two_usizes() { function test_span_absolute_ranges (line 81) | fn test_span_absolute_ranges() { function span_works_with_unicode_characters (line 95) | fn span_works_with_unicode_characters() { function test_multiline_error_span (line 127) | fn test_multiline_error_span() { function test_span_of_an_unterminated_block_comment_error (line 161) | fn test_span_of_an_unterminated_block_comment_error() { function parse_action_vars (line 189) | fn parse_action_vars() { function parse_multiline_comment (line 304) | fn parse_multiline_comment() { function parse_all_keys (line 313) | fn parse_all_keys() { function parse_file_with_utf8_bom (line 326) | fn parse_file_with_utf8_bom() { function parse_zippychord_file (line 333) | fn parse_zippychord_file() { function disallow_nested_tap_hold (line 339) | fn disallow_nested_tap_hold() { function disallow_ancestor_seq (line 350) | fn disallow_ancestor_seq() { function disallow_descendent_seq (line 361) | fn disallow_descendent_seq() { function disallow_multiple_waiting_actions (line 372) | fn disallow_multiple_waiting_actions() { function chord_in_macro_dont_panic (line 383) | fn chord_in_macro_dont_panic() { function unknown_defcfg_item_fails (line 393) | fn unknown_defcfg_item_fails() { function recursive_multi_is_flattened (line 403) | fn recursive_multi_is_flattened() { function test_parse_sequence_a_b (line 447) | fn test_parse_sequence_a_b() { function test_parse_sequence_sa_b (line 459) | fn test_parse_sequence_sa_b() { function test_parse_sequence_sab (line 472) | fn test_parse_sequence_sab() { function test_parse_sequence_bigchord (line 485) | fn test_parse_sequence_bigchord() { function test_parse_sequence_inner_chord (line 503) | fn test_parse_sequence_inner_chord() { function test_parse_sequence_earlier_inner_chord (line 519) | fn test_parse_sequence_earlier_inner_chord() { function test_parse_sequence_numbers (line 535) | fn test_parse_sequence_numbers() { function test_parse_macro_numbers (line 555) | fn test_parse_macro_numbers() { function test_include_good (line 579) | fn test_include_good() { function test_include_bad_has_filename_included (line 585) | fn test_include_bad_has_filename_included() { function test_include_bad2_has_original_filename (line 605) | fn test_include_bad2_has_original_filename() { function test_include_ignore_optional_filename (line 628) | fn test_include_ignore_optional_filename() { function parse_bad_submacro (line 637) | fn parse_bad_submacro() { function parse_bad_submacro_2 (line 666) | fn parse_bad_submacro_2() { function parse_nested_macro (line 695) | fn parse_nested_macro() { function parse_switch (line 710) | fn parse_switch() { function parse_switch_exceed_depth (line 863) | fn parse_switch_exceed_depth() { function parse_virtualkeys (line 893) | fn parse_virtualkeys() { function parse_on_idle_fakekey (line 979) | fn parse_on_idle_fakekey() { function parse_on_idle_fakekey_errors (line 1015) | fn parse_on_idle_fakekey_errors() { function parse_fake_keys_errors_on_too_many (line 1120) | fn parse_fake_keys_errors_on_too_many() { function parse_deflocalkeys_overridden (line 1154) | fn parse_deflocalkeys_overridden() { function use_default_overridable_mappings (line 1260) | fn use_default_overridable_mappings() { function list_action_not_in_list_error_message_is_good (line 1271) | fn list_action_not_in_list_error_message_is_good() { function parse_device_paths (line 1301) | fn parse_device_paths() { function test_parse_dev (line 1311) | fn test_parse_dev() { function parse_all_defcfg (line 1380) | fn parse_all_defcfg() { function parse_defcfg_linux_output_bus (line 1430) | fn parse_defcfg_linux_output_bus() { function parse_unmod (line 1460) | fn parse_unmod() { function using_parentheses_in_deflayer_directly_fails_with_custom_message (line 1477) | fn using_parentheses_in_deflayer_directly_fails_with_custom_message() { function using_escaped_parentheses_in_deflayer_fails_with_custom_message (line 1502) | fn using_escaped_parentheses_in_deflayer_fails_with_custom_message() { function parse_cmd (line 1528) | fn parse_cmd() { function parse_cmd_log (line 1553) | fn parse_cmd_log() { function parse_defvar_concat (line 1576) | fn parse_defvar_concat() { function parse_template_1 (line 1647) | fn parse_template_1() { function parse_template_2 (line 1675) | fn parse_template_2() { function parse_template_3 (line 1713) | fn parse_template_3() { function parse_template_4 (line 1744) | fn parse_template_4() { function parse_template_5 (line 1767) | fn parse_template_5() { function parse_template_6 (line 1790) | fn parse_template_6() { function parse_template_7 (line 1813) | fn parse_template_7() { function parse_template_8 (line 1836) | fn parse_template_8() { function test_deflayermap (line 1874) | fn test_deflayermap() { function test_defaliasenvcond (line 1895) | fn test_defaliasenvcond() { function parse_platform_specific (line 1960) | fn parse_platform_specific() { function parse_defseq_overlap_limits (line 2007) | fn parse_defseq_overlap_limits() { function parse_defseq_overlap_too_many (line 2021) | fn parse_defseq_overlap_too_many() { function parse_layer_opts_icon (line 2034) | fn parse_layer_opts_icon() { function disallow_dupe_layer_opts_icon_layernonmap (line 2040) | fn disallow_dupe_layer_opts_icon_layernonmap() { function disallow_dupe_layer_opts_icon_layermap (line 2048) | fn disallow_dupe_layer_opts_icon_layermap() { function layer_name_allows_var (line 2058) | fn layer_name_allows_var() { function disallow_whitespace_in_tooltip_size (line 2077) | fn disallow_whitespace_in_tooltip_size() { function reverse_release_order_must_be_within_multi (line 2089) | fn reverse_release_order_must_be_within_multi() { function parse_clipboard_actions (line 2102) | fn parse_clipboard_actions() { FILE: parser/src/cfg/tests/ambiguous.rs function parse_double_dollar_var (line 4) | fn parse_double_dollar_var() { function parse_double_at_alias (line 20) | fn parse_double_at_alias() { FILE: parser/src/cfg/tests/defcfg.rs function disallow_same_key_in_defsrc_unmapped_except (line 4) | fn disallow_same_key_in_defsrc_unmapped_except() { function unmapped_except_keys_cannot_have_dupes (line 17) | fn unmapped_except_keys_cannot_have_dupes() { function unmapped_except_keys_must_be_known (line 30) | fn unmapped_except_keys_must_be_known() { function unmapped_except_keys_respects_deflocalkeys (line 43) | fn unmapped_except_keys_respects_deflocalkeys() { function unmapped_except_keys_is_removed_from_mapping (line 77) | fn unmapped_except_keys_is_removed_from_mapping() { function non_applicable_os_deflocalkeys_always_succeeds_parsing (line 114) | fn non_applicable_os_deflocalkeys_always_succeeds_parsing() { function tap_hold_require_prior_idle_parses_valid_value (line 126) | fn tap_hold_require_prior_idle_parses_valid_value() { function tap_hold_require_prior_idle_allows_zero (line 139) | fn tap_hold_require_prior_idle_allows_zero() { function tap_hold_require_prior_idle_rejects_non_numeric (line 152) | fn tap_hold_require_prior_idle_rejects_non_numeric() { function per_action_require_prior_idle_parses (line 165) | fn per_action_require_prior_idle_parses() { function per_action_require_prior_idle_zero_parses (line 177) | fn per_action_require_prior_idle_zero_parses() { function per_action_require_prior_idle_rejects_non_numeric (line 189) | fn per_action_require_prior_idle_rejects_non_numeric() { function per_action_require_prior_idle_rejects_unknown_option (line 199) | fn per_action_require_prior_idle_rejects_unknown_option() { function per_action_require_prior_idle_rejects_duplicate (line 209) | fn per_action_require_prior_idle_rejects_duplicate() { function per_action_require_prior_idle_on_tap_hold_press (line 219) | fn per_action_require_prior_idle_on_tap_hold_press() { function per_action_require_prior_idle_on_tap_hold_release (line 231) | fn per_action_require_prior_idle_on_tap_hold_release() { function per_action_require_prior_idle_on_tap_hold_release_timeout (line 243) | fn per_action_require_prior_idle_on_tap_hold_release_timeout() { function per_action_require_prior_idle_on_tap_hold_press_timeout (line 255) | fn per_action_require_prior_idle_on_tap_hold_press_timeout() { function per_action_require_prior_idle_on_tap_hold_release_keys (line 267) | fn per_action_require_prior_idle_on_tap_hold_release_keys() { function per_action_require_prior_idle_on_tap_hold_except_keys (line 279) | fn per_action_require_prior_idle_on_tap_hold_except_keys() { function per_action_require_prior_idle_on_tap_hold_opposite_hand (line 291) | fn per_action_require_prior_idle_on_tap_hold_opposite_hand() { function per_action_require_prior_idle_on_tap_hold_release_tap_keys_release (line 304) | fn per_action_require_prior_idle_on_tap_hold_release_tap_keys_release() { FILE: parser/src/cfg/tests/defhands.rs function opposite_hand_no_args (line 4) | fn opposite_hand_no_args() { function opposite_hand_one_arg (line 16) | fn opposite_hand_one_arg() { function opposite_hand_two_args (line 28) | fn opposite_hand_two_args() { function defhands_missing_for_opposite_hand (line 40) | fn defhands_missing_for_opposite_hand() { function defhands_duplicate_blocks (line 51) | fn defhands_duplicate_blocks() { function defhands_key_in_both_groups (line 64) | fn defhands_key_in_both_groups() { function defhands_duplicate_group_name (line 76) | fn defhands_duplicate_group_name() { function defhands_invalid_group_name (line 88) | fn defhands_invalid_group_name() { function opposite_hand_unknown_option (line 100) | fn opposite_hand_unknown_option() { function opposite_hand_trailing_keyword (line 112) | fn opposite_hand_trailing_keyword() { function opposite_hand_invalid_behavior (line 124) | fn opposite_hand_invalid_behavior() { function opposite_hand_duplicate_option (line 136) | fn opposite_hand_duplicate_option() { function defhands_valid_partial (line 148) | fn defhands_valid_partial() { FILE: parser/src/cfg/tests/device_detect.rs function linux_device_parses_properly (line 6) | fn linux_device_parses_properly() { FILE: parser/src/cfg/tests/environment.rs function parse_cfg_env (line 3) | fn parse_cfg_env(cfg: &str, env_vars: Vec<(String, String)>) -> Result Res... FILE: parser/src/cfg/unmod.rs function parse_unmod (line 7) | pub(crate) fn parse_unmod( FILE: parser/src/cfg/vars.rs function parse_vars (line 5) | pub(crate) fn parse_vars( function parse_list_var (line 38) | pub(crate) fn parse_list_var(expr: &Spanned>, vars: &HashMap<... function push_all_atoms (line 57) | pub(crate) fn push_all_atoms(exprs: &[SExpr], vars: &HashMap bool { type ZchConfig (line 41) | pub struct ZchConfig(); function parse_zippy_inner (line 43) | fn parse_zippy_inner( function parse_zippy (line 54) | pub(crate) fn parse_zippy( type ZchPossibleChords (line 75) | pub struct ZchPossibleChords(pub SubsetMap>); method is_empty (line 77) | pub fn is_empty(&self) -> bool { type ZchInputKeys (line 87) | pub struct ZchInputKeys { method zchik_new (line 91) | pub fn zchik_new() -> Self { method zchik_contains (line 98) | pub fn zchik_contains(&self, osc: OsCode) -> bool { method zchik_insert (line 101) | pub fn zchik_insert(&mut self, osc: OsCode) { method zchik_remove (line 104) | pub fn zchik_remove(&mut self, osc: OsCode) { method zchik_len (line 107) | pub fn zchik_len(&self) -> usize { method zchik_clear (line 110) | pub fn zchik_clear(&mut self) { method zchik_keys (line 113) | pub fn zchik_keys(&self) -> &[u16] { method zchik_is_empty (line 116) | pub fn zchik_is_empty(&self) -> bool { type ZchSortedChord (line 124) | pub struct ZchSortedChord { method zch_insert (line 128) | pub fn zch_insert(&mut self, key: u16) { type ZchChordOutput (line 150) | pub struct ZchChordOutput { type ZchOutput (line 159) | pub enum ZchOutput { method osc (line 171) | pub fn osc(self) -> OsCode { method osc_and_is_noerase (line 184) | pub fn osc_and_is_noerase(self) -> (OsCode, bool) { method display_len (line 194) | pub fn display_len(outs: impl AsRef<[Self]>) -> i16 { method output_char_count (line 200) | pub fn output_char_count(self) -> i16 { type ZchSmartSpaceCfg (line 215) | pub enum ZchSmartSpaceCfg { type ZchConfig (line 222) | pub struct ZchConfig { method default (line 253) | fn default() -> Self { constant NO_ERASE (line 270) | const NO_ERASE: &str = "no-erase"; constant SINGLE_OUTPUT_MULTI_KEY (line 271) | const SINGLE_OUTPUT_MULTI_KEY: &str = "single-output"; type ZchIoMappingType (line 273) | enum ZchIoMappingType { method try_parse (line 278) | fn try_parse(expr: &SExpr, vars: Option<&HashMap>) -> R... function parse_zippy_inner (line 296) | pub(super) fn parse_zippy_inner( function parse_single_zippy_output_mapping (line 736) | fn parse_single_zippy_output_mapping( FILE: parser/src/custom_action.rs type CustomAction (line 13) | pub enum CustomAction { type Btn (line 104) | pub enum Btn { method fmt (line 113) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Coord (line 125) | pub struct Coord { type FakeKeyAction (line 131) | pub enum FakeKeyAction { type FakeKeyOnIdle (line 140) | pub struct FakeKeyOnIdle { type FakeKeyHoldForDuration (line 149) | pub struct FakeKeyHoldForDuration { type MWheelDirection (line 155) | pub enum MWheelDirection { method fmt (line 162) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Error (line 173) | type Error = (); method try_from (line 174) | fn try_from(value: OsCode) -> Result { type MWheelInertial (line 187) | pub struct MWheelInertial { type MoveDirection (line 195) | pub enum MoveDirection { method fmt (line 202) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type CapsWordCfg (line 213) | pub struct CapsWordCfg { type CapsWordRepressBehaviour (line 221) | pub enum CapsWordRepressBehaviour { type SequenceInputMode (line 237) | pub enum SequenceInputMode { method try_from_str (line 248) | pub fn try_from_str(s: &str) -> Result { method err_msg (line 257) | pub fn err_msg() -> String { constant SEQ_VISIBLE_BACKSPACED (line 243) | const SEQ_VISIBLE_BACKSPACED: &str = "visible-backspaced"; constant SEQ_HIDDEN_SUPPRESSED (line 244) | const SEQ_HIDDEN_SUPPRESSED: &str = "hidden-suppressed"; constant SEQ_HIDDEN_DELAY_TYPE (line 245) | const SEQ_HIDDEN_DELAY_TYPE: &str = "hidden-delay-type"; constant LOG_LEVEL_DEBUG (line 264) | const LOG_LEVEL_DEBUG: &str = "debug"; constant LOG_LEVEL_INFO (line 265) | const LOG_LEVEL_INFO: &str = "info"; constant LOG_LEVEL_WARN (line 266) | const LOG_LEVEL_WARN: &str = "warn"; constant LOG_LEVEL_ERROR (line 267) | const LOG_LEVEL_ERROR: &str = "error"; constant LOG_LEVEL_NONE (line 268) | const LOG_LEVEL_NONE: &str = "none"; type LogLevel (line 271) | pub enum LogLevel { method try_from_str (line 281) | pub fn try_from_str(s: &str) -> Result { method get_level (line 292) | pub fn get_level(&self) -> Option { method err_msg (line 302) | pub fn err_msg() -> String { type UnmodMods (line 310) | pub struct UnmodMods(u8); FILE: parser/src/keys/linux.rs method as_u16_linux (line 6) | pub(super) const fn as_u16_linux(self) -> u16 { method from_u16_linux (line 9) | pub(super) const fn from_u16_linux(code: u16) -> Option { method from (line 768) | fn from(btn: Btn) -> Self { FILE: parser/src/keys/macos.rs type PageCode (line 5) | pub struct PageCode { type Error (line 11) | type Error = &'static str; method try_from (line 12) | fn try_from(item: OsCode) -> Result { type Error (line 694) | type Error = &'static str; method try_from (line 695) | fn try_from(item: PageCode) -> Result { method as_u16_macos (line 1339) | pub(super) const fn as_u16_macos(self) -> u16 { method from_u16_macos (line 1342) | pub(super) const fn from_u16_macos(code: u16) -> Option { FILE: parser/src/keys/mappings.rs method from (line 5) | fn from(item: KeyCode) -> Self { method from (line 11) | fn from(item: OsCode) -> KeyCode { function roundtrip_oscode_keycode (line 17) | fn roundtrip_oscode_keycode() { FILE: parser/src/keys/mod.rs type Platform (line 24) | pub enum Platform { function replace_custom_str_oscode_mapping (line 118) | pub fn replace_custom_str_oscode_mapping(mapping: &HashMap) { function str_to_oscode (line 172) | pub fn str_to_oscode(s: &str) -> Option { type OsCode (line 398) | pub enum OsCode { method as_u16 (line 34) | pub fn as_u16(self) -> u16 { method from_u16 (line 52) | pub fn from_u16(code: u16) -> Option { method is_modifier (line 70) | pub fn is_modifier(self) -> bool { method is_zippy_ignored (line 85) | pub fn is_zippy_ignored(self) -> bool { method is_mouse_code (line 1177) | pub fn is_mouse_code(&self) -> bool { method fmt (line 1196) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Error (line 1212) | type Error = (); method try_from (line 1213) | fn try_from(item: usize) -> Result { method from (line 1222) | fn from(item: u32) -> Self { method from (line 1228) | fn from(item: u16) -> Self { method from (line 1263) | fn from(item: &KeyCode) -> Self { function parser_key_max_lt_keyberon_key_max (line 1207) | fn parser_key_max_lt_keyberon_key_max() { function from (line 1234) | fn from(item: OsCode) -> Self { function from (line 1240) | fn from(item: OsCode) -> Self { function from (line 1246) | fn from(item: OsCode) -> Self { function from (line 1252) | fn from(item: OsCode) -> Self { method from (line 1258) | fn from(item: &OsCode) -> KeyCode { FILE: parser/src/keys/windows.rs type VirtualKey (line 15) | pub type VirtualKey = u16; constant VK_KPENTER_FAKE (line 16) | pub const VK_KPENTER_FAKE: VirtualKey = 232u16; constant VK_0 (line 17) | pub const VK_0: VirtualKey = 48u16; constant VK_1 (line 18) | pub const VK_1: VirtualKey = 49u16; constant VK_2 (line 19) | pub const VK_2: VirtualKey = 50u16; constant VK_3 (line 20) | pub const VK_3: VirtualKey = 51u16; constant VK_4 (line 21) | pub const VK_4: VirtualKey = 52u16; constant VK_5 (line 22) | pub const VK_5: VirtualKey = 53u16; constant VK_6 (line 23) | pub const VK_6: VirtualKey = 54u16; constant VK_7 (line 24) | pub const VK_7: VirtualKey = 55u16; constant VK_8 (line 25) | pub const VK_8: VirtualKey = 56u16; constant VK_9 (line 26) | pub const VK_9: VirtualKey = 57u16; constant VK_A (line 27) | pub const VK_A: VirtualKey = 65u16; constant VK_ABNT_C1 (line 28) | pub const VK_ABNT_C1: VirtualKey = 193u16; constant VK_ABNT_C2 (line 29) | pub const VK_ABNT_C2: VirtualKey = 194u16; constant VK_ACCEPT (line 30) | pub const VK_ACCEPT: VirtualKey = 30u16; constant VK_ADD (line 31) | pub const VK_ADD: VirtualKey = 107u16; constant VK_APPS (line 32) | pub const VK_APPS: VirtualKey = 93u16; constant VK_ATTN (line 33) | pub const VK_ATTN: VirtualKey = 246u16; constant VK_B (line 34) | pub const VK_B: VirtualKey = 66u16; constant VK_BACK (line 35) | pub const VK_BACK: VirtualKey = 8u16; constant VK_BROWSER_BACK (line 36) | pub const VK_BROWSER_BACK: VirtualKey = 166u16; constant VK_BROWSER_FAVORITES (line 37) | pub const VK_BROWSER_FAVORITES: VirtualKey = 171u16; constant VK_BROWSER_FORWARD (line 38) | pub const VK_BROWSER_FORWARD: VirtualKey = 167u16; constant VK_BROWSER_HOME (line 39) | pub const VK_BROWSER_HOME: VirtualKey = 172u16; constant VK_BROWSER_REFRESH (line 40) | pub const VK_BROWSER_REFRESH: VirtualKey = 168u16; constant VK_BROWSER_SEARCH (line 41) | pub const VK_BROWSER_SEARCH: VirtualKey = 170u16; constant VK_BROWSER_STOP (line 42) | pub const VK_BROWSER_STOP: VirtualKey = 169u16; constant VK_C (line 43) | pub const VK_C: VirtualKey = 67u16; constant VK_CANCEL (line 44) | pub const VK_CANCEL: VirtualKey = 3u16; constant VK_CAPITAL (line 45) | pub const VK_CAPITAL: VirtualKey = 20u16; constant VK_CLEAR (line 46) | pub const VK_CLEAR: VirtualKey = 12u16; constant VK_CONTROL (line 47) | pub const VK_CONTROL: VirtualKey = 17u16; constant VK_CONVERT (line 48) | pub const VK_CONVERT: VirtualKey = 28u16; constant VK_CRSEL (line 49) | pub const VK_CRSEL: VirtualKey = 247u16; constant VK_D (line 50) | pub const VK_D: VirtualKey = 68u16; constant VK_DBE_ALPHANUMERIC (line 51) | pub const VK_DBE_ALPHANUMERIC: VirtualKey = 240u16; constant VK_DBE_CODEINPUT (line 52) | pub const VK_DBE_CODEINPUT: VirtualKey = 250u16; constant VK_DBE_DBCSCHAR (line 53) | pub const VK_DBE_DBCSCHAR: VirtualKey = 244u16; constant VK_DBE_DETERMINESTRING (line 54) | pub const VK_DBE_DETERMINESTRING: VirtualKey = 252u16; constant VK_DBE_ENTERDLGCONVERSIONMODE (line 55) | pub const VK_DBE_ENTERDLGCONVERSIONMODE: VirtualKey = 253u16; constant VK_DBE_ENTERIMECONFIGMODE (line 56) | pub const VK_DBE_ENTERIMECONFIGMODE: VirtualKey = 248u16; constant VK_DBE_ENTERWORDREGISTERMODE (line 57) | pub const VK_DBE_ENTERWORDREGISTERMODE: VirtualKey = 247u16; constant VK_DBE_FLUSHSTRING (line 58) | pub const VK_DBE_FLUSHSTRING: VirtualKey = 249u16; constant VK_DBE_HIRAGANA (line 59) | pub const VK_DBE_HIRAGANA: VirtualKey = 242u16; constant VK_DBE_KATAKANA (line 60) | pub const VK_DBE_KATAKANA: VirtualKey = 241u16; constant VK_DBE_NOCODEINPUT (line 61) | pub const VK_DBE_NOCODEINPUT: VirtualKey = 251u16; constant VK_DBE_NOROMAN (line 62) | pub const VK_DBE_NOROMAN: VirtualKey = 246u16; constant VK_DBE_ROMAN (line 63) | pub const VK_DBE_ROMAN: VirtualKey = 245u16; constant VK_DBE_SBCSCHAR (line 64) | pub const VK_DBE_SBCSCHAR: VirtualKey = 243u16; constant VK_DECIMAL (line 65) | pub const VK_DECIMAL: VirtualKey = 110u16; constant VK_DELETE (line 66) | pub const VK_DELETE: VirtualKey = 46u16; constant VK_DIVIDE (line 67) | pub const VK_DIVIDE: VirtualKey = 111u16; constant VK_DOWN (line 68) | pub const VK_DOWN: VirtualKey = 40u16; constant VK_E (line 69) | pub const VK_E: VirtualKey = 69u16; constant VK_END (line 70) | pub const VK_END: VirtualKey = 35u16; constant VK_EREOF (line 71) | pub const VK_EREOF: VirtualKey = 249u16; constant VK_ESCAPE (line 72) | pub const VK_ESCAPE: VirtualKey = 27u16; constant VK_EXECUTE (line 73) | pub const VK_EXECUTE: VirtualKey = 43u16; constant VK_EXSEL (line 74) | pub const VK_EXSEL: VirtualKey = 248u16; constant VK_F (line 75) | pub const VK_F: VirtualKey = 70u16; constant VK_F1 (line 76) | pub const VK_F1: VirtualKey = 112u16; constant VK_F10 (line 77) | pub const VK_F10: VirtualKey = 121u16; constant VK_F11 (line 78) | pub const VK_F11: VirtualKey = 122u16; constant VK_F12 (line 79) | pub const VK_F12: VirtualKey = 123u16; constant VK_F13 (line 80) | pub const VK_F13: VirtualKey = 124u16; constant VK_F14 (line 81) | pub const VK_F14: VirtualKey = 125u16; constant VK_F15 (line 82) | pub const VK_F15: VirtualKey = 126u16; constant VK_F16 (line 83) | pub const VK_F16: VirtualKey = 127u16; constant VK_F17 (line 84) | pub const VK_F17: VirtualKey = 128u16; constant VK_F18 (line 85) | pub const VK_F18: VirtualKey = 129u16; constant VK_F19 (line 86) | pub const VK_F19: VirtualKey = 130u16; constant VK_F2 (line 87) | pub const VK_F2: VirtualKey = 113u16; constant VK_F20 (line 88) | pub const VK_F20: VirtualKey = 131u16; constant VK_F21 (line 89) | pub const VK_F21: VirtualKey = 132u16; constant VK_F22 (line 90) | pub const VK_F22: VirtualKey = 133u16; constant VK_F23 (line 91) | pub const VK_F23: VirtualKey = 134u16; constant VK_F24 (line 92) | pub const VK_F24: VirtualKey = 135u16; constant VK_F3 (line 93) | pub const VK_F3: VirtualKey = 114u16; constant VK_F4 (line 94) | pub const VK_F4: VirtualKey = 115u16; constant VK_F5 (line 95) | pub const VK_F5: VirtualKey = 116u16; constant VK_F6 (line 96) | pub const VK_F6: VirtualKey = 117u16; constant VK_F7 (line 97) | pub const VK_F7: VirtualKey = 118u16; constant VK_F8 (line 98) | pub const VK_F8: VirtualKey = 119u16; constant VK_F9 (line 99) | pub const VK_F9: VirtualKey = 120u16; constant VK_FINAL (line 100) | pub const VK_FINAL: VirtualKey = 24u16; constant VK_G (line 101) | pub const VK_G: VirtualKey = 71u16; constant VK_GAMEPAD_A (line 102) | pub const VK_GAMEPAD_A: VirtualKey = 195u16; constant VK_GAMEPAD_B (line 103) | pub const VK_GAMEPAD_B: VirtualKey = 196u16; constant VK_GAMEPAD_DPAD_DOWN (line 104) | pub const VK_GAMEPAD_DPAD_DOWN: VirtualKey = 204u16; constant VK_GAMEPAD_DPAD_LEFT (line 105) | pub const VK_GAMEPAD_DPAD_LEFT: VirtualKey = 205u16; constant VK_GAMEPAD_DPAD_RIGHT (line 106) | pub const VK_GAMEPAD_DPAD_RIGHT: VirtualKey = 206u16; constant VK_GAMEPAD_DPAD_UP (line 107) | pub const VK_GAMEPAD_DPAD_UP: VirtualKey = 203u16; constant VK_GAMEPAD_LEFT_SHOULDER (line 108) | pub const VK_GAMEPAD_LEFT_SHOULDER: VirtualKey = 200u16; constant VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON (line 109) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: VirtualKey = 209u16; constant VK_GAMEPAD_LEFT_THUMBSTICK_DOWN (line 110) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: VirtualKey = 212u16; constant VK_GAMEPAD_LEFT_THUMBSTICK_LEFT (line 111) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: VirtualKey = 214u16; constant VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT (line 112) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: VirtualKey = 213u16; constant VK_GAMEPAD_LEFT_THUMBSTICK_UP (line 113) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: VirtualKey = 211u16; constant VK_GAMEPAD_LEFT_TRIGGER (line 114) | pub const VK_GAMEPAD_LEFT_TRIGGER: VirtualKey = 201u16; constant VK_GAMEPAD_MENU (line 115) | pub const VK_GAMEPAD_MENU: VirtualKey = 207u16; constant VK_GAMEPAD_RIGHT_SHOULDER (line 116) | pub const VK_GAMEPAD_RIGHT_SHOULDER: VirtualKey = 199u16; constant VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON (line 117) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: VirtualKey = 210u16; constant VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN (line 118) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: VirtualKey = 216u16; constant VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT (line 119) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: VirtualKey = 218u16; constant VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT (line 120) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: VirtualKey = 217u16; constant VK_GAMEPAD_RIGHT_THUMBSTICK_UP (line 121) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: VirtualKey = 215u16; constant VK_GAMEPAD_RIGHT_TRIGGER (line 122) | pub const VK_GAMEPAD_RIGHT_TRIGGER: VirtualKey = 202u16; constant VK_GAMEPAD_VIEW (line 123) | pub const VK_GAMEPAD_VIEW: VirtualKey = 208u16; constant VK_GAMEPAD_X (line 124) | pub const VK_GAMEPAD_X: VirtualKey = 197u16; constant VK_GAMEPAD_Y (line 125) | pub const VK_GAMEPAD_Y: VirtualKey = 198u16; constant VK_H (line 126) | pub const VK_H: VirtualKey = 72u16; constant VK_HANGEUL (line 127) | pub const VK_HANGEUL: VirtualKey = 21u16; constant VK_HANGUL (line 128) | pub const VK_HANGUL: VirtualKey = 21u16; constant VK_HANJA (line 129) | pub const VK_HANJA: VirtualKey = 25u16; constant VK_HELP (line 130) | pub const VK_HELP: VirtualKey = 47u16; constant VK_HOME (line 131) | pub const VK_HOME: VirtualKey = 36u16; constant VK_I (line 132) | pub const VK_I: VirtualKey = 73u16; constant VK_ICO_00 (line 133) | pub const VK_ICO_00: VirtualKey = 228u16; constant VK_ICO_CLEAR (line 134) | pub const VK_ICO_CLEAR: VirtualKey = 230u16; constant VK_ICO_HELP (line 135) | pub const VK_ICO_HELP: VirtualKey = 227u16; constant VK_IME_OFF (line 136) | pub const VK_IME_OFF: VirtualKey = 26u16; constant VK_IME_ON (line 137) | pub const VK_IME_ON: VirtualKey = 22u16; constant VK_INSERT (line 138) | pub const VK_INSERT: VirtualKey = 45u16; constant VK_J (line 139) | pub const VK_J: VirtualKey = 74u16; constant VK_JUNJA (line 140) | pub const VK_JUNJA: VirtualKey = 23u16; constant VK_K (line 141) | pub const VK_K: VirtualKey = 75u16; constant VK_KANA (line 142) | pub const VK_KANA: VirtualKey = 21u16; constant VK_KANJI (line 143) | pub const VK_KANJI: VirtualKey = 25u16; constant VK_L (line 144) | pub const VK_L: VirtualKey = 76u16; constant VK_LAUNCH_APP1 (line 145) | pub const VK_LAUNCH_APP1: VirtualKey = 182u16; constant VK_LAUNCH_APP2 (line 146) | pub const VK_LAUNCH_APP2: VirtualKey = 183u16; constant VK_LAUNCH_MAIL (line 147) | pub const VK_LAUNCH_MAIL: VirtualKey = 180u16; constant VK_LAUNCH_MEDIA_SELECT (line 148) | pub const VK_LAUNCH_MEDIA_SELECT: VirtualKey = 181u16; constant VK_LBUTTON (line 149) | pub const VK_LBUTTON: VirtualKey = 1u16; constant VK_LCONTROL (line 150) | pub const VK_LCONTROL: VirtualKey = 162u16; constant VK_LEFT (line 151) | pub const VK_LEFT: VirtualKey = 37u16; constant VK_LMENU (line 152) | pub const VK_LMENU: VirtualKey = 164u16; constant VK_LSHIFT (line 153) | pub const VK_LSHIFT: VirtualKey = 160u16; constant VK_LWIN (line 154) | pub const VK_LWIN: VirtualKey = 91u16; constant VK_M (line 155) | pub const VK_M: VirtualKey = 77u16; constant VK_MBUTTON (line 156) | pub const VK_MBUTTON: VirtualKey = 4u16; constant VK_MEDIA_NEXT_TRACK (line 157) | pub const VK_MEDIA_NEXT_TRACK: VirtualKey = 176u16; constant VK_MEDIA_PLAY_PAUSE (line 158) | pub const VK_MEDIA_PLAY_PAUSE: VirtualKey = 179u16; constant VK_MEDIA_PREV_TRACK (line 159) | pub const VK_MEDIA_PREV_TRACK: VirtualKey = 177u16; constant VK_MEDIA_STOP (line 160) | pub const VK_MEDIA_STOP: VirtualKey = 178u16; constant VK_MENU (line 161) | pub const VK_MENU: VirtualKey = 18u16; constant VK_MODECHANGE (line 162) | pub const VK_MODECHANGE: VirtualKey = 31u16; constant VK_MULTIPLY (line 163) | pub const VK_MULTIPLY: VirtualKey = 106u16; constant VK_N (line 164) | pub const VK_N: VirtualKey = 78u16; constant VK_NAVIGATION_ACCEPT (line 165) | pub const VK_NAVIGATION_ACCEPT: VirtualKey = 142u16; constant VK_NAVIGATION_CANCEL (line 166) | pub const VK_NAVIGATION_CANCEL: VirtualKey = 143u16; constant VK_NAVIGATION_DOWN (line 167) | pub const VK_NAVIGATION_DOWN: VirtualKey = 139u16; constant VK_NAVIGATION_LEFT (line 168) | pub const VK_NAVIGATION_LEFT: VirtualKey = 140u16; constant VK_NAVIGATION_MENU (line 169) | pub const VK_NAVIGATION_MENU: VirtualKey = 137u16; constant VK_NAVIGATION_RIGHT (line 170) | pub const VK_NAVIGATION_RIGHT: VirtualKey = 141u16; constant VK_NAVIGATION_UP (line 171) | pub const VK_NAVIGATION_UP: VirtualKey = 138u16; constant VK_NAVIGATION_VIEW (line 172) | pub const VK_NAVIGATION_VIEW: VirtualKey = 136u16; constant VK_NEXT (line 173) | pub const VK_NEXT: VirtualKey = 34u16; constant VK_NONAME (line 174) | pub const VK_NONAME: VirtualKey = 252u16; constant VK_NONCONVERT (line 175) | pub const VK_NONCONVERT: VirtualKey = 29u16; constant VK_NUMLOCK (line 176) | pub const VK_NUMLOCK: VirtualKey = 144u16; constant VK_NUMPAD0 (line 177) | pub const VK_NUMPAD0: VirtualKey = 96u16; constant VK_NUMPAD1 (line 178) | pub const VK_NUMPAD1: VirtualKey = 97u16; constant VK_NUMPAD2 (line 179) | pub const VK_NUMPAD2: VirtualKey = 98u16; constant VK_NUMPAD3 (line 180) | pub const VK_NUMPAD3: VirtualKey = 99u16; constant VK_NUMPAD4 (line 181) | pub const VK_NUMPAD4: VirtualKey = 100u16; constant VK_NUMPAD5 (line 182) | pub const VK_NUMPAD5: VirtualKey = 101u16; constant VK_NUMPAD6 (line 183) | pub const VK_NUMPAD6: VirtualKey = 102u16; constant VK_NUMPAD7 (line 184) | pub const VK_NUMPAD7: VirtualKey = 103u16; constant VK_NUMPAD8 (line 185) | pub const VK_NUMPAD8: VirtualKey = 104u16; constant VK_NUMPAD9 (line 186) | pub const VK_NUMPAD9: VirtualKey = 105u16; constant VK_O (line 187) | pub const VK_O: VirtualKey = 79u16; constant VK_OEM_1 (line 188) | pub const VK_OEM_1: VirtualKey = 186u16; constant VK_OEM_102 (line 189) | pub const VK_OEM_102: VirtualKey = 226u16; constant VK_OEM_2 (line 190) | pub const VK_OEM_2: VirtualKey = 191u16; constant VK_OEM_3 (line 191) | pub const VK_OEM_3: VirtualKey = 192u16; constant VK_OEM_4 (line 192) | pub const VK_OEM_4: VirtualKey = 219u16; constant VK_OEM_5 (line 193) | pub const VK_OEM_5: VirtualKey = 220u16; constant VK_OEM_6 (line 194) | pub const VK_OEM_6: VirtualKey = 221u16; constant VK_OEM_7 (line 195) | pub const VK_OEM_7: VirtualKey = 222u16; constant VK_OEM_8 (line 196) | pub const VK_OEM_8: VirtualKey = 223u16; constant VK_OEM_ATTN (line 197) | pub const VK_OEM_ATTN: VirtualKey = 240u16; constant VK_OEM_AUTO (line 198) | pub const VK_OEM_AUTO: VirtualKey = 243u16; constant VK_OEM_AX (line 199) | pub const VK_OEM_AX: VirtualKey = 225u16; constant VK_OEM_BACKTAB (line 200) | pub const VK_OEM_BACKTAB: VirtualKey = 245u16; constant VK_OEM_CLEAR (line 201) | pub const VK_OEM_CLEAR: VirtualKey = 254u16; constant VK_OEM_COMMA (line 202) | pub const VK_OEM_COMMA: VirtualKey = 188u16; constant VK_OEM_COPY (line 203) | pub const VK_OEM_COPY: VirtualKey = 242u16; constant VK_OEM_CUSEL (line 204) | pub const VK_OEM_CUSEL: VirtualKey = 239u16; constant VK_OEM_ENLW (line 205) | pub const VK_OEM_ENLW: VirtualKey = 244u16; constant VK_OEM_FINISH (line 206) | pub const VK_OEM_FINISH: VirtualKey = 241u16; constant VK_OEM_FJ_JISHO (line 207) | pub const VK_OEM_FJ_JISHO: VirtualKey = 146u16; constant VK_OEM_FJ_LOYA (line 208) | pub const VK_OEM_FJ_LOYA: VirtualKey = 149u16; constant VK_OEM_FJ_MASSHOU (line 209) | pub const VK_OEM_FJ_MASSHOU: VirtualKey = 147u16; constant VK_OEM_FJ_ROYA (line 210) | pub const VK_OEM_FJ_ROYA: VirtualKey = 150u16; constant VK_OEM_FJ_TOUROKU (line 211) | pub const VK_OEM_FJ_TOUROKU: VirtualKey = 148u16; constant VK_OEM_JUMP (line 212) | pub const VK_OEM_JUMP: VirtualKey = 234u16; constant VK_OEM_MINUS (line 213) | pub const VK_OEM_MINUS: VirtualKey = 189u16; constant VK_OEM_NEC_EQUAL (line 214) | pub const VK_OEM_NEC_EQUAL: VirtualKey = 146u16; constant VK_OEM_PA1 (line 215) | pub const VK_OEM_PA1: VirtualKey = 235u16; constant VK_OEM_PA2 (line 216) | pub const VK_OEM_PA2: VirtualKey = 236u16; constant VK_OEM_PA3 (line 217) | pub const VK_OEM_PA3: VirtualKey = 237u16; constant VK_OEM_PERIOD (line 218) | pub const VK_OEM_PERIOD: VirtualKey = 190u16; constant VK_OEM_PLUS (line 219) | pub const VK_OEM_PLUS: VirtualKey = 187u16; constant VK_OEM_RESET (line 220) | pub const VK_OEM_RESET: VirtualKey = 233u16; constant VK_OEM_WSCTRL (line 221) | pub const VK_OEM_WSCTRL: VirtualKey = 238u16; constant VK_P (line 222) | pub const VK_P: VirtualKey = 80u16; constant VK_PA1 (line 223) | pub const VK_PA1: VirtualKey = 253u16; constant VK_PACKET (line 224) | pub const VK_PACKET: VirtualKey = 231u16; constant VK_PAUSE (line 225) | pub const VK_PAUSE: VirtualKey = 19u16; constant VK_PLAY (line 226) | pub const VK_PLAY: VirtualKey = 250u16; constant VK_PRINT (line 227) | pub const VK_PRINT: VirtualKey = 42u16; constant VK_PRIOR (line 228) | pub const VK_PRIOR: VirtualKey = 33u16; constant VK_PROCESSKEY (line 229) | pub const VK_PROCESSKEY: VirtualKey = 229u16; constant VK_Q (line 230) | pub const VK_Q: VirtualKey = 81u16; constant VK_R (line 231) | pub const VK_R: VirtualKey = 82u16; constant VK_RBUTTON (line 232) | pub const VK_RBUTTON: VirtualKey = 2u16; constant VK_RCONTROL (line 233) | pub const VK_RCONTROL: VirtualKey = 163u16; constant VK_RETURN (line 234) | pub const VK_RETURN: VirtualKey = 13u16; constant VK_RIGHT (line 235) | pub const VK_RIGHT: VirtualKey = 39u16; constant VK_RMENU (line 236) | pub const VK_RMENU: VirtualKey = 165u16; constant VK_RSHIFT (line 237) | pub const VK_RSHIFT: VirtualKey = 161u16; constant VK_RWIN (line 238) | pub const VK_RWIN: VirtualKey = 92u16; constant VK_S (line 239) | pub const VK_S: VirtualKey = 83u16; constant VK_SCROLL (line 240) | pub const VK_SCROLL: VirtualKey = 145u16; constant VK_SELECT (line 241) | pub const VK_SELECT: VirtualKey = 41u16; constant VK_SEPARATOR (line 242) | pub const VK_SEPARATOR: VirtualKey = 108u16; constant VK_SHIFT (line 243) | pub const VK_SHIFT: VirtualKey = 16u16; constant VK_SLEEP (line 244) | pub const VK_SLEEP: VirtualKey = 95u16; constant VK_SNAPSHOT (line 245) | pub const VK_SNAPSHOT: VirtualKey = 44u16; constant VK_SPACE (line 246) | pub const VK_SPACE: VirtualKey = 32u16; constant VK_SUBTRACT (line 247) | pub const VK_SUBTRACT: VirtualKey = 109u16; constant VK_T (line 248) | pub const VK_T: VirtualKey = 84u16; constant VK_TAB (line 249) | pub const VK_TAB: VirtualKey = 9u16; constant VK_U (line 250) | pub const VK_U: VirtualKey = 85u16; constant VK_UP (line 251) | pub const VK_UP: VirtualKey = 38u16; constant VK_V (line 252) | pub const VK_V: VirtualKey = 86u16; constant VK_VOLUME_DOWN (line 253) | pub const VK_VOLUME_DOWN: VirtualKey = 174u16; constant VK_VOLUME_MUTE (line 254) | pub const VK_VOLUME_MUTE: VirtualKey = 173u16; constant VK_VOLUME_UP (line 255) | pub const VK_VOLUME_UP: VirtualKey = 175u16; constant VK_W (line 256) | pub const VK_W: VirtualKey = 87u16; constant VK_X (line 257) | pub const VK_X: VirtualKey = 88u16; constant VK_XBUTTON1 (line 258) | pub const VK_XBUTTON1: VirtualKey = 5u16; constant VK_XBUTTON2 (line 259) | pub const VK_XBUTTON2: VirtualKey = 6u16; constant VK_Y (line 260) | pub const VK_Y: VirtualKey = 89u16; constant VK_Z (line 261) | pub const VK_Z: VirtualKey = 90u16; constant VK_ZOOM (line 262) | pub const VK_ZOOM: VirtualKey = 251u16; constant VK_NONE (line 263) | pub const VK_NONE: VirtualKey = 255u16; method from_u16_windows (line 268) | pub(super) const fn from_u16_windows(code: u16) -> Option { method as_u16_windows (line 912) | pub(super) const fn as_u16_windows(self) -> u16 { FILE: parser/src/layers.rs constant KEYS_IN_ROW (line 12) | pub const KEYS_IN_ROW: usize = OsCode::KEY_MAX as usize; constant LAYER_ROWS (line 13) | pub const LAYER_ROWS: usize = 2; constant DEFAULT_ACTION (line 14) | pub const DEFAULT_ACTION: KanataAction = KanataAction::KeyCode(KeyCode::... type IntermediateLayers (line 16) | pub type IntermediateLayers = Box<[[Row; LAYER_ROWS]]>; type KLayers (line 18) | pub type KLayers = type KanataLayers (line 21) | pub struct KanataLayers { method fmt (line 28) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 52) | pub(crate) unsafe fn new(layers: KLayers, allocations: Arc (KLayers, Arc) { type Row (line 33) | pub type Row = [kanata_keyberon::action::Action<'static, &'static &'stat... function new_layers (line 36) | pub fn new_layers(layers: usize) -> IntermediateLayers { FILE: parser/src/lsp_hints.rs type LspHints (line 8) | pub struct LspHints {} type HashMap (line 14) | type HashMap = rustc_hash::FxHashMap; type LspHints (line 17) | pub struct LspHints { type InactiveCode (line 24) | pub struct InactiveCode { type DefinitionLocations (line 30) | pub struct DefinitionLocations { type ReferenceLocations (line 39) | pub struct ReferenceLocations { type ReferencesMap (line 49) | pub struct ReferencesMap(pub HashMap>); method push_from_atom (line 53) | pub(crate) fn push_from_atom(&mut self, atom: &Spanned) { method push (line 62) | pub(crate) fn push(&mut self, name: &str, span: Span) { function set_layer_change_lsp_hint (line 74) | pub(crate) fn set_layer_change_lsp_hint(layer_name_expr: &SExpr, lsp_hin... FILE: parser/src/sequences.rs constant MASK_KEYCODES (line 3) | pub const MASK_KEYCODES: u16 = 0x03FF; constant MASK_MODDED (line 4) | pub const MASK_MODDED: u16 = 0xFC00; constant KEY_OVERLAP (line 5) | pub const KEY_OVERLAP: KeyCode = KeyCode::ErrorRollOver; constant KEY_OVERLAP_MARKER (line 6) | pub const KEY_OVERLAP_MARKER: u16 = 0x0400; function mod_mask_for_keycode (line 8) | pub fn mod_mask_for_keycode(kc: KeyCode) -> u16 { function keys_fit_within_mask (line 26) | fn keys_fit_within_mask() { FILE: parser/src/subset.rs type SubsetMap (line 50) | pub struct SubsetMap { type SsmKeyValue (line 55) | struct SsmKeyValue { function ssmkv_new (line 64) | fn ssmkv_new(key: impl AsRef<[K]>, value: V) -> Self { type GetOrIsSubsetOfKnownKey (line 73) | pub enum GetOrIsSubsetOfKnownKey { type SsmKeyExistedBeforeInsert (line 80) | pub enum SsmKeyExistedBeforeInsert { method default (line 92) | fn default() -> Self { function ssm_new (line 102) | pub fn ssm_new() -> Self { function ssm_insert (line 109) | pub fn ssm_insert(&mut self, mut key: impl AsMut<[K]>, val: V) -> SsmKey... function ssm_insert_ksorted (line 116) | pub fn ssm_insert_ksorted( function ssm_get_or_is_subset (line 142) | pub fn ssm_get_or_is_subset(&self, mut key: impl AsMut<[K]>) -> GetOrIsS... function ssm_get_or_is_subset_ksorted (line 149) | pub fn ssm_get_or_is_subset_ksorted( function is_empty (line 180) | pub fn is_empty(&self) -> bool { FILE: parser/src/trie.rs type TrieKeyElement (line 6) | pub type TrieKeyElement = u16; type Trie (line 9) | pub struct Trie { type GetOrDescendentExistsResult (line 14) | pub enum GetOrDescendentExistsResult { method default (line 23) | fn default() -> Self { function key_len (line 28) | fn key_len(k: impl AsRef<[u16]>) -> usize { function new (line 34) | pub fn new() -> Self { function ancestor_exists (line 40) | pub fn ancestor_exists(&self, key: impl AsRef<[u16]>) -> bool { function descendant_exists (line 46) | pub fn descendant_exists(&self, key: impl AsRef<[u16]>) -> bool { function insert (line 53) | pub fn insert(&mut self, key: impl AsRef<[u16]>, val: T) { function get_or_descendant_exists (line 57) | pub fn get_or_descendant_exists(&self, key: impl AsRef<[u16]>) -> GetOrD... function is_empty (line 74) | pub fn is_empty(&self) -> bool { FILE: simulated_input/src/sim.rs function default_sim (line 9) | pub fn default_sim() -> Vec { type Args (line 35) | struct Args { function log_init (line 85) | fn log_init() { function cli_init_fsim (line 104) | fn cli_init_fsim() -> Result<(ValidatedArgs, Vec, Option (&str, &str) { function parse_fakekey_spec (line 157) | fn parse_fakekey_spec(spec: &str) -> Result<(&str, FakeKeyAction)> { function apply_fakekey_action (line 181) | fn apply_fakekey_action(k: &mut Kanata, name: &str, action: FakeKeyActio... function apply_layer_switch (line 191) | fn apply_layer_switch(k: &mut Kanata, layer_name: &str) -> Result<()> { type LogFmtT (line 202) | pub enum LogFmtT { function kbd_out_log (line 209) | fn kbd_out_log( function main_impl (line 249) | fn main_impl() -> Result<()> { function main (line 396) | fn main() -> Result<()> { FILE: simulated_passthru/src/key_in.rs function input_ev_listener (line 13) | pub extern "win64" fn input_ev_listener(vk: c_uint, sc: c_uint, up: c_in... FILE: simulated_passthru/src/key_out.rs type CbOutEvFn (line 11) | type CbOutEvFn = dyn Fn(i64, i64, i64) -> i64 + 'static; function set_cb_out_ev (line 27) | pub fn set_cb_out_ev(cb_addr: c_longlong) -> Result<()> { function set_cb_out_ev (line 42) | fn set_cb_out_ev(cb_addr: c_longlong) -> Result<()> { function send_out_ev (line 48) | pub fn send_out_ev(in_ev: InputEvent) -> Result<()> { function output_ev_check (line 86) | pub extern "win64" fn output_ev_check() -> LRESULT { FILE: simulated_passthru/src/lib_passthru.rs function log_init (line 8) | fn log_init(max_lvl: &c_longlong) { function reset_kanata_state (line 30) | pub extern "win64" fn reset_kanata_state(tick: c_longlong) -> LRESULT { function cli_init (line 46) | fn cli_init(cfg_path: &str) -> Result { function lib_impl (line 63) | fn lib_impl(cfg_path: &str) -> Result<()> { function lib_kanata_passthru (line 112) | pub extern "win64" fn lib_kanata_passthru( FILE: simulated_passthru/src/log_win.rs type WinDebugLogger (line 6) | pub struct WinDebugLogger; method enabled (line 58) | fn enabled(&self, _metadata: &Metadata) -> bool { method enabled (line 62) | fn enabled(&self, metadata: &Metadata) -> bool { method log (line 65) | fn log(&self, record: &Record) { method flush (line 86) | fn flush(&self) {} function iconify (line 19) | pub fn iconify(lvl: log::Level) -> char { function is_thread_state (line 30) | pub fn is_thread_state() -> &'static bool { function set_thread_state (line 33) | pub fn set_thread_state(is: bool) -> &'static bool { function clean_name (line 46) | fn clean_name(path: Option<&str>) -> String { function dbg_win (line 89) | pub fn dbg_win(s: &str) { function OutputDebugStringW (line 106) | fn OutputDebugStringW(chars: *const u16); function init (line 109) | pub fn init() { FILE: src/gui/win.rs type PathExt (line 39) | trait PathExt { method add_ext (line 40) | fn add_ext(&mut self, ext_o: impl AsRef); method add_ext (line 43) | fn add_ext(&mut self, ext_o: impl AsRef) { type SystemTrayData (line 57) | pub struct SystemTrayData { type Icn (line 68) | pub struct Icn { type SystemTray (line 74) | pub struct SystemTray { method get_icon_from_file (line 442) | fn get_icon_from_file

(&self, ico_p: P) -> Result method get_icon_from_file_impl (line 448) | fn get_icon_from_file_impl(&self, ico_p: &str) -> Result { method set_menu_item_cfg_icon (line 482) | fn set_menu_item_cfg_icon( method update_tooltip_pos (line 503) | fn update_tooltip_pos(&self) { method update_mouse_watcher (line 579) | fn update_mouse_watcher(&self, tt2m_sndr: ASender, ticks: u16, p... method show_tooltip (line 614) | fn show_tooltip(&self, img: Option<&nwg::Bitmap>) { method hide_tooltip (line 689) | fn hide_tooltip(&self) { method show_menu (line 692) | fn show_menu(&self) { method update_tray_icon_cfg (line 699) | fn update_tray_icon_cfg( method update_tray_icon_cfg_group (line 735) | fn update_tray_icon_cfg_group(&self, force: bool) { method check_active (line 767) | fn check_active(&self) { method update_tooltip_data (line 800) | fn update_tooltip_data(&self, k: &Kanata) -> bool { method reload_cfg (line 844) | fn reload_cfg(&self, i: Option) -> Result<()> { method reload_layer_icon (line 986) | fn reload_layer_icon(&self) { method notify_error (line 990) | fn notify_error(&self) { method reload_cfg_icon (line 1032) | fn reload_cfg_icon(&self) { method reload_cfg_or_layer_icon (line 1036) | fn reload_cfg_or_layer_icon(&self, is_cfg: bool) -> Result<()> { method update_tray_icon (line 1118) | fn update_tray_icon( method exit (line 1278) | fn exit(&self) { method build_win_tt (line 1286) | fn build_win_tt(&self) -> Result { method build_ui (line 1334) | fn build_ui(mut d: SystemTray) -> Result { function get_appdata (line 118) | pub fn get_appdata() -> Option { function get_user_home (line 121) | pub fn get_user_home() -> Option { function get_xdg_home (line 124) | pub fn get_xdg_home() -> Option { constant CFG_FD (line 128) | const CFG_FD: [&str; 3] = ["", "kanata", "kanata-tray"]; constant ASSET_FD (line 130) | const ASSET_FD: [&str; 4] = ["", "icon", "img", "icons"]; constant IMG_EXT (line 131) | const IMG_EXT: [&str; 7] = ["ico", "jpg", "jpeg", "png", "bmp", "dds", "... constant PRE_LAYER (line 132) | const PRE_LAYER: &str = "\n🗍: "; constant TTTIMER_L (line 133) | const TTTIMER_L: u16 = 9; function send_gui_notice (line 136) | pub fn send_gui_notice() { function send_gui_cfg_notice (line 143) | pub fn send_gui_cfg_notice() { function send_gui_err_notice (line 150) | pub fn send_gui_err_notice() { function send_gui_exit_notice (line 157) | pub fn send_gui_exit_notice() { function show_err_msg_nofail (line 164) | pub fn show_err_msg_nofail(title: String, msg: String) { function get_icon_p (line 182) | fn get_icon_p( function get_icon_p_impl (line 204) | fn get_icon_p_impl( constant ICN_SZ_MENU (line 346) | pub const ICN_SZ_MENU: [u32; 2] = [24, 24]; constant ICN_SZ_TT (line 347) | pub const ICN_SZ_TT: [u32; 2] = [36, 36]; constant ICN_SZ_MENU_I (line 348) | pub const ICN_SZ_MENU_I: [i32; 2] = [24, 24]; constant ICN_SZ_TT_I (line 349) | pub const ICN_SZ_TT_I: [i32; 2] = [36, 36]; function to_wide_str (line 377) | pub fn to_wide_str(s: &str) -> Vec { function get_mouse_ptr_size (line 426) | pub fn get_mouse_ptr_size(dpi_scale: bool) -> (u32, u32) { type SystemTrayUi (line 1328) | pub struct SystemTrayUi { method drop (line 1634) | fn drop(&mut self) { type Target (line 1642) | type Target = SystemTray; method deref (line 1643) | fn deref(&self) -> &Self::Target { constant WS_CLICK_THRU (line 1652) | pub const WS_CLICK_THRU: u32 = WS_EX_LAYERED | WS_EX_TRANSPARENT; function show_layered_win (line 1656) | fn show_layered_win(win_id: HWND) { function update_app_data (line 1667) | pub fn update_app_data(k: &MutexGuard) -> Result { function build_tray (line 1684) | pub fn build_tray(cfg: &Arc>) -> Result LevelFilter { method config (line 117) | fn config(&self) -> Option<&simplelog::Config> { method as_log (line 120) | fn as_log(self: Box) -> Box { method enabled (line 175) | fn enabled(&self, metadata: &Metadata) -> bool { method log (line 179) | fn log(&self, record: &Record) { method flush (line 215) | fn flush(&self) {} function windbg_simple_combo (line 97) | pub fn windbg_simple_combo( function iconify (line 126) | pub fn iconify(lvl: log::Level) -> char { function is_thread_state (line 137) | pub fn is_thread_state() -> &'static bool { function set_thread_state (line 140) | pub fn set_thread_state(is: bool) -> &'static bool { function get_noti_lvl (line 146) | pub fn get_noti_lvl() -> &'static LevelFilter { function set_noti_lvl (line 149) | pub fn set_noti_lvl(lvl: LevelFilter) -> &'static LevelFilter { function clean_name (line 161) | fn clean_name(path: Option<&str>) -> String { function output_debug_string (line 223) | pub fn output_debug_string(s: &str) { function OutputDebugStringW (line 242) | fn OutputDebugStringW(chars: *const u16); function IsDebuggerPresent (line 243) | fn IsDebuggerPresent() -> i32; function is_debugger_present (line 251) | pub fn is_debugger_present() -> bool { function init (line 269) | pub fn init() { FILE: src/gui/win_nwg_ext/mod.rs type BitmapEx (line 19) | pub trait BitmapEx { method from_system_icon (line 20) | fn from_system_icon(icon: SHSTOCKICONID) -> nwg::Bitmap; method from_system_icon (line 25) | fn from_system_icon(icon: SHSTOCKICONID) -> nwg::Bitmap { type MenuEx (line 100) | pub trait MenuEx { method set_bitmap (line 101) | fn set_bitmap(&self, bitmap: Option<&nwg::Bitmap>); method set_bitmap (line 105) | fn set_bitmap(&self, bitmap: Option<&nwg::Bitmap>) { type MenuItemEx (line 138) | pub trait MenuItemEx { method set_bitmap (line 139) | fn set_bitmap(&self, bitmap: Option<&nwg::Bitmap>); method set_bitmap (line 144) | fn set_bitmap(&self, bitmap: Option<&nwg::Bitmap>) { type WindowEx (line 177) | pub trait WindowEx { method set_position_ex (line 178) | fn set_position_ex(&self, x: i32, y: i32); method set_position_ex (line 242) | fn set_position_ex(&self, x: i32, y: i32) { function dpi (line 180) | pub fn dpi() -> i32 { function logical_to_physical (line 190) | pub fn logical_to_physical(x: i32, y: i32) -> (i32, i32) { function set_window_position (line 202) | pub unsafe fn set_window_position(handle: HWND, x: i32, y: i32) { constant NOT_BOUND (line 218) | const NOT_BOUND: &str = "Window is not yet bound to a winapi object"; constant BAD_HANDLE (line 219) | const BAD_HANDLE: &str = "INTERNAL ERROR: Window handle is not HWND!"; function check_hwnd (line 220) | pub fn check_hwnd(handle: &ControlHandle, not_bound: &str, bad_handle: &... FILE: src/kanata/caps_word.rs type CapsWordState (line 7) | pub struct CapsWordState { method new (line 33) | pub(crate) fn new(cfg: &CapsWordCfg) -> Self { method tick_maybe_add_lsft (line 42) | pub(crate) fn tick_maybe_add_lsft( type CapsWordNextState (line 25) | pub enum CapsWordNextState { FILE: src/kanata/cfg_forced.rs function force_log_layer_changes (line 10) | pub fn force_log_layer_changes(v: bool) { function get_forced_log_layer_changes (line 17) | pub fn get_forced_log_layer_changes() -> Option { FILE: src/kanata/clipboard.rs type SavedClipboardData (line 12) | pub type SavedClipboardData = HashMap; type ClipboardData (line 14) | pub enum ClipboardData { function clpb_set (line 32) | pub(crate) fn clpb_set(clipboard_string: &str) { function clpb_cmd_set (line 47) | pub(crate) fn clpb_cmd_set(cmd_and_args: &[&str]) { function run_cmd_get_stdout (line 70) | fn run_cmd_get_stdout(cmd_and_args: &[&str], stdin: &str) -> String { function clpb_save (line 105) | pub(crate) fn clpb_save(id: u16, save_data: &mut SavedClipboardData) { function clpb_restore (line 140) | pub(crate) fn clpb_restore(id: u16, save_data: &SavedClipboardData) { function clpb_save_set (line 167) | pub(crate) fn clpb_save_set(id: u16, content: &str, save_data: &mut Save... function test_set (line 173) | fn test_set() { function clpb_save_cmd_set (line 184) | pub(crate) fn clpb_save_cmd_set( function test_save_cmd_set (line 203) | fn test_save_cmd_set() { function clpb_save_swap (line 239) | pub(crate) fn clpb_save_swap(id1: u16, id2: u16, save_data: &mut SavedCl... function test_swap (line 251) | fn test_swap() { type SavedClipboardData (line 297) | pub type SavedClipboardData = HashMap; type ClipboardData (line 299) | pub enum ClipboardData { function clpb_set (line 304) | pub(crate) fn clpb_set(clipboard_string: &str) {} function clpb_cmd_set (line 306) | pub(crate) fn clpb_cmd_set(cmd_and_args: &[&str]) {} function clpb_save (line 308) | pub(crate) fn clpb_save(id: u16, save_data: &mut SavedClipboardData) {} function clpb_restore (line 310) | pub(crate) fn clpb_restore(id: u16, save_data: &SavedClipboardData) {} function clpb_save_set (line 312) | pub(crate) fn clpb_save_set(id: u16, content: &str, save_data: &mut Save... function clpb_save_cmd_set (line 314) | pub(crate) fn clpb_save_cmd_set( function clpb_save_swap (line 321) | pub(crate) fn clpb_save_swap(id1: u16, id2: u16, save_data: &mut SavedCl... FILE: src/kanata/cmd.rs constant LP (line 10) | const LP: &str = "cmd-out:"; function run_cmd_in_thread (line 13) | pub(super) fn run_cmd_in_thread( type Item (line 65) | pub(super) type Item = KeyAction; type KeyAction (line 68) | pub(super) enum KeyAction { function empty (line 76) | fn empty() -> std::vec::IntoIter { function from_sexpr (line 80) | fn from_sexpr(sexpr: Vec) -> std::vec::IntoIter { function parse_items (line 89) | fn parse_items<'a>(exprs: &'a [SExpr], items: &mut Vec) -> &'a [SE... function try_parse_chord (line 118) | fn try_parse_chord<'a>(chord: &str, exprs: &'a [SExpr], items: &mut Vec<... function try_parse_chorded_key (line 134) | fn try_parse_chorded_key(mods: &[KeyCode], osc: &str, chord: &str, items... function try_parse_chorded_list (line 156) | fn try_parse_chorded_list<'a>( function keys_for_cmd_output (line 190) | pub(super) fn keys_for_cmd_output(cmd_and_args: &[&str]) -> impl Iterato... function keys_for_cmd_output (line 233) | pub(super) fn keys_for_cmd_output(cmd_and_args: &[&str]) -> impl Iterato... function run_cmd_in_thread (line 239) | pub(super) fn run_cmd_in_thread( FILE: src/kanata/dynamic_macro.rs type DynamicMacroItem (line 10) | pub enum DynamicMacroItem { type DynamicMacroReplayState (line 16) | pub struct DynamicMacroReplayState { type DynamicMacroRecordState (line 22) | pub struct DynamicMacroRecordState { method new (line 35) | fn new(macro_id: u16) -> Self { method add_release_for_all_unreleased_presses (line 44) | fn add_release_for_all_unreleased_presses(&mut self) { method add_event (line 63) | fn add_event(&mut self, osc: OsCode, evtype: WaitingEventType) { type WaitingEventType (line 29) | enum WaitingEventType { type ReplayEvent (line 86) | pub struct ReplayEvent(Event, u16); method key_event (line 89) | pub fn key_event(self) -> Event { method delay (line 92) | pub fn delay(self) -> u16 { function tick_record_state (line 97) | pub fn tick_record_state(record_state: &mut Option... function stop_macro (line 242) | pub fn stop_macro( function play_macro (line 280) | pub fn play_macro( FILE: src/kanata/key_repeat.rs method handle_repeat (line 7) | pub(super) fn handle_repeat(&mut self, event: &KeyEvent) -> Result<()> { method handle_repeat_actual (line 17) | pub(super) fn handle_repeat_actual(&mut self, event: &KeyEvent) -> Resul... FILE: src/kanata/linux.rs method event_loop (line 19) | pub fn event_loop(kanata: Arc>, tx: Sender) -> Res... method check_release_non_physical_shift (line 115) | pub fn check_release_non_physical_shift(&mut self) -> Result<()> { method set_repeat_rate (line 119) | pub fn set_repeat_rate(s: Option) -> Result<()> { function handle_scroll (line 153) | fn handle_scroll( FILE: src/kanata/macos.rs method event_loop (line 22) | pub fn event_loop(kanata: Arc>, tx: Sender) -> Res... method check_release_non_physical_shift (line 175) | pub fn check_release_non_physical_shift(&mut self) -> Result<()> { FILE: src/kanata/millisecond_counting.rs type MillisecondCountResult (line 3) | pub struct MillisecondCountResult { function count_ms_elapsed (line 9) | pub fn count_ms_elapsed( function ms_counts_0_elapsed_correctly (line 32) | fn ms_counts_0_elapsed_correctly() { function ms_counts_1_elapsed_correctly (line 43) | fn ms_counts_1_elapsed_correctly() { function ms_counts_1_then_2_elapsed_correctly (line 54) | fn ms_counts_1_then_2_elapsed_correctly() { FILE: src/kanata/mod.rs function collect_and_sort_events (line 12) | fn collect_and_sort_events( type HashSet (line 131) | type HashSet = rustc_hash::FxHashSet; type HashMap (line 132) | type HashMap = rustc_hash::FxHashMap; type Kanata (line 148) | pub struct Kanata { method new (line 389) | pub fn new(args: &ValidatedArgs) -> Result { method new_arc (line 558) | pub fn new_arc(args: &ValidatedArgs) -> Result>> { method new_from_str (line 562) | pub fn new_from_str(cfg: &str, file_content: HashMap) ... method new_with_output_channel (line 712) | pub fn new_with_output_channel( method do_live_reload (line 721) | fn do_live_reload(&mut self, _tx: &Option>) -> R... method handle_input_event (line 850) | pub fn handle_input_event(&mut self, event: &KeyEvent) -> Result<()> { method get_ms_elapsed (line 897) | pub fn get_ms_elapsed(&mut self) -> u128 { method handle_time_ticks (line 919) | fn handle_time_ticks(&mut self, tx: &Option>) ->... method tick_ms (line 950) | pub fn tick_ms(&mut self, ms_elapsed: u128, _tx: &Option>) -> Resu... method handle_scrolling (line 1015) | fn handle_scrolling(&mut self) -> Result<()> { method handle_move_mouse (line 1040) | fn handle_move_mouse(&mut self) -> Result<()> { method tick_sequence_state (line 1142) | fn tick_sequence_state(&mut self) -> Result<()> { method tick_idle_timeout (line 1153) | fn tick_idle_timeout(&mut self) { method tick_physical_idle_timeout (line 1170) | fn tick_physical_idle_timeout(&mut self) { method handle_keystate_changes (line 1193) | fn handle_keystate_changes(&mut self, _tx: &Option Result<()> { method request_live_reload_file (line 2109) | pub fn request_live_reload_file(&mut self, path: String) -> Result<()> { method check_handle_layer_change (line 2127) | fn check_handle_layer_change(&mut self, tx: &Option u64 { method is_reload_complete (line 2162) | pub fn is_reload_complete(&self) -> bool { method last_reload_succeeded (line 2168) | pub fn last_reload_succeeded(&self) -> bool { method start_notification_loop (line 2173) | pub fn start_notification_loop( method start_notification_loop (line 2215) | pub fn start_notification_loop( method start_processing_loop (line 2222) | pub fn start_processing_loop( method can_block_update_idle_waiting (line 2468) | pub fn can_block_update_idle_waiting(&mut self, ms_elapsed: u16) -> bo... method is_idle (line 2521) | pub fn is_idle(&self) -> bool { type Axis (line 335) | pub enum Axis { method from (line 341) | fn from(val: MoveDirection) -> Axis { type ReloadAction (line 350) | enum ReloadAction { type CalculatedMouseMove (line 359) | pub struct CalculatedMouseMove { type MoveMouseState (line 364) | pub struct MoveMouseState { type MoveMouseAccelState (line 373) | pub struct MoveMouseAccelState { constant LINUX_PERMISSIONS_ERROR (line 386) | const LINUX_PERMISSIONS_ERROR: &str = "Failed to open the output uinput ... function test_unmodmods_bits (line 2556) | fn test_unmodmods_bits() { function run_multi_cmd (line 2562) | fn run_multi_cmd(cmds: Vec<(Option, Option, Vec<... function apply_mouse_distance_modifiers (line 2572) | fn apply_mouse_distance_modifiers(initial_distance: u16, mods: &Vec... function apply_speed_modifiers (line 2588) | fn apply_speed_modifiers() { function clean_state (line 2618) | pub fn clean_state(kanata: &Arc>, tick: u128) -> Result<()> { function check_for_exit (line 2641) | fn check_for_exit(_event: &KeyEvent) { function update_kbd_out (line 2704) | fn update_kbd_out(_cfg: &CfgOptions, _kbd_out: &KbdOut) -> Result<()> { function handle_fakekey_action (line 2716) | pub fn handle_fakekey_action<'a, const C: usize, const R: usize, T>( function states_has_coord (line 2740) | fn states_has_coord(states: &[State], x: u8, y: u16) -> bool { function release_normalkey_states (line 2755) | fn release_normalkey_states<'a, const C: usize, const R: usize, T>(layou... function make_event (line 2794) | fn make_event(code: OsCode, value: KeyValue) -> KeyEvent { function single_event_unchanged (line 2799) | fn single_event_unchanged() { function modifiers_first_on_press (line 2811) | fn modifiers_first_on_press() { function modifiers_last_on_release (line 2828) | fn modifiers_last_on_release() { function multiple_modifiers_on_press (line 2846) | fn multiple_modifiers_on_press() { function multiple_modifiers_on_release (line 2866) | fn multiple_modifiers_on_release() { function repeat_treated_like_press (line 2887) | fn repeat_treated_like_press() { function all_modifiers_no_reorder_needed (line 2902) | fn all_modifiers_no_reorder_needed() { function all_non_modifiers_no_reorder_needed (line 2920) | fn all_non_modifiers_no_reorder_needed() { function mixed_press_release_preserves_interleaving (line 2936) | fn mixed_press_release_preserves_interleaving() { function collect_layer_changes (line 2963) | fn collect_layer_changes(rx: &Receiver) -> Vec { function direct_held_layer_press_and_release_emit_layer_changes (line 2977) | fn direct_held_layer_press_and_release_emit_layer_changes() { function oneshot_held_layer_timeout_emits_both_transitions_within_one_tick_batch (line 3015) | fn oneshot_held_layer_timeout_emits_both_transitions_within_one_tick_bat... function oneshot_held_layer_consumed_by_keypress_emits_both_transitions_within_one_tick_batch (line 3048) | fn oneshot_held_layer_consumed_by_keypress_emits_both_transitions_within... FILE: src/kanata/output_logic.rs constant KEY_IGNORE_MIN (line 33) | pub(super) const KEY_IGNORE_MIN: u16 = 0x2a4; constant KEY_IGNORE_MAX (line 34) | pub(super) const KEY_IGNORE_MAX: u16 = 0x2ad; function write_key (line 35) | pub(super) fn write_key(kb: &mut KbdOut, osc: OsCode, val: KeyValue) -> ... function press_key (line 41) | pub(super) fn press_key(kb: &mut KbdOut, osc: OsCode) -> Result<(), std:... function release_key (line 58) | pub(super) fn release_key(kb: &mut KbdOut, osc: OsCode) -> Result<(), st... function osc_to_btn (line 76) | fn osc_to_btn(osc: OsCode) -> Btn { function osc_to_wheel_direction (line 88) | fn osc_to_wheel_direction(osc: OsCode) -> MWheelDirection { function post_filter_press (line 100) | fn post_filter_press(kb: &mut KbdOut, osc: OsCode) -> Result<(), std::io... function post_filter_release (line 111) | fn post_filter_release(kb: &mut KbdOut, osc: OsCode) -> Result<(), std::... function zippy_is_idle (line 122) | pub(super) fn zippy_is_idle() -> bool { function zippy_tick (line 133) | pub(super) fn zippy_tick(_caps_word_is_active: bool) { FILE: src/kanata/output_logic/zippychord.rs function zch (line 18) | pub(crate) fn zch() -> MutexGuard<'static, ZchState> { type ZchEnabledState (line 30) | enum ZchEnabledState { type ZchLastPressClassification (line 38) | enum ZchLastPressClassification { type ZchSmartSpaceState (line 45) | enum ZchSmartSpaceState { type ZchDynamicState (line 52) | struct ZchDynamicState { method zchd_tick (line 114) | fn zchd_tick(&mut self, is_caps_word_active: bool) { method zchd_state_change (line 145) | fn zchd_state_change(&mut self, cfg: &ZchConfig) { method zchd_activate_chord_deadline (line 150) | fn zchd_activate_chord_deadline(&mut self, deadline_ticks: u16) { method zchd_restart_deadline (line 156) | fn zchd_restart_deadline(&mut self, deadline_ticks: u16) { method zchd_reset (line 162) | fn zchd_reset(&mut self) { method zchd_soft_reset (line 173) | fn zchd_soft_reset(&mut self) { method zchd_clear_history (line 185) | fn zchd_clear_history(&mut self) { method zchd_is_idle (line 194) | fn zchd_is_idle(&self) -> bool { method zchd_press_key (line 201) | fn zchd_press_key(&mut self, osc: OsCode) { method zchd_release_key (line 205) | fn zchd_release_key(&mut self, osc: OsCode) { type ZchState (line 237) | pub(crate) struct ZchState { method zch_configure (line 250) | pub(crate) fn zch_configure(&mut self, cfg: (ZchPossibleChords, ZchCon... method zch_press_key (line 257) | pub(crate) fn zch_press_key( method zch_release_key (line 553) | pub(crate) fn zch_release_key( method zch_tick (line 582) | pub(crate) fn zch_tick(&mut self, is_caps_word_active: bool) { method zch_is_idle (line 588) | pub(crate) fn zch_is_idle(&self) -> bool { function type_osc (line 593) | fn type_osc(osc: OsCode, kb: &mut KbdOut, zchd: &ZchDynamicState) -> Res... function maybe_press_sft_during_activation (line 604) | fn maybe_press_sft_during_activation( function maybe_release_sft_during_activation (line 617) | fn maybe_release_sft_during_activation( FILE: src/kanata/scroll.rs type ScrollState (line 3) | pub struct ScrollState { type ScrollAccelState (line 11) | pub struct ScrollAccelState { function update_scrollstate_get_result (line 19) | pub(crate) fn update_scrollstate_get_result( FILE: src/kanata/sequences.rs type SequenceActivity (line 4) | pub enum SequenceActivity { type SequenceState (line 11) | pub struct SequenceState { method new (line 36) | pub fn new() -> Self { method activate (line 50) | pub fn activate(&mut self, input_mode: SequenceInputMode, timeout: u16) { method is_active (line 61) | pub fn is_active(&self) -> bool { method get_active (line 65) | pub fn get_active(&mut self) -> Option<&mut Self> { method is_inactive (line 72) | pub fn is_inactive(&self) -> bool { method default (line 78) | fn default() -> Self { function get_mod_mask_for_cur_keys (line 83) | pub(super) fn get_mod_mask_for_cur_keys(cur_keys: &[KeyCode]) -> u16 { type EndSequenceType (line 90) | pub(super) enum EndSequenceType { function do_sequence_press_logic (line 95) | pub(super) fn do_sequence_press_logic( function do_successful_sequence_termination (line 274) | pub(super) fn do_successful_sequence_termination( function cancel_sequence (line 353) | pub(super) fn cancel_sequence(state: &mut SequenceState, kbd_out: &mut K... function add_noerase (line 369) | pub(super) fn add_noerase(state: &mut SequenceState, noerase_count: u16) { FILE: src/kanata/unknown.rs method check_release_non_physical_shift (line 4) | pub fn check_release_non_physical_shift(&mut self) -> Result<()> { FILE: src/kanata/windows/exthook.rs method event_loop (line 12) | pub fn event_loop(_cfg: Arc>, tx: Sender) -> Resul... function try_send_panic (line 57) | fn try_send_panic(tx: &Sender, kev: KeyEvent) { function start_event_preprocessor (line 63) | fn start_event_preprocessor(preprocess_rx: Receiver, process_t... FILE: src/kanata/windows/interception.rs method event_loop_inner (line 13) | pub fn event_loop_inner(kanata: Arc>, tx: Sender) ... method event_loop (line 133) | pub fn event_loop( function is_device_interceptable (line 152) | fn is_device_interceptable( function mouse_state_to_event (line 192) | fn mouse_state_to_event(state: ic::MouseState, rolling: i16) -> Option, kev: KeyEvent) { type LctlState (line 292) | enum LctlState { type RecvValue (line 301) | enum RecvValue { type CanBlock (line 307) | enum CanBlock { function preprocessor_recv (line 312) | fn preprocessor_recv(preprocess_rx: &Receiver, can_block: CanB... function start_event_preprocessor (line 326) | fn start_event_preprocessor(preprocess_rx: Receiver, process_t... FILE: src/kanata/windows/mod.rs function set_win_altgr_behaviour (line 17) | pub fn set_win_altgr_behaviour(b: AltGrBehaviour) { method check_release_non_physical_shift (line 27) | pub fn check_release_non_physical_shift(&mut self) -> Result<()> { method check_release_non_physical_shift (line 133) | pub fn check_release_non_physical_shift(&mut self) -> Result<()> { method live_reload (line 138) | pub fn live_reload(&mut self) -> Result<()> { method live_reload_n (line 144) | pub fn live_reload_n(&mut self, n: usize) -> Result<()> { function clear_states_from_inactivity (line 185) | pub fn clear_states_from_inactivity( FILE: src/lib.rs type CfgPath (line 19) | type CfgPath = PathBuf; type ValidatedArgs (line 21) | pub struct ValidatedArgs { function default_cfg (line 30) | pub fn default_cfg() -> Vec { type SocketAddrWrapper (line 49) | pub struct SocketAddrWrapper(SocketAddr); method into_inner (line 67) | pub fn into_inner(self) -> SocketAddr { method get_ref (line 70) | pub fn get_ref(&self) -> &SocketAddr { type Err (line 52) | type Err = Error; method from_str (line 54) | fn from_str(s: &str) -> Result { FILE: src/main.rs function cli_init (line 23) | fn cli_init() -> Result<(ValidatedArgs, Option)> { function main_impl (line 158) | pub(crate) fn main_impl() -> Result<()> { function main (line 217) | pub fn main() -> Result<()> { function main (line 232) | fn main() { function main (line 237) | fn main() { FILE: src/main_lib/args.rs type Args (line 16) | pub struct Args { function no_wait_flag_default_false (line 127) | fn no_wait_flag_default_false() { function no_wait_flag_enabled (line 133) | fn no_wait_flag_enabled() { function no_wait_with_other_flags (line 139) | fn no_wait_with_other_flags() { function emergency_exit_code_default (line 147) | fn emergency_exit_code_default() { function emergency_exit_code_custom (line 153) | fn emergency_exit_code_custom() { function emergency_exit_code_with_other_flags (line 159) | fn emergency_exit_code_with_other_flags() { FILE: src/main_lib/mod.rs function list_devices_macos (line 7) | pub(crate) fn list_devices_macos() { function list_devices_linux (line 69) | pub(crate) fn list_devices_linux() { type WindowsDeviceInfo (line 119) | struct WindowsDeviceInfo { function get_device_info (line 130) | fn get_device_info(device_handle: winapi::um::winnt::HANDLE) -> Option Option { FILE: src/main_lib/win_gui.rs function cli_init (line 14) | fn cli_init() -> Result { function main_impl (line 140) | fn main_impl() -> Result<()> { function lib_main_gui (line 211) | pub fn lib_main_gui() { FILE: src/oskbd/linux.rs type KbdIn (line 31) | pub struct KbdIn { method new (line 51) | pub fn new( method register_device (line 122) | fn register_device(&mut self, mut dev: Device, path: String) -> Result... method read (line 141) | pub fn read(&mut self) -> Result, io::Error> { method rediscover_devices (line 197) | fn rediscover_devices(&mut self) -> Result<(), io::Error> { constant INOTIFY_TOKEN_VALUE (line 45) | const INOTIFY_TOKEN_VALUE: usize = 0; constant INOTIFY_TOKEN (line 46) | const INOTIFY_TOKEN: Token = Token(INOTIFY_TOKEN_VALUE); type DeviceType (line 257) | enum DeviceType { function is_input_device (line 264) | pub fn is_input_device(device: &Device, detect_mode: DeviceDetectMode) -... function has_keyboard_keys (line 312) | fn has_keyboard_keys(keys: &evdev::AttributeSetRef) -> bool { type Error (line 324) | type Error = (); method try_from (line 325) | fn try_from(item: InputEvent) -> Result { method from (line 362) | fn from(item: KeyEvent) -> Self { type KbdOut (line 370) | pub struct KbdOut { method new (line 381) | pub fn new( method update_unicode_termination (line 448) | pub fn update_unicode_termination(&self, t: UnicodeTermination) { method update_unicode_u_code (line 452) | pub fn update_unicode_u_code(&self, u: OsCode) { method write_raw (line 456) | pub fn write_raw(&mut self, event: InputEvent) -> Result<(), io::Error> { method write (line 476) | pub fn write(&mut self, event: InputEvent) -> Result<(), io::Error> { method write_many (line 485) | pub fn write_many(&mut self, events: &[InputEvent]) -> Result<(), io::... method write_key (line 494) | pub fn write_key(&mut self, key: OsCode, value: KeyValue) -> Result<()... method write_code (line 502) | pub fn write_code(&mut self, code: u32, value: KeyValue) -> Result<(),... method press_key (line 508) | pub fn press_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_key (line 512) | pub fn release_key(&mut self, key: OsCode) -> Result<(), io::Error> { method send_unicode (line 517) | pub fn send_unicode(&mut self, c: char) -> Result<(), io::Error> { method click_btn (line 559) | pub fn click_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method release_btn (line 563) | pub fn release_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method scroll (line 567) | pub fn scroll( method move_mouse (line 630) | pub fn move_mouse(&mut self, mv: CalculatedMouseMove) -> Result<(), io... method move_mouse_many (line 640) | pub fn move_mouse_many(&mut self, moves: &[CalculatedMouseMove]) -> Re... method set_mouse (line 654) | pub fn set_mouse(&mut self, _x: u16, _y: u16) -> Result<(), io::Error> { function devices_from_input_paths (line 662) | fn devices_from_input_paths( function discover_devices (line 680) | pub fn discover_devices( function watch_devinput (line 726) | fn watch_devinput() -> Result { type Symlink (line 733) | struct Symlink { method new (line 738) | fn new(source: PathBuf, dest: PathBuf) -> Result { function handle_signals (line 758) | fn handle_signals(symlink: Option) { function wait_for_all_keys_unpressed (line 784) | fn wait_for_all_keys_unpressed(dev: &Device) -> Result<(), io::Error> { method drop (line 835) | fn drop(&mut self) { FILE: src/oskbd/macos.rs type InputEvent (line 31) | pub struct InputEvent { method new (line 38) | pub fn new(event: DKEvent) -> Self { method fmt (line 202) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Error (line 240) | type Error = (); method try_from (line 242) | fn try_from(item: KeyEvent) -> Result { method from (line 48) | fn from(event: InputEvent) -> Self { type KbdIn (line 57) | pub struct KbdIn { method new (line 70) | pub fn new( method read (line 121) | pub fn read(&mut self) -> Result { method release_input (line 142) | pub fn release_input(&mut self) { method regrab_input (line 151) | pub fn regrab_input(&mut self) -> bool { method is_grabbed (line 161) | pub fn is_grabbed(&self) -> bool { method drop (line 62) | fn drop(&mut self) { function validate_and_register_devices (line 166) | fn validate_and_register_devices(include_names: Vec) -> Vec Result { type KbdOut (line 260) | pub struct KbdOut { method new (line 266) | pub fn new() -> Result { method write (line 272) | pub fn write(&mut self, event: InputEvent) -> Result<(), io::Error> { method output_ready (line 285) | pub fn output_ready(&self) -> bool { method wait_until_ready (line 289) | pub fn wait_until_ready(&self, timeout: Option) -> bool { method write_key (line 324) | pub fn write_key(&mut self, key: OsCode, value: KeyValue) -> Result<()... method write_code (line 337) | pub fn write_code(&mut self, code: u32, value: KeyValue) -> Result<(),... method press_key (line 349) | pub fn press_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_key (line 353) | pub fn release_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_tracked_output_keys (line 357) | pub fn release_tracked_output_keys(&mut self, reason: &str) { method send_unicode (line 375) | pub fn send_unicode(&mut self, c: char) -> Result<(), io::Error> { method scroll (line 388) | pub fn scroll(&mut self, _direction: MWheelDirection, _distance: u16) ... method button_action (line 413) | fn button_action(&mut self, _btn: Btn, is_click: bool) -> Result<(), i... method click_btn (line 460) | pub fn click_btn(&mut self, _btn: Btn) -> Result<(), io::Error> { method release_btn (line 464) | pub fn release_btn(&mut self, _btn: Btn) -> Result<(), io::Error> { method move_mouse (line 468) | pub fn move_mouse(&mut self, _mv: CalculatedMouseMove) -> Result<(), i... method pressed_buttons (line 493) | fn pressed_buttons() -> usize { method move_mouse_many (line 501) | pub fn move_mouse_many(&mut self, _moves: &[CalculatedMouseMove]) -> R... method set_mouse (line 514) | pub fn set_mouse(&mut self, _x: u16, _y: u16) -> Result<(), io::Error> { method make_event_source (line 523) | fn make_event_source() -> Result { method make_event (line 532) | fn make_event() -> Result { method record_output_transition_after_write (line 539) | fn record_output_transition_after_write(&mut self, key: OsCode, value:... method apply_calculated_move (line 556) | fn apply_calculated_move(_mv: &CalculatedMouseMove, mouse_position: &m... FILE: src/oskbd/mod.rs constant HI_RES_SCROLL_UNITS_IN_LO_RES (line 63) | pub const HI_RES_SCROLL_UNITS_IN_LO_RES: u16 = 120; type KeyValue (line 68) | pub enum KeyValue { method from (line 77) | fn from(item: i32) -> Self { method from (line 88) | fn from(up: bool) -> Self { function from (line 97) | fn from(val: KeyValue) -> Self { type KeyEvent (line 105) | pub struct KeyEvent { method new (line 112) | pub fn new(code: OsCode, value: KeyValue) -> Self { method fmt (line 119) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method fmt (line 134) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { FILE: src/oskbd/sim_passthru.rs type CbOutEvFn (line 18) | type CbOutEvFn = dyn Fn(i64, i64, i64) -> i64 + Send + Sync + 'static; type FnOutEvWrapper (line 19) | pub struct FnOutEvWrapper { type KbdOut (line 26) | pub struct KbdOut { method new (line 33) | pub fn new() -> Result { method new (line 37) | pub fn new( method write_raw (line 46) | pub fn write_raw(&mut self, event: InputEvent) -> Result<(), io::Error> { method write (line 50) | pub fn write(&mut self, event: InputEvent) -> Result<(), io::Error> { method output_ready (line 77) | pub fn output_ready(&self) -> bool { method wait_until_ready (line 80) | pub fn wait_until_ready(&self, _timeout: Option) ... method write_key (line 83) | pub fn write_key(&mut self, key: OsCode, value: KeyValue) -> Result<()... method write_code (line 97) | pub fn write_code(&mut self, code: u32, value: KeyValue) -> Result<(),... method press_key (line 101) | pub fn press_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_key (line 104) | pub fn release_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_tracked_output_keys (line 107) | pub fn release_tracked_output_keys(&mut self, _reason: &str) {} method send_unicode (line 108) | pub fn send_unicode(&mut self, c: char) -> Result<(), io::Error> { method click_btn (line 112) | pub fn click_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method release_btn (line 116) | pub fn release_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method scroll (line 120) | pub fn scroll(&mut self, direction: MWheelDirection, distance: u16) ->... method move_mouse (line 124) | pub fn move_mouse(&mut self, mv: CalculatedMouseMove) -> Result<(), io... method move_mouse_many (line 129) | pub fn move_mouse_many(&mut self, moves: &[CalculatedMouseMove]) -> Re... method set_mouse (line 136) | pub fn set_mouse(&mut self, x: u16, y: u16) -> Result<(), io::Error> { method tick (line 140) | pub fn tick(&mut self) {} type InputEvent (line 145) | pub struct InputEvent { method fmt (line 153) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from_oscode (line 163) | pub fn from_oscode(code: OsCode, val: KeyValue) -> Self { method from (line 187) | fn from(item: KeyEvent) -> Self { type Error (line 173) | type Error = (); method try_from (line 174) | fn try_from(item: InputEvent) -> Result { FILE: src/oskbd/simulated.rs function concat_os_str2 (line 9) | pub fn concat_os_str2(a: &OsStr, b: &OsStr) -> OsString { function append_file_name (line 15) | fn append_file_name(path: impl AsRef, appendix: impl AsRef)... type LogFmtT (line 28) | pub enum LogFmtT { type LogFmt (line 45) | pub struct LogFmt { method new (line 72) | pub fn new() -> Self { method fmt (line 95) | pub fn fmt(&mut self, key: LogFmtT, value: String) { method write_raw (line 201) | pub fn write_raw(&mut self, event: InputEvent) { method in_tick (line 209) | pub fn in_tick(&mut self, t: u128) { method in_press_key (line 212) | pub fn in_press_key(&mut self, key: OsCode) { method in_release_key (line 215) | pub fn in_release_key(&mut self, key: OsCode) { method in_repeat_key (line 218) | pub fn in_repeat_key(&mut self, key: OsCode) { method press_key (line 221) | pub fn press_key(&mut self, key: OsCode) { method release_key (line 224) | pub fn release_key(&mut self, key: OsCode) { method send_unicode (line 227) | pub fn send_unicode(&mut self, c: char) { method click_btn (line 230) | pub fn click_btn(&mut self, btn: Btn) { method release_btn (line 233) | pub fn release_btn(&mut self, btn: Btn) { method set_mouse (line 236) | pub fn set_mouse(&mut self, x: u16, y: u16) { method scroll (line 239) | pub fn scroll(&mut self, dir: MWheelDirection, dist: u16) { method move_mouse (line 242) | pub fn move_mouse(&mut self, dir: MoveDirection, dist: u16) { method write_code (line 245) | pub fn write_code(&mut self, code: u32, value: KeyValue) { method end (line 249) | pub fn end(&self, in_path: &PathBuf, appendix: Option) { method default (line 67) | fn default() -> Self { type Outputs (line 315) | pub struct Outputs { method new (line 321) | fn new() -> Self { method push (line 328) | fn push(&mut self, event: impl AsRef) { type KbdOut (line 338) | pub struct KbdOut { method new_actual (line 344) | fn new_actual() -> Result { method new (line 352) | pub fn new() -> Result { method new (line 356) | pub fn new( method write_raw (line 365) | pub fn write_raw(&mut self, event: InputEvent) -> Result<(), io::Error> { method write (line 370) | pub fn write(&mut self, event: InputEvent) -> Result<(), io::Error> { method output_ready (line 374) | pub fn output_ready(&self) -> bool { method wait_until_ready (line 377) | pub fn wait_until_ready(&self, _timeout: Option) ... method write_key (line 380) | pub fn write_key(&mut self, key: OsCode, value: KeyValue) -> Result<()... method write_code (line 394) | pub fn write_code(&mut self, code: u32, value: KeyValue) -> Result<(),... method press_key (line 399) | pub fn press_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_key (line 403) | pub fn release_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_tracked_output_keys (line 407) | pub fn release_tracked_output_keys(&mut self, _reason: &str) {} method send_unicode (line 408) | pub fn send_unicode(&mut self, c: char) -> Result<(), io::Error> { method click_btn (line 413) | pub fn click_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method release_btn (line 418) | pub fn release_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method scroll (line 423) | pub fn scroll(&mut self, direction: MWheelDirection, distance: u16) ->... method move_mouse (line 429) | pub fn move_mouse(&mut self, mv: CalculatedMouseMove) -> Result<(), io... method move_mouse_many (line 436) | pub fn move_mouse_many(&mut self, moves: &[CalculatedMouseMove]) -> Re... method set_mouse (line 445) | pub fn set_mouse(&mut self, x: u16, y: u16) -> Result<(), io::Error> { method tick (line 450) | pub fn tick(&mut self) { type InputEvent (line 458) | pub struct InputEvent { method fmt (line 466) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from_oscode (line 475) | pub fn from_oscode(code: OsCode, val: KeyValue) -> Self { method from (line 499) | fn from(item: KeyEvent) -> Self { method from (line 509) | fn from(_item: KeyEvent) -> Self { type Error (line 485) | type Error = (); method try_from (line 486) | fn try_from(item: InputEvent) -> Result { FILE: src/oskbd/windows/exthook_os.rs constant LLHOOK_IDLE_TIME_SECS_CLEAR_INPUTS (line 15) | pub const LLHOOK_IDLE_TIME_SECS_CLEAR_INPUTS: u64 = 60; type HookFn (line 17) | type HookFn = dyn FnMut(InputEvent) -> bool + Send + Sync + 'static; type KeyboardHook (line 21) | pub struct KeyboardHook {} method set_input_cb (line 24) | pub fn set_input_cb( method drop (line 38) | fn drop(&mut self) { type InputEvent (line 45) | pub struct InputEvent { method fmt (line 51) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from_vk_sc (line 58) | pub fn from_vk_sc(vk: c_uint, sc: c_uint, up: c_int) -> Self { method from_oscode (line 73) | pub fn from_oscode(code: OsCode, val: KeyValue) -> Self { method from (line 93) | fn from(item: KeyEvent) -> Self { type Error (line 81) | type Error = (); method try_from (line 82) | fn try_from(item: InputEvent) -> Result { FILE: src/oskbd/windows/interception.rs type InputEvent (line 15) | pub struct InputEvent(pub Stroke); method fmt (line 19) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from_oscode (line 25) | fn from_oscode(code: OsCode, val: KeyValue) -> Self { method from_mouse_btn (line 51) | fn from_mouse_btn(btn: Btn, is_up: bool) -> Self { method from_mouse_scroll (line 73) | fn from_mouse_scroll(direction: MWheelDirection, distance: u16) -> Self { method from_mouse_move (line 94) | fn from_mouse_move(direction: MoveDirection, distance: u16) -> Self { method from_mouse_move_many (line 113) | fn from_mouse_move_many(moves: &[CalculatedMouseMove]) -> Self { method from_mouse_set (line 136) | fn from_mouse_set(x: u16, y: u16) -> Self { type KbdOut (line 154) | pub struct KbdOut {} method new (line 176) | pub fn new() -> Result { method write (line 180) | pub fn write(&mut self, event: InputEvent) -> Result<(), io::Error> { method write_code_raw (line 185) | pub fn write_code_raw(&mut self, code: u16, value: KeyValue) -> Result... method write_code (line 189) | pub fn write_code(&mut self, code: u32, value: KeyValue) -> Result<(),... method write_key (line 193) | pub fn write_key(&mut self, key: OsCode, value: KeyValue) -> Result<()... method press_key (line 197) | pub fn press_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_key (line 201) | pub fn release_key(&mut self, key: OsCode) -> Result<(), io::Error> { method click_btn (line 205) | pub fn click_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method release_btn (line 211) | pub fn release_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method scroll (line 218) | pub fn scroll(&mut self, direction: MWheelDirection, distance: u16) ->... method send_unicode (line 225) | pub fn send_unicode(&mut self, c: char) -> Result<(), io::Error> { method move_mouse (line 231) | pub fn move_mouse(&mut self, mv: CalculatedMouseMove) -> Result<(), io... method move_mouse_many (line 236) | pub fn move_mouse_many(&mut self, moves: &[CalculatedMouseMove]) -> Re... method set_mouse (line 241) | pub fn set_mouse(&mut self, x: u16, y: u16) -> Result<(), io::Error> { function write_interception (line 156) | fn write_interception(event: InputEvent) { FILE: src/oskbd/windows/interception_convert.rs type OsCodeWrapper (line 191) | pub struct OsCodeWrapper(pub OsCode); type Error (line 194) | type Error = (); method try_from (line 196) | fn try_from(item: Stroke) -> Result { type Error (line 212) | type Error = (); method try_from (line 214) | fn try_from(item: OsCodeWrapper) -> Result { FILE: src/oskbd/windows/llhook.rs constant LLHOOK_IDLE_TIME_SECS_CLEAR_INPUTS (line 30) | pub const LLHOOK_IDLE_TIME_SECS_CLEAR_INPUTS: u64 = 60; type HookFn (line 32) | type HookFn = dyn FnMut(InputEvent) -> bool; type KeyboardHook (line 41) | pub struct KeyboardHook { method set_input_cb (line 50) | pub fn set_input_cb(callback: impl FnMut(InputEvent) -> bool + 'static... method drop (line 71) | fn drop(&mut self) { type InputEvent (line 79) | pub struct InputEvent { method fmt (line 87) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from_hook_lparam (line 96) | fn from_hook_lparam(lparam: &KBDLLHOOKSTRUCT) -> Self { method from_oscode (line 127) | pub fn from_oscode(code: OsCode, val: KeyValue) -> Self { method from (line 149) | fn from(item: KeyEvent) -> Self { type Error (line 136) | type Error = (); method try_from (line 137) | fn try_from(item: InputEvent) -> Result { function hook_proc (line 185) | unsafe extern "system" fn hook_proc(code: c_int, wparam: WPARAM, lparam:... type KbdOut (line 236) | pub struct KbdOut {} method new (line 240) | pub fn new() -> Result { method write (line 244) | pub fn write(&mut self, event: InputEvent) -> Result<(), io::Error> { method write_key (line 249) | pub fn write_key(&mut self, key: OsCode, value: KeyValue) -> Result<()... method write_code (line 254) | pub fn write_code(&mut self, code: u32, value: KeyValue) -> Result<(),... method write_code_raw (line 258) | pub fn write_code_raw(&mut self, code: u16, value: KeyValue) -> Result... method press_key (line 262) | pub fn press_key(&mut self, key: OsCode) -> Result<(), io::Error> { method release_key (line 266) | pub fn release_key(&mut self, key: OsCode) -> Result<(), io::Error> { method send_unicode (line 271) | pub fn send_unicode(&mut self, c: char) -> Result<(), io::Error> { method click_btn (line 277) | pub fn click_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method release_btn (line 289) | pub fn release_btn(&mut self, btn: Btn) -> Result<(), io::Error> { method scroll (line 301) | pub fn scroll(&mut self, direction: MWheelDirection, distance: u16) ->... method move_mouse (line 310) | pub fn move_mouse(&mut self, mv: CalculatedMouseMove) -> Result<(), io... method move_mouse_many (line 315) | pub fn move_mouse_many(&mut self, moves: &[CalculatedMouseMove]) -> Re... method set_mouse (line 320) | pub fn set_mouse(&mut self, x: u16, y: u16) -> Result<(), io::Error> { function send_btn (line 327) | fn send_btn(flag: u32) { function send_xbtn (line 341) | fn send_xbtn(flag: u32, xbtn: u16) { function scroll (line 356) | fn scroll(direction: MWheelDirection, distance: u16) { function hscroll (line 374) | fn hscroll(direction: MWheelDirection, distance: u16) { function move_mouse (line 392) | fn move_mouse(direction: MoveDirection, distance: u16) { function move_mouse_many (line 402) | fn move_mouse_many(moves: &[CalculatedMouseMove]) { function move_mouse_xy (line 418) | fn move_mouse_xy(x: i32, y: i32) { function set_mouse_xy (line 422) | fn set_mouse_xy(x: i32, y: i32) { function mouse_event (line 432) | fn mouse_event(flags: u32, data: u32, dx: i32, dy: i32) { FILE: src/oskbd/windows/llhook/mouse.rs type MHookFn (line 11) | type MHookFn = dyn FnMut(MouseEventType) -> bool; type MouseHook (line 19) | pub struct MouseHook { method set_input_cb (line 24) | pub fn set_input_cb(callback: impl FnMut(MouseEventType) -> bool + 'st... method drop (line 45) | fn drop(&mut self) { function mhook_proc (line 51) | unsafe extern "system" fn mhook_proc(code: c_int, wparam: WPARAM, lparam... type MouseEventType (line 86) | pub enum MouseEventType { type MousePressEvent (line 101) | pub struct MousePressEvent { method new (line 211) | pub unsafe fn new( type MouseWheel (line 108) | pub enum MouseWheel { method new (line 232) | pub fn new(wm_mouse_param: WPARAM) -> MouseWheel { type MouseWheelDirection (line 116) | pub enum MouseWheelDirection { method optionally_from (line 262) | pub unsafe fn optionally_from( method new (line 272) | fn new(ms_ll_hook_struct: &MSLLHOOKSTRUCT) -> MouseWheelDirection { type MouseWheelEvent (line 124) | pub struct MouseWheelEvent { method new (line 248) | pub unsafe fn new( type Point (line 132) | pub struct Point { method from (line 223) | fn from(value: POINT) -> Self { type MouseMoveEvent (line 139) | pub struct MouseMoveEvent { method new (line 286) | pub unsafe fn new(ms_ll_hook_struct: *const MSLLHOOKSTRUCT) -> MouseMo... type MouseButtonPress (line 145) | pub enum MouseButtonPress { method from (line 300) | fn from(value: WPARAM) -> Self { type MouseClick (line 153) | pub enum MouseClick { method from (line 314) | fn from(value: WPARAM) -> Self { type MouseButton (line 161) | pub enum MouseButton { method from (line 333) | pub unsafe fn from(wm_mouse_param: WPARAM, ms_ll_hook_struct: *const M... method into_extra (line 359) | fn into_extra(click: MouseClick, ms_ll_hook_struct: &MSLLHOOKSTRUCT) -... function classify_mouse_event (line 177) | pub unsafe fn classify_mouse_event( type Error (line 370) | type Error = (); method try_from (line 371) | fn try_from(mevt: MouseEventType) -> Result { FILE: src/oskbd/windows/mod.rs function send_uc (line 42) | fn send_uc(c: char, up: bool) { function write_code_raw (line 71) | fn write_code_raw(code: u16, value: KeyValue) -> Result<(), std::io::Err... function write_code (line 93) | fn write_code(code: u16, value: KeyValue) -> Result<(), std::io::Error> { function send_key_sendinput (line 107) | fn send_key_sendinput(code: u16, is_key_up: bool) { FILE: src/oskbd/windows/scancode_to_usvk.rs function u16_to_osc (line 5) | pub fn u16_to_osc(input: u16) -> Option { function osc_to_u16 (line 174) | pub(crate) fn osc_to_u16(osc: OsCode) -> Option { FILE: src/tcp_server.rs type HashMap (line 12) | type HashMap = rustc_hash::FxHashMap; type Connections (line 21) | pub type Connections = Arc>>; type Connections (line 24) | pub type Connections = (); function send_response (line 30) | fn send_response( function to_action (line 45) | fn to_action(val: FakeKeyActionMessage) -> FakeKeyAction { function handle_reload_with_wait (line 57) | fn handle_reload_with_wait( type TcpServer (line 109) | pub struct TcpServer { method new (line 122) | pub fn new(address: SocketAddr, wakeup_channel: Sender) -> S... method new (line 131) | pub fn new(_address: SocketAddr, _wakeup_channel: Sender) ->... method start (line 136) | pub fn start(&mut self, kanata: Arc>) { method start (line 467) | pub fn start(&mut self, _kanata: Arc>) {} type TcpServer (line 116) | pub struct TcpServer { method new (line 122) | pub fn new(address: SocketAddr, wakeup_channel: Sender) -> S... method new (line 131) | pub fn new(_address: SocketAddr, _wakeup_channel: Sender) ->... method start (line 136) | pub fn start(&mut self, kanata: Arc>) { method start (line 467) | pub fn start(&mut self, _kanata: Arc>) {} function simple_sexpr_to_json_array (line 471) | pub fn simple_sexpr_to_json_array(exprs: &[SimpleSExpr]) -> serde_json::... FILE: src/tests.rs function init_log (line 20) | fn init_log() { function parse_simple (line 43) | fn parse_simple() { function parse_minimal (line 53) | fn parse_minimal() { function parse_deflayermap (line 63) | fn parse_deflayermap() { function parse_default (line 73) | fn parse_default() { function parse_jtroo (line 83) | fn parse_jtroo() { function parse_f13_f24 (line 94) | fn parse_f13_f24() { function parse_home_row_mods (line 104) | fn parse_home_row_mods() { function parse_press_release_toggle_vkeys (line 121) | fn parse_press_release_toggle_vkeys() { function parse_automousekeys_only (line 134) | fn parse_automousekeys_only() { function parse_automousekeys_full_map (line 147) | fn parse_automousekeys_full_map() { function parse_push_msg (line 160) | fn parse_push_msg() { function sizeof_state (line 171) | fn sizeof_state() { FILE: src/tests/passthru_macos_tests.rs function passthru_args (line 6) | fn passthru_args() -> ValidatedArgs { function passthru_runtime_output_channel_is_ready_and_emits_events (line 16) | fn passthru_runtime_output_channel_is_ready_and_emits_events() { FILE: src/tests/sim_tests/block_keys_tests.rs function block_does_not_block_buttons (line 4) | fn block_does_not_block_buttons() { function block_does_not_block_wheel (line 22) | fn block_does_not_block_wheel() { FILE: src/tests/sim_tests/capsword_sim_tests.rs constant CFG (line 3) | const CFG: &str = r##" function caps_word_behaves_correctly (line 15) | fn caps_word_behaves_correctly() { function caps_word_custom_behaves_correctly (line 30) | fn caps_word_custom_behaves_correctly() { function caps_word_times_out (line 45) | fn caps_word_times_out() { function caps_word_custom_times_out (line 56) | fn caps_word_custom_times_out() { function caps_word_does_not_toggle (line 67) | fn caps_word_does_not_toggle() { function caps_word_custom_does_not_toggle (line 77) | fn caps_word_custom_does_not_toggle() { function caps_word_toggle_does_toggle (line 87) | fn caps_word_toggle_does_toggle() { function caps_word_custom_toggle_does_toggle (line 97) | fn caps_word_custom_toggle_does_toggle() { FILE: src/tests/sim_tests/chord_sim_tests.rs function sim_chord_basic_repeated_last_release (line 15) | fn sim_chord_basic_repeated_last_release() { function sim_chord_min_idle_takes_effect (line 28) | fn sim_chord_min_idle_takes_effect() { function sim_timeout_hold_key (line 47) | fn sim_timeout_hold_key() { function sim_chord_basic_repeated_first_release (line 59) | fn sim_chord_basic_repeated_first_release() { function sim_chord_overlapping_timeout (line 83) | fn sim_chord_overlapping_timeout() { function sim_chord_overlapping_timeout_v2 (line 89) | fn sim_chord_overlapping_timeout_v2() { function sim_chord_overlapping_release (line 108) | fn sim_chord_overlapping_release() { function sim_presses_for_old_chord_repress_into_new_chord (line 118) | fn sim_presses_for_old_chord_repress_into_new_chord() { function sim_chord_activate_largest_overlapping (line 128) | fn sim_chord_activate_largest_overlapping() { function sim_chord_layer_1_switch_disabled (line 152) | fn sim_chord_layer_1_switch_disabled() { function sim_chord_layer_2_switch_disabled (line 164) | fn sim_chord_layer_2_switch_disabled() { function sim_chord_layer_3_switch_disabled (line 176) | fn sim_chord_layer_3_switch_disabled() { function sim_chord_layer_1_held_disabled (line 188) | fn sim_chord_layer_1_held_disabled() { function sim_chord_layer_2_held_disabled (line 200) | fn sim_chord_layer_2_held_disabled() { function sim_chord_layer_3_held_disabled (line 212) | fn sim_chord_layer_3_held_disabled() { function sim_chord_layer_3_repeat (line 224) | fn sim_chord_layer_3_repeat() { function sim_chord_into_tap_hold (line 246) | fn sim_chord_into_tap_hold() { function sim_chord_pending_tap_hold (line 267) | fn sim_chord_pending_tap_hold() { function sim_denies_transparent (line 287) | fn sim_denies_transparent() { function sim_chord_eager_tapholdpress_activation (line 292) | fn sim_chord_eager_tapholdpress_activation() { function sim_chord_eager_tapholdrelease_activation (line 317) | fn sim_chord_eager_tapholdrelease_activation() { function sim_chord_release_nonchord_key_has_correct_order (line 351) | fn sim_chord_release_nonchord_key_has_correct_order() { function sim_chord_simultaneous_macro (line 371) | fn sim_chord_simultaneous_macro() { function sim_chord_error_on_duplicate_keyset (line 398) | fn sim_chord_error_on_duplicate_keyset() { function sim_chord_oneshot (line 414) | fn sim_chord_oneshot() { function sim_chord_timeout_events (line 435) | fn sim_chord_timeout_events() { function sim_chordsv2_quick_release (line 462) | fn sim_chordsv2_quick_release() { function sim_chordsv1_key_history_updates_once (line 484) | fn sim_chordsv1_key_history_updates_once() { FILE: src/tests/sim_tests/delay_tests.rs function on_press_delay_must_be_single_threaded (line 5) | fn on_press_delay_must_be_single_threaded() { function on_release_delay_must_be_single_threaded (line 20) | fn on_release_delay_must_be_single_threaded() { function no_delay_must_be_single_threaded (line 35) | fn no_delay_must_be_single_threaded() { FILE: src/tests/sim_tests/layer_sim_tests.rs function transparent_base (line 4) | fn transparent_base() { function delegate_base (line 15) | fn delegate_base() { function delegate_base_but_base_is_transparent (line 28) | fn delegate_base_but_base_is_transparent() { function layer_switching (line 41) | fn layer_switching() { function layer_holding (line 67) | fn layer_holding() { function ls_sim_switch_to_layer (line 105) | fn ls_sim_switch_to_layer() { function ls_sim_switch_multiple_layers (line 118) | fn ls_sim_switch_multiple_layers() { function ls_sim_switch_back_to_base (line 132) | fn ls_sim_switch_back_to_base() { function ls_sim_layer_switch_prefix (line 145) | fn ls_sim_layer_switch_prefix() { function ls_sim_with_delegate_to_first_layer (line 157) | fn ls_sim_with_delegate_to_first_layer() { function ls_sim_transparent_no_delegate (line 172) | fn ls_sim_transparent_no_delegate() { FILE: src/tests/sim_tests/macro_sim_tests.rs function macro_cancel_on_press (line 4) | fn macro_cancel_on_press() { function test_on_press (line 15) | fn test_on_press(cfg: &str) { function macro_release_cancel_and_cancel_on_press (line 41) | fn macro_release_cancel_and_cancel_on_press() { function test_release_and_on_press (line 52) | fn test_release_and_on_press(cfg: &str) { function macro_repeat (line 87) | fn macro_repeat() { function macro_release_cancel (line 118) | fn macro_release_cancel() { function test_release (line 129) | fn test_release(cfg: &str) { FILE: src/tests/sim_tests/mod.rs function parse_fakekey_spec (line 19) | fn parse_fakekey_spec(spec: &str) -> (&str, FakeKeyAction) { function apply_fakekey_action (line 38) | fn apply_fakekey_action(k: &mut Kanata, name: &str, action: FakeKeyActio... function apply_layer_switch (line 47) | fn apply_layer_switch(k: &mut Kanata, layer_name: &str) { function simulate (line 80) | fn simulate>(cfg: S, sim: S) -> String { function simulate_with_file_content (line 84) | fn simulate_with_file_content>( type SimTransform (line 156) | trait SimTransform { method to_spaces (line 158) | fn to_spaces(self) -> Self; method no_releases (line 160) | fn no_releases(self) -> Self; method no_time (line 162) | fn no_time(self) -> Self; method to_ascii (line 164) | fn to_ascii(self) -> Self; method to_spaces (line 168) | fn to_spaces(self) -> Self { method no_time (line 172) | fn no_time(self) -> Self { method no_releases (line 179) | fn no_releases(self) -> Self { method to_ascii (line 186) | fn to_ascii(self) -> Self { FILE: src/tests/sim_tests/oneshot_tests.rs function oneshot_pause (line 4) | fn oneshot_pause() { function oneshot_multi_with_chord (line 46) | fn oneshot_multi_with_chord() { function oneshot_multi_with_layer (line 60) | fn oneshot_multi_with_layer() { FILE: src/tests/sim_tests/output_chord_tests.rs function output_chord_samekey_has_release (line 4) | fn output_chord_samekey_has_release() { function output_chord_follows_processing_delay_config (line 19) | fn output_chord_follows_processing_delay_config() { FILE: src/tests/sim_tests/override_tests.rs function override_with_unmod (line 4) | fn override_with_unmod() { function override_release_mod_change_key (line 30) | fn override_release_mod_change_key() { function override_eagerly_releases (line 55) | fn override_eagerly_releases() { function config_with_both_overrides (line 74) | fn config_with_both_overrides() { function config_with_two_overrides (line 89) | fn config_with_two_overrides() { function config_with_both_overridesv2 (line 104) | fn config_with_both_overridesv2() { function config_with_overridev2 (line 118) | fn config_with_overridev2() { FILE: src/tests/sim_tests/release_sim_tests.rs function release_standard (line 4) | fn release_standard() { function release_reversed (line 19) | fn release_reversed() { FILE: src/tests/sim_tests/repeat_sim_tests.rs function repeat_standard (line 4) | fn repeat_standard() { function repeat_layer_while_held (line 21) | fn repeat_layer_while_held() { function repeat_layer_switch (line 39) | fn repeat_layer_switch() { function repeat_layer_held_trans (line 57) | fn repeat_layer_held_trans() { function repeat_many_layer_held_trans (line 75) | fn repeat_many_layer_held_trans() { function repeat_base_layer_trans (line 100) | fn repeat_base_layer_trans() { function repeat_delegate_to_base_layer_trans (line 117) | fn repeat_delegate_to_base_layer_trans() { FILE: src/tests/sim_tests/seq_sim_tests.rs function special_nop_keys (line 4) | fn special_nop_keys() { function chorded_keys_visible_backspaced (line 24) | fn chorded_keys_visible_backspaced() { constant OVERLAP_CFG (line 51) | const OVERLAP_CFG: &str = " function overlapping_activate_overlap (line 74) | fn overlapping_activate_overlap() { function overlapping_activate_nonoverlap (line 85) | fn overlapping_activate_nonoverlap() { function overlapping_then_nonoverlap_activate_overlap (line 96) | fn overlapping_then_nonoverlap_activate_overlap() { function overlapping_then_nonoverlap_activate_non_overlap (line 107) | fn overlapping_then_nonoverlap_activate_non_overlap() { function overlapping_then_overlap_activate_overlap1 (line 118) | fn overlapping_then_overlap_activate_overlap1() { function overlapping_then_overlap_activate_overlap2 (line 129) | fn overlapping_then_overlap_activate_overlap2() { function overlapping_then_overlap_activate_overlap3 (line 140) | fn overlapping_then_overlap_activate_overlap3() { function overlapping_then_overlap_activate_nonoverlap (line 151) | fn overlapping_then_overlap_activate_nonoverlap() { function non_overlapping_then_overlap_activate_overlap (line 162) | fn non_overlapping_then_overlap_activate_overlap() { function non_overlapping_then_overlap_activate_nothing (line 173) | fn non_overlapping_then_overlap_activate_nothing() { function noerase (line 212) | fn noerase() { function tap_hold_pending (line 241) | fn tap_hold_pending() { FILE: src/tests/sim_tests/switch_sim_tests.rs function sim_switch_layer (line 4) | fn sim_switch_layer() { function sim_switch_base_layer (line 22) | fn sim_switch_base_layer() { function sim_switch_noop (line 40) | fn sim_switch_noop() { function sim_switch_trans_not_top_layer (line 56) | fn sim_switch_trans_not_top_layer() { FILE: src/tests/sim_tests/tap_dance_tests.rs function tap_dance_eager_with_mlft (line 4) | fn tap_dance_eager_with_mlft() { FILE: src/tests/sim_tests/tap_hold_tests.rs function delayed_timedout_released_taphold_can_still_tap (line 4) | fn delayed_timedout_released_taphold_can_still_tap() { function delayed_timedout_released_taphold_can_hold (line 25) | fn delayed_timedout_released_taphold_can_hold() { function tap_hold_release_timeout_no_reset (line 43) | fn tap_hold_release_timeout_no_reset() { function tap_hold_release_timeout_with_reset (line 56) | fn tap_hold_release_timeout_with_reset() { function on_physical_idle_with_tap_repress (line 69) | fn on_physical_idle_with_tap_repress() { function tap_hold_release_tap_keys_release (line 92) | fn tap_hold_release_tap_keys_release() { function tap_hold_release_keys (line 124) | fn tap_hold_release_keys() { function tap_hold_tap_keys (line 144) | fn tap_hold_tap_keys() { function opposite_hand_cfg (line 177) | fn opposite_hand_cfg() -> &'static str { function opposite_hand_press_resolves_hold (line 190) | fn opposite_hand_press_resolves_hold() { function same_hand_press_resolves_tap (line 200) | fn same_hand_press_resolves_tap() { function same_hand_ignore_defers_to_timeout (line 216) | fn same_hand_ignore_defers_to_timeout() { function neutral_key_ignore_defers (line 233) | fn neutral_key_ignore_defers() { function neutral_key_tap_resolves_immediately (line 253) | fn neutral_key_tap_resolves_immediately() { function unknown_hand_key_defers_by_default (line 272) | fn unknown_hand_key_defers_by_default() { function timeout_default_is_tap (line 289) | fn timeout_default_is_tap() { function timeout_hold_option (line 296) | fn timeout_hold_option() { function release_before_timeout_taps (line 312) | fn release_before_timeout_taps() { function multiple_options_combined (line 319) | fn multiple_options_combined() { function unknown_hand_tap_resolves_immediately (line 341) | fn unknown_hand_tap_resolves_immediately() { function unknown_hand_hold_resolves_immediately (line 357) | fn unknown_hand_hold_resolves_immediately() { function neutral_key_hold_resolves_immediately (line 376) | fn neutral_key_hold_resolves_immediately() { function waiting_key_unassigned_in_defhands (line 395) | fn waiting_key_unassigned_in_defhands() { function neutral_keys_override_defhands_assignment (line 413) | fn neutral_keys_override_defhands_assignment() { function tap_hold_require_prior_idle_typing_streak_resolves_tap (line 434) | fn tap_hold_require_prior_idle_typing_streak_resolves_tap() { function tap_hold_require_prior_idle_idle_long_enough_enters_hold (line 452) | fn tap_hold_require_prior_idle_idle_long_enough_enters_hold() { function tap_hold_require_prior_idle_no_prior_key_enters_hold (line 470) | fn tap_hold_require_prior_idle_no_prior_key_enters_hold() { function tap_hold_require_prior_idle_boundary_just_within_threshold (line 487) | fn tap_hold_require_prior_idle_boundary_just_within_threshold() { function tap_hold_require_prior_idle_boundary_just_outside_threshold (line 505) | fn tap_hold_require_prior_idle_boundary_just_outside_threshold() { function tap_hold_require_prior_idle_with_opposite_hand (line 524) | fn tap_hold_require_prior_idle_with_opposite_hand() { function tap_hold_require_prior_idle_with_tap_hold_interval (line 546) | fn tap_hold_require_prior_idle_with_tap_hold_interval() { function tap_hold_require_prior_idle_ignores_virtual_keys (line 565) | fn tap_hold_require_prior_idle_ignores_virtual_keys() { function per_action_require_prior_idle_overrides_global (line 588) | fn per_action_require_prior_idle_overrides_global() { function per_action_require_prior_idle_disable_overrides_global (line 607) | fn per_action_require_prior_idle_disable_overrides_global() { function per_action_require_prior_idle_enables_without_global (line 627) | fn per_action_require_prior_idle_enables_without_global() { function per_action_require_prior_idle_mixed_actions (line 644) | fn per_action_require_prior_idle_mixed_actions() { function per_action_require_prior_idle_with_tap_hold_release (line 671) | fn per_action_require_prior_idle_with_tap_hold_release() { function per_action_require_prior_idle_with_opposite_hand (line 690) | fn per_action_require_prior_idle_with_opposite_hand() { function tap_hold_order_clean_tap (line 722) | fn tap_hold_order_clean_tap() { function tap_hold_order_hold_other_released_first (line 737) | fn tap_hold_order_hold_other_released_first() { function tap_hold_order_tap_modifier_released_first (line 755) | fn tap_hold_order_tap_modifier_released_first() { function tap_hold_order_buffer_ignores_fast_typing (line 770) | fn tap_hold_order_buffer_ignores_fast_typing() { function tap_hold_order_hold_after_buffer_expires (line 788) | fn tap_hold_order_hold_after_buffer_expires() { function tap_hold_order_with_require_prior_idle (line 809) | fn tap_hold_order_with_require_prior_idle() { function tap_hold_order_no_prior_idle_enters_normal_resolution (line 825) | fn tap_hold_order_no_prior_idle_enters_normal_resolution() { FILE: src/tests/sim_tests/template_sim_tests.rs function nested_template (line 4) | fn nested_template() { FILE: src/tests/sim_tests/timing_tests.rs function one_second_is_roughly_1000_counted_ticks (line 9) | fn one_second_is_roughly_1000_counted_ticks() { FILE: src/tests/sim_tests/unicode_sim_tests.rs function unicode (line 4) | fn unicode() { function macos_unicode_handling (line 26) | fn macos_unicode_handling() { function unicode_pulus (line 42) | fn unicode_pulus() { FILE: src/tests/sim_tests/unmod_sim_tests.rs function unmod_keys_functionality_works (line 4) | fn unmod_keys_functionality_works() { function unmod_keys_mod_list_cannot_be_empty (line 47) | fn unmod_keys_mod_list_cannot_be_empty() { function unmod_keys_mod_list_cannot_have_nonmod_key (line 60) | fn unmod_keys_mod_list_cannot_have_nonmod_key() { function unmod_keys_mod_list_cannot_have_empty_keys_after_mod_list (line 73) | fn unmod_keys_mod_list_cannot_have_empty_keys_after_mod_list() { function unmod_keys_mod_list_cannot_have_empty_keys (line 86) | fn unmod_keys_mod_list_cannot_have_empty_keys() { function unmod_keys_mod_list_cannot_have_invalid_keys (line 99) | fn unmod_keys_mod_list_cannot_have_invalid_keys() { FILE: src/tests/sim_tests/use_defsrc_sim_tests.rs function use_defsrc_deflayer (line 4) | fn use_defsrc_deflayer() { function use_defsrc_deflayermap (line 26) | fn use_defsrc_deflayermap() { FILE: src/tests/sim_tests/vkey_sim_tests.rs function hold_for_duration (line 4) | fn hold_for_duration() { function vk_sim_default_press (line 34) | fn vk_sim_default_press() { function vk_sim_explicit_press (line 48) | fn vk_sim_explicit_press() { function vk_sim_press_shorthand (line 61) | fn vk_sim_press_shorthand() { function vk_sim_release (line 73) | fn vk_sim_release() { function vk_sim_tap (line 86) | fn vk_sim_tap() { function vk_sim_tap_shorthand (line 99) | fn vk_sim_tap_shorthand() { function vk_sim_toggle (line 111) | fn vk_sim_toggle() { function vk_sim_toggle_shorthand (line 125) | fn vk_sim_toggle_shorthand() { function vk_sim_fakekey_prefix (line 137) | fn vk_sim_fakekey_prefix() { function vk_sim_virtualkey_prefix (line 149) | fn vk_sim_virtualkey_prefix() { function vk_sim_emoji_prefix (line 161) | fn vk_sim_emoji_prefix() { function vk_sim_layer_switch (line 173) | fn vk_sim_layer_switch() { function vk_sim_multiple_vkeys (line 187) | fn vk_sim_multiple_vkeys() { function on_idle_must_be_single_threaded (line 221) | fn on_idle_must_be_single_threaded() { FILE: src/tests/sim_tests/zippychord_sim_tests.rs function simulate_with_zippy_file_content (line 22) | fn simulate_with_zippy_file_content(cfg: &str, input: &str, content: &st... function sim_zippychord_capitalize (line 29) | fn sim_zippychord_capitalize() { function sim_zippychord_followup_with_prev (line 52) | fn sim_zippychord_followup_with_prev() { function sim_zippychord_followup_no_prev (line 70) | fn sim_zippychord_followup_no_prev() { function sim_zippychord_washington (line 86) | fn sim_zippychord_washington() { function sim_zippychord_overlap (line 107) | fn sim_zippychord_overlap() { function sim_zippychord_lsft (line 133) | fn sim_zippychord_lsft() { function sim_zippychord_rsft (line 182) | fn sim_zippychord_rsft() { function sim_zippychord_ralt (line 231) | fn sim_zippychord_ralt() { function sim_zippychord_caps_word (line 280) | fn sim_zippychord_caps_word() { function sim_zippychord_triple_combo (line 310) | fn sim_zippychord_triple_combo() { function sim_zippychord_disabled_by_typing (line 329) | fn sim_zippychord_disabled_by_typing() { function sim_zippychord_prefix (line 340) | fn sim_zippychord_prefix() { function sim_zippychord_smartspace_full (line 372) | fn sim_zippychord_smartspace_full() { function sim_zippychord_smartspace_spaceonly (line 403) | fn sim_zippychord_smartspace_spaceonly() { function sim_zippychord_smartspace_none (line 434) | fn sim_zippychord_smartspace_none() { function sim_zippychord_smartspace_overlap (line 465) | fn sim_zippychord_smartspace_overlap() { function sim_zippychord_smartspace_followup (line 498) | fn sim_zippychord_smartspace_followup() { constant CUSTOM_PUNC_CFG (line 516) | const CUSTOM_PUNC_CFG: &str = "\ function sim_zippychord_smartspace_custom_punc (line 528) | fn sim_zippychord_smartspace_custom_punc() { function sim_zippychord_non_followup_subsequent_with_potential_followups_available (line 622) | fn sim_zippychord_non_followup_subsequent_with_potential_followups_avail... constant DEAD_KEYS_CFG (line 639) | const DEAD_KEYS_CFG: &str = "\ function sim_zippychord_noerase (line 662) | fn sim_zippychord_noerase() { function sim_zippychord_single_output (line 697) | fn sim_zippychord_single_output() { FILE: tcp_protocol/src/lib.rs type ServerMessage (line 11) | pub enum ServerMessage { method as_bytes (line 79) | pub fn as_bytes(&self) -> Vec { type ServerResponse (line 65) | pub enum ServerResponse { method as_bytes (line 71) | pub fn as_bytes(&self) -> Vec { type ClientMessage (line 88) | pub enum ClientMessage { type FakeKeyActionMessage (line 147) | pub enum FakeKeyActionMessage { type Err (line 155) | type Err = serde_json::Error; method from_str (line 157) | fn from_str(s: &str) -> std::result::Result { function test_server_response_json_format (line 167) | fn test_server_response_json_format() { function test_as_bytes_includes_newline (line 175) | fn test_as_bytes_includes_newline() { function test_hello_ok_json_format (line 181) | fn test_hello_ok_json_format() { function test_reload_with_wait (line 193) | fn test_reload_with_wait() { function test_reload_minimal (line 204) | fn test_reload_minimal() { function test_existing_commands_unchanged (line 218) | fn test_existing_commands_unchanged() { function test_request_fake_key_names (line 232) | fn test_request_fake_key_names() { function test_fake_key_names_response (line 239) | fn test_fake_key_names_response() { function test_fake_key_names_empty (line 260) | fn test_fake_key_names_empty() { function test_hold_activated_json_format (line 267) | fn test_hold_activated_json_format() { function test_tap_activated_json_format (line 276) | fn test_tap_activated_json_format() { FILE: wasm/src/lib.rs function init (line 11) | pub fn init() { function check_config (line 18) | pub fn check_config(cfg: &str) -> JsValue { function simulate (line 28) | pub fn simulate(cfg: &str, sim: &str) -> JsValue { function split_cfg_and_sim_files (line 35) | fn split_cfg_and_sim_files(original_cfg: &str) -> (String, FxHashMap Result<(&str, FakeKeyAction)> { function apply_fakekey_action (line 97) | fn apply_fakekey_action(k: &mut Kanata, name: &str, action: FakeKeyActio... function simulate_impl (line 106) | fn simulate_impl(cfg: &str, sim: &str) -> Result { function sim (line 193) | fn sim(cfg: &str, sim: &str) -> String { function sim_err (line 197) | fn sim_err(cfg: &str, sim: &str) -> String { function basic_key_press_release (line 204) | fn basic_key_press_release() { function tick_syntax_variants (line 211) | fn tick_syntax_variants() { function press_syntax_variants (line 220) | fn press_syntax_variants() { function release_syntax_variants (line 232) | fn release_syntax_variants() { function repeat_key (line 244) | fn repeat_key() { function layer_switch (line 251) | fn layer_switch() { function layer_switch_back_to_base (line 260) | fn layer_switch_back_to_base() { function layer_switch_syntax_variants (line 270) | fn layer_switch_syntax_variants() { function virtual_key_press (line 289) | fn virtual_key_press() { function virtual_key_tap (line 298) | fn virtual_key_tap() { function virtual_key_syntax_variants (line 308) | fn virtual_key_syntax_variants() { function error_unknown_key (line 332) | fn error_unknown_key() { function error_unknown_layer (line 338) | fn error_unknown_layer() { function error_unknown_virtual_key (line 344) | fn error_unknown_virtual_key() { function error_invalid_action (line 350) | fn error_invalid_action() { function error_missing_colon (line 356) | fn error_missing_colon() { FILE: windows_key_tester/src/main.rs function main (line 11) | fn main() { function main (line 21) | fn main() { FILE: windows_key_tester/src/windows.rs type Args (line 17) | struct Args { function cli_init (line 29) | fn cli_init() { function main_impl (line 52) | pub(crate) fn main_impl() -> Result<()> { FILE: windows_key_tester/src/windows/interception.rs function start (line 5) | pub fn start() -> Result<()> { type OsCode (line 223) | pub enum OsCode { type Error (line 40) | type Error = (); method try_from (line 42) | fn try_from(item: Stroke) -> Result { method as_u16 (line 975) | pub fn as_u16(self) -> u16 { constant VK_LBUTTON (line 778) | pub const VK_LBUTTON: u16 = 0x01; constant VK_RBUTTON (line 779) | pub const VK_RBUTTON: u16 = 0x02; constant VK_CANCEL (line 780) | pub const VK_CANCEL: u16 = 0x03; constant VK_MBUTTON (line 781) | pub const VK_MBUTTON: u16 = 0x04; constant VK_XBUTTON1 (line 782) | pub const VK_XBUTTON1: u16 = 0x05; constant VK_XBUTTON2 (line 783) | pub const VK_XBUTTON2: u16 = 0x06; constant VK_BACK (line 784) | pub const VK_BACK: u16 = 0x08; constant VK_TAB (line 785) | pub const VK_TAB: u16 = 0x09; constant VK_CLEAR (line 786) | pub const VK_CLEAR: u16 = 0x0C; constant VK_RETURN (line 787) | pub const VK_RETURN: u16 = 0x0D; constant VK_SHIFT (line 788) | pub const VK_SHIFT: u16 = 0x10; constant VK_CONTROL (line 789) | pub const VK_CONTROL: u16 = 0x11; constant VK_MENU (line 790) | pub const VK_MENU: u16 = 0x12; constant VK_PAUSE (line 791) | pub const VK_PAUSE: u16 = 0x13; constant VK_CAPITAL (line 792) | pub const VK_CAPITAL: u16 = 0x14; constant VK_KANA (line 793) | pub const VK_KANA: u16 = 0x15; constant VK_HANGEUL (line 794) | pub const VK_HANGEUL: u16 = 0x15; constant VK_HANGUL (line 795) | pub const VK_HANGUL: u16 = 0x15; constant VK_JUNJA (line 796) | pub const VK_JUNJA: u16 = 0x17; constant VK_FINAL (line 797) | pub const VK_FINAL: u16 = 0x18; constant VK_HANJA (line 798) | pub const VK_HANJA: u16 = 0x19; constant VK_KANJI (line 799) | pub const VK_KANJI: u16 = 0x19; constant VK_ESCAPE (line 800) | pub const VK_ESCAPE: u16 = 0x1B; constant VK_CONVERT (line 801) | pub const VK_CONVERT: u16 = 0x1C; constant VK_NONCONVERT (line 802) | pub const VK_NONCONVERT: u16 = 0x1D; constant VK_ACCEPT (line 803) | pub const VK_ACCEPT: u16 = 0x1E; constant VK_MODECHANGE (line 804) | pub const VK_MODECHANGE: u16 = 0x1F; constant VK_SPACE (line 805) | pub const VK_SPACE: u16 = 0x20; constant VK_PRIOR (line 806) | pub const VK_PRIOR: u16 = 0x21; constant VK_NEXT (line 807) | pub const VK_NEXT: u16 = 0x22; constant VK_END (line 808) | pub const VK_END: u16 = 0x23; constant VK_HOME (line 809) | pub const VK_HOME: u16 = 0x24; constant VK_LEFT (line 810) | pub const VK_LEFT: u16 = 0x25; constant VK_UP (line 811) | pub const VK_UP: u16 = 0x26; constant VK_RIGHT (line 812) | pub const VK_RIGHT: u16 = 0x27; constant VK_DOWN (line 813) | pub const VK_DOWN: u16 = 0x28; constant VK_SELECT (line 814) | pub const VK_SELECT: u16 = 0x29; constant VK_PRINT (line 815) | pub const VK_PRINT: u16 = 0x2A; constant VK_EXECUTE (line 816) | pub const VK_EXECUTE: u16 = 0x2B; constant VK_SNAPSHOT (line 817) | pub const VK_SNAPSHOT: u16 = 0x2C; constant VK_INSERT (line 818) | pub const VK_INSERT: u16 = 0x2D; constant VK_DELETE (line 819) | pub const VK_DELETE: u16 = 0x2E; constant VK_HELP (line 820) | pub const VK_HELP: u16 = 0x2F; constant VK_LWIN (line 821) | pub const VK_LWIN: u16 = 0x5B; constant VK_RWIN (line 822) | pub const VK_RWIN: u16 = 0x5C; constant VK_APPS (line 823) | pub const VK_APPS: u16 = 0x5D; constant VK_SLEEP (line 824) | pub const VK_SLEEP: u16 = 0x5F; constant VK_NUMPAD0 (line 825) | pub const VK_NUMPAD0: u16 = 0x60; constant VK_NUMPAD1 (line 826) | pub const VK_NUMPAD1: u16 = 0x61; constant VK_NUMPAD2 (line 827) | pub const VK_NUMPAD2: u16 = 0x62; constant VK_NUMPAD3 (line 828) | pub const VK_NUMPAD3: u16 = 0x63; constant VK_NUMPAD4 (line 829) | pub const VK_NUMPAD4: u16 = 0x64; constant VK_NUMPAD5 (line 830) | pub const VK_NUMPAD5: u16 = 0x65; constant VK_NUMPAD6 (line 831) | pub const VK_NUMPAD6: u16 = 0x66; constant VK_NUMPAD7 (line 832) | pub const VK_NUMPAD7: u16 = 0x67; constant VK_NUMPAD8 (line 833) | pub const VK_NUMPAD8: u16 = 0x68; constant VK_NUMPAD9 (line 834) | pub const VK_NUMPAD9: u16 = 0x69; constant VK_MULTIPLY (line 835) | pub const VK_MULTIPLY: u16 = 0x6A; constant VK_ADD (line 836) | pub const VK_ADD: u16 = 0x6B; constant VK_SEPARATOR (line 837) | pub const VK_SEPARATOR: u16 = 0x6C; constant VK_SUBTRACT (line 838) | pub const VK_SUBTRACT: u16 = 0x6D; constant VK_DECIMAL (line 839) | pub const VK_DECIMAL: u16 = 0x6E; constant VK_DIVIDE (line 840) | pub const VK_DIVIDE: u16 = 0x6F; constant VK_F1 (line 841) | pub const VK_F1: u16 = 0x70; constant VK_F2 (line 842) | pub const VK_F2: u16 = 0x71; constant VK_F3 (line 843) | pub const VK_F3: u16 = 0x72; constant VK_F4 (line 844) | pub const VK_F4: u16 = 0x73; constant VK_F5 (line 845) | pub const VK_F5: u16 = 0x74; constant VK_F6 (line 846) | pub const VK_F6: u16 = 0x75; constant VK_F7 (line 847) | pub const VK_F7: u16 = 0x76; constant VK_F8 (line 848) | pub const VK_F8: u16 = 0x77; constant VK_F9 (line 849) | pub const VK_F9: u16 = 0x78; constant VK_F10 (line 850) | pub const VK_F10: u16 = 0x79; constant VK_F11 (line 851) | pub const VK_F11: u16 = 0x7A; constant VK_F12 (line 852) | pub const VK_F12: u16 = 0x7B; constant VK_F13 (line 853) | pub const VK_F13: u16 = 0x7C; constant VK_F14 (line 854) | pub const VK_F14: u16 = 0x7D; constant VK_F15 (line 855) | pub const VK_F15: u16 = 0x7E; constant VK_F16 (line 856) | pub const VK_F16: u16 = 0x7F; constant VK_F17 (line 857) | pub const VK_F17: u16 = 0x80; constant VK_F18 (line 858) | pub const VK_F18: u16 = 0x81; constant VK_F19 (line 859) | pub const VK_F19: u16 = 0x82; constant VK_F20 (line 860) | pub const VK_F20: u16 = 0x83; constant VK_F21 (line 861) | pub const VK_F21: u16 = 0x84; constant VK_F22 (line 862) | pub const VK_F22: u16 = 0x85; constant VK_F23 (line 863) | pub const VK_F23: u16 = 0x86; constant VK_F24 (line 864) | pub const VK_F24: u16 = 0x87; constant VK_NAVIGATION_VIEW (line 865) | pub const VK_NAVIGATION_VIEW: u16 = 0x88; constant VK_NAVIGATION_MENU (line 866) | pub const VK_NAVIGATION_MENU: u16 = 0x89; constant VK_NAVIGATION_UP (line 867) | pub const VK_NAVIGATION_UP: u16 = 0x8A; constant VK_NAVIGATION_DOWN (line 868) | pub const VK_NAVIGATION_DOWN: u16 = 0x8B; constant VK_NAVIGATION_LEFT (line 869) | pub const VK_NAVIGATION_LEFT: u16 = 0x8C; constant VK_NAVIGATION_RIGHT (line 870) | pub const VK_NAVIGATION_RIGHT: u16 = 0x8D; constant VK_NAVIGATION_ACCEPT (line 871) | pub const VK_NAVIGATION_ACCEPT: u16 = 0x8E; constant VK_NAVIGATION_CANCEL (line 872) | pub const VK_NAVIGATION_CANCEL: u16 = 0x8F; constant VK_NUMLOCK (line 873) | pub const VK_NUMLOCK: u16 = 0x90; constant VK_SCROLL (line 874) | pub const VK_SCROLL: u16 = 0x91; constant VK_OEM_NEC_EQUAL (line 875) | pub const VK_OEM_NEC_EQUAL: u16 = 0x92; constant VK_OEM_FJ_JISHO (line 876) | pub const VK_OEM_FJ_JISHO: u16 = 0x92; constant VK_OEM_FJ_MASSHOU (line 877) | pub const VK_OEM_FJ_MASSHOU: u16 = 0x93; constant VK_OEM_FJ_TOUROKU (line 878) | pub const VK_OEM_FJ_TOUROKU: u16 = 0x94; constant VK_OEM_FJ_LOYA (line 879) | pub const VK_OEM_FJ_LOYA: u16 = 0x95; constant VK_OEM_FJ_ROYA (line 880) | pub const VK_OEM_FJ_ROYA: u16 = 0x96; constant VK_LSHIFT (line 881) | pub const VK_LSHIFT: u16 = 0xA0; constant VK_RSHIFT (line 882) | pub const VK_RSHIFT: u16 = 0xA1; constant VK_LCONTROL (line 883) | pub const VK_LCONTROL: u16 = 0xA2; constant VK_RCONTROL (line 884) | pub const VK_RCONTROL: u16 = 0xA3; constant VK_LMENU (line 885) | pub const VK_LMENU: u16 = 0xA4; constant VK_RMENU (line 886) | pub const VK_RMENU: u16 = 0xA5; constant VK_BROWSER_BACK (line 887) | pub const VK_BROWSER_BACK: u16 = 0xA6; constant VK_BROWSER_FORWARD (line 888) | pub const VK_BROWSER_FORWARD: u16 = 0xA7; constant VK_BROWSER_REFRESH (line 889) | pub const VK_BROWSER_REFRESH: u16 = 0xA8; constant VK_BROWSER_STOP (line 890) | pub const VK_BROWSER_STOP: u16 = 0xA9; constant VK_BROWSER_SEARCH (line 891) | pub const VK_BROWSER_SEARCH: u16 = 0xAA; constant VK_BROWSER_FAVORITES (line 892) | pub const VK_BROWSER_FAVORITES: u16 = 0xAB; constant VK_BROWSER_HOME (line 893) | pub const VK_BROWSER_HOME: u16 = 0xAC; constant VK_VOLUME_MUTE (line 894) | pub const VK_VOLUME_MUTE: u16 = 0xAD; constant VK_VOLUME_DOWN (line 895) | pub const VK_VOLUME_DOWN: u16 = 0xAE; constant VK_VOLUME_UP (line 896) | pub const VK_VOLUME_UP: u16 = 0xAF; constant VK_MEDIA_NEXT_TRACK (line 897) | pub const VK_MEDIA_NEXT_TRACK: u16 = 0xB0; constant VK_MEDIA_PREV_TRACK (line 898) | pub const VK_MEDIA_PREV_TRACK: u16 = 0xB1; constant VK_MEDIA_STOP (line 899) | pub const VK_MEDIA_STOP: u16 = 0xB2; constant VK_MEDIA_PLAY_PAUSE (line 900) | pub const VK_MEDIA_PLAY_PAUSE: u16 = 0xB3; constant VK_LAUNCH_MAIL (line 901) | pub const VK_LAUNCH_MAIL: u16 = 0xB4; constant VK_LAUNCH_MEDIA_SELECT (line 902) | pub const VK_LAUNCH_MEDIA_SELECT: u16 = 0xB5; constant VK_LAUNCH_APP1 (line 903) | pub const VK_LAUNCH_APP1: u16 = 0xB6; constant VK_LAUNCH_APP2 (line 904) | pub const VK_LAUNCH_APP2: u16 = 0xB7; constant VK_OEM_1 (line 905) | pub const VK_OEM_1: u16 = 0xBA; constant VK_OEM_PLUS (line 906) | pub const VK_OEM_PLUS: u16 = 0xBB; constant VK_OEM_COMMA (line 907) | pub const VK_OEM_COMMA: u16 = 0xBC; constant VK_OEM_MINUS (line 908) | pub const VK_OEM_MINUS: u16 = 0xBD; constant VK_OEM_PERIOD (line 909) | pub const VK_OEM_PERIOD: u16 = 0xBE; constant VK_OEM_2 (line 910) | pub const VK_OEM_2: u16 = 0xBF; constant VK_OEM_3 (line 911) | pub const VK_OEM_3: u16 = 0xC0; constant VK_GAMEPAD_A (line 912) | pub const VK_GAMEPAD_A: u16 = 0xC3; constant VK_GAMEPAD_B (line 913) | pub const VK_GAMEPAD_B: u16 = 0xC4; constant VK_GAMEPAD_X (line 914) | pub const VK_GAMEPAD_X: u16 = 0xC5; constant VK_GAMEPAD_Y (line 915) | pub const VK_GAMEPAD_Y: u16 = 0xC6; constant VK_GAMEPAD_RIGHT_SHOULDER (line 916) | pub const VK_GAMEPAD_RIGHT_SHOULDER: u16 = 0xC7; constant VK_GAMEPAD_LEFT_SHOULDER (line 917) | pub const VK_GAMEPAD_LEFT_SHOULDER: u16 = 0xC8; constant VK_GAMEPAD_LEFT_TRIGGER (line 918) | pub const VK_GAMEPAD_LEFT_TRIGGER: u16 = 0xC9; constant VK_GAMEPAD_RIGHT_TRIGGER (line 919) | pub const VK_GAMEPAD_RIGHT_TRIGGER: u16 = 0xCA; constant VK_GAMEPAD_DPAD_UP (line 920) | pub const VK_GAMEPAD_DPAD_UP: u16 = 0xCB; constant VK_GAMEPAD_DPAD_DOWN (line 921) | pub const VK_GAMEPAD_DPAD_DOWN: u16 = 0xCC; constant VK_GAMEPAD_DPAD_LEFT (line 922) | pub const VK_GAMEPAD_DPAD_LEFT: u16 = 0xCD; constant VK_GAMEPAD_DPAD_RIGHT (line 923) | pub const VK_GAMEPAD_DPAD_RIGHT: u16 = 0xCE; constant VK_GAMEPAD_MENU (line 924) | pub const VK_GAMEPAD_MENU: u16 = 0xCF; constant VK_GAMEPAD_VIEW (line 925) | pub const VK_GAMEPAD_VIEW: u16 = 0xD0; constant VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON (line 926) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: u16 = 0xD1; constant VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON (line 927) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: u16 = 0xD2; constant VK_GAMEPAD_LEFT_THUMBSTICK_UP (line 928) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: u16 = 0xD3; constant VK_GAMEPAD_LEFT_THUMBSTICK_DOWN (line 929) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: u16 = 0xD4; constant VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT (line 930) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: u16 = 0xD5; constant VK_GAMEPAD_LEFT_THUMBSTICK_LEFT (line 931) | pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: u16 = 0xD6; constant VK_GAMEPAD_RIGHT_THUMBSTICK_UP (line 932) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: u16 = 0xD7; constant VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN (line 933) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: u16 = 0xD8; constant VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT (line 934) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: u16 = 0xD9; constant VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT (line 935) | pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: u16 = 0xDA; constant VK_OEM_4 (line 936) | pub const VK_OEM_4: u16 = 0xDB; constant VK_OEM_5 (line 937) | pub const VK_OEM_5: u16 = 0xDC; constant VK_OEM_6 (line 938) | pub const VK_OEM_6: u16 = 0xDD; constant VK_OEM_7 (line 939) | pub const VK_OEM_7: u16 = 0xDE; constant VK_OEM_8 (line 940) | pub const VK_OEM_8: u16 = 0xDF; constant VK_OEM_AX (line 941) | pub const VK_OEM_AX: u16 = 0xE1; constant VK_OEM_102 (line 942) | pub const VK_OEM_102: u16 = 0xE2; constant VK_ICO_HELP (line 943) | pub const VK_ICO_HELP: u16 = 0xE3; constant VK_ICO_00 (line 944) | pub const VK_ICO_00: u16 = 0xE4; constant VK_PROCESSKEY (line 945) | pub const VK_PROCESSKEY: u16 = 0xE5; constant VK_ICO_CLEAR (line 946) | pub const VK_ICO_CLEAR: u16 = 0xE6; constant VK_PACKET (line 947) | pub const VK_PACKET: u16 = 0xE7; constant VK_OEM_RESET (line 948) | pub const VK_OEM_RESET: u16 = 0xE9; constant VK_OEM_JUMP (line 949) | pub const VK_OEM_JUMP: u16 = 0xEA; constant VK_OEM_PA1 (line 950) | pub const VK_OEM_PA1: u16 = 0xEB; constant VK_OEM_PA2 (line 951) | pub const VK_OEM_PA2: u16 = 0xEC; constant VK_OEM_PA3 (line 952) | pub const VK_OEM_PA3: u16 = 0xED; constant VK_OEM_WSCTRL (line 953) | pub const VK_OEM_WSCTRL: u16 = 0xEE; constant VK_OEM_CUSEL (line 954) | pub const VK_OEM_CUSEL: u16 = 0xEF; constant VK_OEM_ATTN (line 955) | pub const VK_OEM_ATTN: u16 = 0xF0; constant VK_OEM_FINISH (line 956) | pub const VK_OEM_FINISH: u16 = 0xF1; constant VK_OEM_COPY (line 957) | pub const VK_OEM_COPY: u16 = 0xF2; constant VK_OEM_AUTO (line 958) | pub const VK_OEM_AUTO: u16 = 0xF3; constant VK_OEM_ENLW (line 959) | pub const VK_OEM_ENLW: u16 = 0xF4; constant VK_OEM_BACKTAB (line 960) | pub const VK_OEM_BACKTAB: u16 = 0xF5; constant VK_ATTN (line 961) | pub const VK_ATTN: u16 = 0xF6; constant VK_CRSEL (line 962) | pub const VK_CRSEL: u16 = 0xF7; constant VK_EXSEL (line 963) | pub const VK_EXSEL: u16 = 0xF8; constant VK_EREOF (line 964) | pub const VK_EREOF: u16 = 0xF9; constant VK_PLAY (line 965) | pub const VK_PLAY: u16 = 0xFA; constant VK_ZOOM (line 966) | pub const VK_ZOOM: u16 = 0xFB; constant VK_NONAME (line 967) | pub const VK_NONAME: u16 = 0xFC; constant VK_PA1 (line 968) | pub const VK_PA1: u16 = 0xFD; constant VK_OEM_CLEAR (line 969) | pub const VK_OEM_CLEAR: u16 = 0xFE; FILE: windows_key_tester/src/windows/llhook.rs type KeyboardHook (line 16) | pub struct KeyboardHook { method attach_hook (line 25) | pub fn attach_hook() -> KeyboardHook { method drop (line 37) | fn drop(&mut self) { type InputEvent (line 45) | pub struct InputEvent { method from_hook_lparam (line 53) | fn from_hook_lparam(lparam: &KBDLLHOOKSTRUCT) -> Self { method from_hook_lparam (line 61) | fn from_hook_lparam(lparam: &KBDLLHOOKSTRUCT) -> Self { function hook_proc (line 74) | unsafe extern "system" fn hook_proc(code: c_int, wparam: WPARAM, lparam:... function start (line 82) | pub fn start() -> Result<()> {