Skip to main content

InputPlugin

Trait InputPlugin 

Source
pub trait InputPlugin: Send + 'static {
    // Required methods
    fn metadata(&self) -> PluginMetadata;
    fn compatibility(&self) -> InputPluginCompatibility;
    fn initialize(
        &mut self,
        context: &mut InputPluginContext<'_>,
    ) -> PluginResult;

    // Provided methods
    fn device_active(
        &mut self,
        _context: &mut InputPluginContext<'_>,
        _device: InputDeviceId,
        _active: bool,
    ) { ... }
    fn next_input_event(
        &mut self,
        _context: &mut InputPluginContext<'_>,
        _request: InputEventRequest,
    ) -> Option<InputEvent> { ... }
    fn shutdown(&mut self, _context: &mut InputPluginContext<'_>) { ... }
}
Expand description

Application-facing lifecycle for one SCS input plugin.

Required Methods§

Source

fn metadata(&self) -> PluginMetadata

Stable product identity used in runtime lifecycle logs.

Source

fn compatibility(&self) -> InputPluginCompatibility

Explicit Input API and per-game compatibility requirements.

Source

fn initialize(&mut self, context: &mut InputPluginContext<'_>) -> PluginResult

Declares devices and initializes plugin-owned input state.

§Errors

Implementations may return PluginError to reject configuration or propagate a device-declaration failure before SCS registration begins.

Provided Methods§

Source

fn device_active( &mut self, _context: &mut InputPluginContext<'_>, _device: InputDeviceId, _active: bool, )

Receives an optional activation or deactivation notification.

Source

fn next_input_event( &mut self, _context: &mut InputPluginContext<'_>, _request: InputEventRequest, ) -> Option<InputEvent>

Returns the next event for the polled device, or None when the current frame has no more events.

Source

fn shutdown(&mut self, _context: &mut InputPluginContext<'_>)

Releases plugin-owned resources after SCS has unregistered all devices.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§