add: lazy_static device ref

v0.1.1
rrr-marble 5 years ago
parent c54685fa05
commit 57c6a86f0f

7
Cargo.lock generated

@ -35,6 +35,7 @@ name = "dpk"
version = "0.1.0"
dependencies = [
"evdev",
"lazy_static",
]
[[package]]
@ -54,6 +55,12 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1847abb9cb65d566acd5942e94aea9c8f547ad02c98e1649326fc0e8910b8b1e"
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.97"

@ -7,4 +7,5 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
evdev = "0.11.0"
evdev = "0.11.0"
lazy_static = "1.4.0"

@ -1,10 +1,17 @@
use std::{io::Write, thread::sleep};
#[macro_use]
extern crate lazy_static;
fn main() -> ! {
let d = pick_device();
println!("{}", d.name().unwrap_or("Unknown device"));
lazy_static! {
static ref D: evdev::Device = {
let d = pick_device();
d
};
}
println!("{}", D.name().unwrap_or("Unknown device"));
loop {
if d.get_key_state().unwrap().contains(evdev::Key::BTN_SIDE) {
if D.get_key_state().unwrap().contains(evdev::Key::BTN_SIDE) {
println!("BTN_SIDE");
}
std::thread::sleep(std::time::Duration::from_millis(100));

Loading…
Cancel
Save