This is a plugin for integrating the Elgato Stream Deck with the Bevy game engine. It allows you to handle input events from the Stream Deck and control its display.
app.add_plugin(StreamDeckPlugin);Receive events from button presses (see inputs example):
fn print_streamdeck_events(mut streamdeck_input_events: EventReader<StreamDeckInput>) {
    for event in streamdeck_input_events.iter() {
        info!("{:?}", event);
    }
}Set a button color (see colors example):
fn set_color(streamdeck: Res<StreamDeck>) {
    streamdeck.set_key_color(1, Color::BLUE);
}Display an image on a button (see image example):
fn set_image(streamdeck: Res<StreamDeck>, logo: Res<Logo>, images: Res<Assets<Image>>) {
    let handle: Handle<Image> = ...;
    if let Some(image) = images.get(&handle) {
        streamdeck.set_key_image(1, &image);
    }
}For Linux setup, please refer to the rust-streamdeck getting started guide.
| Bevy | bevy_streamdeck | 
|---|---|
| 0.17 | 0.7 | 
| 0.16 | 0.6 | 
| 0.15 | 0.5 | 
| 0.14 | 0.4 | 
| 0.13 | 0.3 | 
| 0.9 | 0.2 | 
| 0.8 | 0.1 | 
