Enum Input

Source
pub enum Input {
    Start,
    Stop,
    KeyDown {
        key: KeyCode,
    },
    KeyUp {
        key: KeyCode,
    },
    CustomEvent {
        name: CompactString,
        args: VecMap<CompactString, SimpleValue, false>,
        interrupt: bool,
        max_queue: usize,
    },
}
Expand description

Simulates input from the user.

Variants§

§

Start

Simulate pressing the start (green flag) button. This has the effect of interrupting any running “on start” scripts and restarting them (with an empty context). Any other running processes are not affected.

§

Stop

Simulate pressing the stop button. This has the effect of stopping all currently-running processes. Note that some hat blocks could cause new processes to spin up after this operation.

§

KeyDown

Simulates a key down hat from the keyboard. This should be repeated if the button is held down.

Fields

§

KeyUp

Simulates a key up hat from the keyboard. Due to the nature of the TTY interface, key up events are not always available, so this hat does not need to be sent. If not sent, a timeout is used to determine when a key is released (sending this hat can short-circuit the timeout).

Fields

§

CustomEvent

Trigger the execution of a custom event (hat) block script with the given set of message-style input variables. The interrupt flag can be set to cause any running scripts to stop and wipe their current queues, placing this new execution front and center. The max_queue field controls the maximum size of the context/schedule execution queue; beyond this size, this (and only this) execution will be dropped.

Fields

§interrupt: bool
§max_queue: usize

Trait Implementations§

Source§

impl Debug for Input

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Input

§

impl RefUnwindSafe for Input

§

impl Send for Input

§

impl Sync for Input

§

impl Unpin for Input

§

impl UnwindSafe for Input

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,