bevy_global_input

Crates.iobevy_global_input
lib.rsbevy_global_input
version0.4.0
sourcesrc
created_at2022-11-23 22:04:44.613279
updated_at2023-07-16 10:01:25.452914
descriptionGlobal mouse + keyboard input for bevy - doesn't require a focused window.
homepage
repositoryhttps://github.com/laundmo/bevy_global_input
max_upload_size
id721895
size115,631
laund (laundmo)

documentation

https://docs.rs/bevy_global_input

README

bevy_global_input

Global Mouse and Keyboard events for bevy.

Crates.io Docs.rs

Features

  • Global keyboard events
  • Global mouse position
  • Global Hotkeys
  • Moving the mouse

Not Implemented / TODO

  • Sending Keystrokes
  • Converting to Bevy KeyCode (don't expose underlying library enums)

Quickstart

log out global mouse position every half second.

use std::time::Duration;

use bevy::{prelude::*, time::common_conditions::on_timer};
use bevy_global_input::{GlobalInputPlugins, GlobalMousePos};

fn main() {
    App::new()
        .add_plugins(MinimalPlugins)
        .add_plugins(GlobalInputPlugins)
        .add_systems(
            Update,
            mouse_pos.run_if(on_timer(Duration::from_secs_f32(0.5))),
        );
        // .run();
}

fn mouse_pos(pos: Res<GlobalMousePos>) {
    dbg!(pos);
}

Find more in Examples

compatible bevy versions

bevy bevy_global_input
0.11 0.4.0
0.10 0.3.0
0.9 0.2.0
0.9 0.1.0
Commit count: 7

cargo fmt