mouse input

This commit is contained in:
2019-07-27 17:21:03 +02:00
parent ee01892a22
commit 6f2b9d1b71
4 changed files with 96 additions and 43 deletions

View File

@@ -1,12 +1,11 @@
use winit::{Event, WindowEvent};
use std::iter::FromIterator;
use cgmath::{Matrix4, Rad, Point3, Vector3, Deg};
mod vulkan;
use crate::vulkan::{GameData, Game, LinePoint};
mod input;
use crate::input::{InputState};
use crate::input::{InputState, mods_to_string};
mod config;
use crate::config::LogConfig;
@@ -63,23 +62,28 @@ impl Game for TestGame {
match event {
Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id, input }, .. } => {
if self.log_config.input {
let mods = String::from_iter(
vec!["shift", "ctrl", "alt", "logo"].iter()
.zip(vec![input.modifiers.shift, input.modifiers.ctrl, input.modifiers.alt, input.modifiers.logo])
.filter(|(&_name, state)| *state)
.map(|(&name, _state)| name));
let mods = mods_to_string(&input.modifiers);
if mods.len() > 0 {
println!("Keyboard {:?} input {:?} {:?} + {:?}", device_id, input.state, &mods, input.scancode)
println!("Keyboard {:?} {:?} {:?} + {:?}", device_id, input.state, &mods, input.scancode)
} else {
println!("Keyboard {:?} input {:?} {:?}", device_id, input.state, input.scancode)
println!("Keyboard {:?} {:?} {:?}", device_id, input.state, input.scancode)
}
}
self.input.on_keyboard_event(input.state, input.scancode, input.modifiers);
},
// Event::WindowEvent { event: WindowEvent::MouseInput { device_id, state, button, modifiers }, .. } => {
//
// }
Event::WindowEvent { event: WindowEvent::MouseInput { device_id, state, button, modifiers }, .. } => {
if self.log_config.input {
let mods = mods_to_string(modifiers);
if mods.len() > 0 {
println!("Mouse {:?} {:?} {:?} + {:?}", device_id, state, &mods, button)
} else {
println!("Mouse {:?} {:?} {:?}", device_id, state, button)
}
}
self.input.on_mouse_event(state, button, modifiers);
}
_ => {}
}
}