AllenWrench/src-tauri/src/main.rs

35 lines
1.1 KiB
Rust

// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use enigo::{Enigo, Key, KeyboardControllable};
use std::thread;
use std::time::Duration;
use arboard::Clipboard;
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
#[tauri::command]
fn type_str(input: String) {
println!("Type this: {}", input);
let mut enigo = Enigo::new();
let mut clipboard = Clipboard::new().unwrap();
clipboard.set_text(input).unwrap();
enigo.key_down(Key::Alt);
enigo.key_click(Key::Tab);
enigo.key_up(Key::Alt);
thread::sleep(Duration::from_millis(200));
enigo.key_down(Key::Control);
enigo.key_click(Key::Layout('v'));
enigo.key_up(Key::Control);
thread::sleep(Duration::from_millis(20));
std::process::exit(0);
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![type_str])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}