Skip to content

Commit

Permalink
refactor code
Browse files Browse the repository at this point in the history
  • Loading branch information
enfp-dev-studio committed Jul 5, 2024
1 parent 94c1fef commit f8c44cd
Show file tree
Hide file tree
Showing 8 changed files with 72 additions and 72 deletions.
2 changes: 1 addition & 1 deletion npm/darwin-arm64/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@
"access": "public"
},
"repository": "git@github.com/enfp-dev-studio/napi-rs-enigo"
}
}
2 changes: 1 addition & 1 deletion npm/darwin-universal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
"access": "public"
},
"repository": "git@github.com/enfp-dev-studio/napi-rs-enigo"
}
}
2 changes: 1 addition & 1 deletion npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@
"access": "public"
},
"repository": "git@github.com/enfp-dev-studio/napi-rs-enigo"
}
}
2 changes: 1 addition & 1 deletion npm/linux-arm64-gnu/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
"libc": [
"glibc"
]
}
}
2 changes: 1 addition & 1 deletion npm/linux-x64-gnu/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
"libc": [
"glibc"
]
}
}
2 changes: 1 addition & 1 deletion npm/win32-x64-gnu/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
"libc": [
"glibc"
]
}
}
2 changes: 1 addition & 1 deletion npm/win32-x64-msvc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@
"access": "public"
},
"repository": "git@github.com/enfp-dev-studio/napi-rs-enigo"
}
}
130 changes: 65 additions & 65 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,103 +1,103 @@
#![deny(clippy::all)]

use napi_derive::napi;
use enigo::{
Axis::{Horizontal, Vertical},
Button,
Coordinate::{Abs, Rel},
Direction::Click,
Enigo, Settings, Mouse
Axis::{Horizontal, Vertical},
Button,
Coordinate::{Abs, Rel},
Direction::Click,
Enigo, Mouse, Settings,
};
use napi_derive::napi;

// 공통 Enigo 인스턴스 생성 함수
fn create_enigo() -> Option<Enigo> {
match Enigo::new(&Settings::default()) {
Ok(enigo) => Some(enigo),
Err(e) => {
eprintln!("Failed to create Enigo: {:?}", e);
None
}
match Enigo::new(&Settings::default()) {
Ok(enigo) => Some(enigo),
Err(e) => {
eprintln!("Failed to create Enigo: {:?}", e);
None
}
}
}

#[napi]
fn move_mouse_rel(x: i32, y: i32) {
if let Some(mut enigo) = create_enigo() {
if let Err(e) = enigo.move_mouse(x, y, Rel) {
eprintln!("Failed to move mouse: {:?}", e);
}
if let Some(mut enigo) = create_enigo() {
if let Err(e) = enigo.move_mouse(x, y, Rel) {
eprintln!("Failed to move mouse: {:?}", e);
}
}
}

#[napi]
fn move_mouse_abs(x: i32, y: i32) {
if let Some(mut enigo) = create_enigo() {
if let Err(e) = enigo.move_mouse(x, y, Abs) {
eprintln!("Failed to move mouse: {:?}", e);
}
if let Some(mut enigo) = create_enigo() {
if let Err(e) = enigo.move_mouse(x, y, Abs) {
eprintln!("Failed to move mouse: {:?}", e);
}
}
}

#[napi]
fn mouse_click(button: String) {
if let Some(mut enigo) = create_enigo() {
let button = match button.as_str() {
"left" => Button::Left,
"right" => Button::Right,
"middle" => Button::Middle,
_ => {
eprintln!("Invalid button specified");
return;
}
};
if let Err(e) = enigo.button(button, Click) {
eprintln!("Failed to click mouse: {:?}", e);
}
if let Some(mut enigo) = create_enigo() {
let button = match button.as_str() {
"left" => Button::Left,
"right" => Button::Right,
"middle" => Button::Middle,
_ => {
eprintln!("Invalid button specified");
return;
}
};
if let Err(e) = enigo.button(button, Click) {
eprintln!("Failed to click mouse: {:?}", e);
}
}
}

#[napi]
fn mouse_down(button: String) {
if let Some(mut enigo) = create_enigo() {
let button = match button.as_str() {
"left" => Button::Left,
"right" => Button::Right,
"middle" => Button::Middle,
_ => {
eprintln!("Invalid button specified");
return;
}
};
if let Err(e) = enigo.button(button, enigo::Direction::Press) {
eprintln!("Failed to press mouse button: {:?}", e);
}
if let Some(mut enigo) = create_enigo() {
let button = match button.as_str() {
"left" => Button::Left,
"right" => Button::Right,
"middle" => Button::Middle,
_ => {
eprintln!("Invalid button specified");
return;
}
};
if let Err(e) = enigo.button(button, enigo::Direction::Press) {
eprintln!("Failed to press mouse button: {:?}", e);
}
}
}

#[napi]
fn mouse_up(button: String) {
if let Some(mut enigo) = create_enigo() {
let button = match button.as_str() {
"left" => Button::Left,
"right" => Button::Right,
"middle" => Button::Middle,
_ => {
eprintln!("Invalid button specified");
return;
}
};
if let Err(e) = enigo.button(button, enigo::Direction::Release) {
eprintln!("Failed to release mouse button: {:?}", e);
}
if let Some(mut enigo) = create_enigo() {
let button = match button.as_str() {
"left" => Button::Left,
"right" => Button::Right,
"middle" => Button::Middle,
_ => {
eprintln!("Invalid button specified");
return;
}
};
if let Err(e) = enigo.button(button, enigo::Direction::Release) {
eprintln!("Failed to release mouse button: {:?}", e);
}
}
}

#[napi]
fn mouse_scroll(length: i32, is_vertical: bool) {
if let Some(mut enigo) = create_enigo() {
let axis = if is_vertical { Vertical } else { Horizontal };
if let Err(e) = enigo.scroll(length, axis) {
eprintln!("Failed to scroll: {:?}", e);
}
if let Some(mut enigo) = create_enigo() {
let axis = if is_vertical { Vertical } else { Horizontal };
if let Err(e) = enigo.scroll(length, axis) {
eprintln!("Failed to scroll: {:?}", e);
}
}
}
}

0 comments on commit f8c44cd

Please sign in to comment.