pub struct Enigo { /* private fields */ }
Implementations§
Trait Implementations§
source§impl Agent for Enigo
impl Agent for Enigo
source§fn execute(&mut self, token: &Token) -> InputResult<()>
fn execute(&mut self, token: &Token) -> InputResult<()>
Execute the action associated with the token. A
Token::Text
will
enter text, a Token::Scroll
will scroll and so forth. Have a look at
the documentation of the Token
enum for more information. Read moresource§impl Keyboard for Enigo
impl Keyboard for Enigo
source§fn key(&mut self, key: Key, direction: Direction) -> InputResult<()>
fn key(&mut self, key: Key, direction: Direction) -> InputResult<()>
Sends an individual key event. It will enter the keysym (virtual key).
Have a look at the
Keyboard::raw
function, if you
want to enter a keycode. Read moresource§fn raw(&mut self, keycode: u16, direction: Direction) -> InputResult<()>
fn raw(&mut self, keycode: u16, direction: Direction) -> InputResult<()>
Sends a raw keycode. The keycode may or may not be mapped on the current
layout. You have to make sure of that yourself. This can be useful if
you want to simulate a press regardless of the layout (WASD on video
games). Have a look at the
Keyboard::key
function,
if you just want to enter a specific key and don’t want to worry about
the layout/keymap. Windows only: If you want to enter the keycode
(scancode) of an extended key, you need to set extra bits. You can
for example do: enigo.raw(45 | EXT, Direction::Click)
Read moresource§fn text(&mut self, text: &str) -> InputResult<()>
fn text(&mut self, text: &str) -> InputResult<()>
Enter the text
Use a fast method to enter the text, if it is available. You can use
unicode here like: ❤️. This works regardless of the current keyboard
layout. You cannot use this function for entering shortcuts or
something similar. For shortcuts, use the
Keyboard::key
method instead. Read moresource§impl Mouse for Enigo
impl Mouse for Enigo
Sends an individual mouse button event. You can use this for example to
simulate a click of the left mouse key. Some of the buttons are specific
to a platform. Read more
source§fn move_mouse(
&mut self,
x: i32,
y: i32,
coordinate: Coordinate
) -> InputResult<()>
fn move_mouse( &mut self, x: i32, y: i32, coordinate: Coordinate ) -> InputResult<()>
Move the mouse cursor to the specified x and y coordinates. Read more
source§fn scroll(&mut self, length: i32, axis: Axis) -> InputResult<()>
fn scroll(&mut self, length: i32, axis: Axis) -> InputResult<()>
Send a mouse scroll event Read more
source§fn main_display(&self) -> InputResult<(i32, i32)>
fn main_display(&self) -> InputResult<(i32, i32)>
Get the (width, height) of the main display in pixels. This currently
only works on the main display Read more
Auto Trait Implementations§
impl !Freeze for Enigo
impl !RefUnwindSafe for Enigo
impl Send for Enigo
impl !Sync for Enigo
impl Unpin for Enigo
impl !UnwindSafe for Enigo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.