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.15 | 0.5 |
0.14 | 0.4 |
0.13 | 0.3 |
0.9 | 0.2 |
0.8 | 0.1 |