35 lines
1.1 KiB
Rust
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");
|
|
}
|