From 35d74308e1584e6eda355fd60dfcbe90bef9e7c1 Mon Sep 17 00:00:00 2001 From: meh Date: Sat, 7 May 2016 16:38:59 +0200 Subject: [PATCH] device: add general event sender --- src/device/device.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/device/device.rs b/src/device/device.rs index bdd4b72..a6ce048 100644 --- a/src/device/device.rs +++ b/src/device/device.rs @@ -4,6 +4,7 @@ use libc::{timeval, gettimeofday}; use nix::unistd; use ffi::*; use {Result as Res, event}; +use event::{Kind, Code}; /// The virtual device. pub struct Device { @@ -44,6 +45,12 @@ impl Device { self.write(EV_SYN, SYN_REPORT, 0) } + /// Send an event. + pub fn send>(&mut self, event: T, value: i32) -> Res<()> { + let event = event.into(); + self.write(event.kind(), event.code(), value) + } + /// Send a press event. pub fn press(&mut self, event: &T) -> Res<()> { self.write(event.kind(), event.code(), 1)