10 unstable releases (3 breaking)

0.4.0 Jul 4, 2024
0.4.0-rc.4 Jun 29, 2024
0.3.0 Mar 11, 2024
0.2.1 Nov 13, 2022
0.1.2 Jul 31, 2022

#1981 in Game dev

Download history 106/week @ 2024-06-12 87/week @ 2024-06-19 83/week @ 2024-06-26 174/week @ 2024-07-03 22/week @ 2024-07-10 3/week @ 2024-07-17 10/week @ 2024-07-24 72/week @ 2024-07-31 33/week @ 2024-08-07 40/week @ 2024-08-14 31/week @ 2024-08-21 32/week @ 2024-08-28 11/week @ 2024-09-04 22/week @ 2024-09-11 17/week @ 2024-09-18 42/week @ 2024-09-25

96 downloads per month

MIT/Apache

330KB
284 lines

Bevy Stream Deck

MIT/Apache 2.0 Doc Crate Bevy Tracking CI

Elgato Stream Deck plugin for Bevy.

capture of a Stream Deck

Add the plugin:

app.add_plugin(StreamDeckPlugin);

Receive events from button press (see inputs example):

fn print_streamdeck_events(mut streamdeck_input_events: EventReader<StreamDeckInput>) {
    for event in streamdeck_input_events.iter() {
        info!("{:?}", event);
    }
}

Receive events from button press (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);
    }
}

Linux Setup

see https://github.com/ryankurte/rust-streamdeck#getting-started

Bevy Compatibility

Bevy bevy_streamdeck
0.14 0.4
0.13 0.3
0.9 0.2
0.8 0.1

Dependencies

~43–81MB
~1.5M SLoC