diff --git a/src/device/device.rs b/src/device/device.rs index 5f2519b..0ae33bd 100644 --- a/src/device/device.rs +++ b/src/device/device.rs @@ -40,15 +40,22 @@ impl Device { self.write(EV_SYN, SYN_REPORT, 0) } - pub fn press(&mut self, event: T) -> Res<()> { + pub fn press(&mut self, event: &T) -> Res<()> { self.write(event.kind(), event.code(), 1) } - pub fn release(&mut self, event: T) -> Res<()> { + pub fn release(&mut self, event: &T) -> Res<()> { self.write(event.kind(), event.code(), 0) } - pub fn position(&mut self, event: T, value: i32) -> Res<()> { + pub fn click(&mut self, event: &T) -> Res<()> { + try!(self.press(event)); + try!(self.release(event)); + + Ok(()) + } + + pub fn position(&mut self, event: &T, value: i32) -> Res<()> { self.write(event.kind(), event.code(), value) } }