feat(core): improve clipboard backend handling on macOS
This commit is contained in:
		
							parent
							
								
									4068f5ac66
								
							
						
					
					
						commit
						a40125715f
					
				| 
						 | 
				
			
			@ -19,7 +19,7 @@
 | 
			
		|||
 | 
			
		||||
use std::path::PathBuf;
 | 
			
		||||
 | 
			
		||||
use espanso_inject::{Injector, keys::Key};
 | 
			
		||||
use espanso_inject::{InjectionOptions, Injector, keys::Key};
 | 
			
		||||
use espanso_clipboard::Clipboard;
 | 
			
		||||
 | 
			
		||||
use crate::engine::{dispatch::HtmlInjector, dispatch::{ImageInjector, TextInjector}};
 | 
			
		||||
| 
						 | 
				
			
			@ -41,8 +41,24 @@ impl <'a> ClipboardInjectorAdapter<'a> {
 | 
			
		|||
    // TODO: handle delay duration
 | 
			
		||||
    std::thread::sleep(std::time::Duration::from_millis(100));
 | 
			
		||||
 | 
			
		||||
    let combination = if cfg!(target_os = "macos") {
 | 
			
		||||
      &[Key::Meta, Key::V]
 | 
			
		||||
    } else {
 | 
			
		||||
      &[Key::Control, Key::V]
 | 
			
		||||
    }; // TODO: handle case of custom combination
 | 
			
		||||
 | 
			
		||||
    // TODO: handle user-specified delays
 | 
			
		||||
    let paste_combination_delay = if cfg!(target_os = "macos") {
 | 
			
		||||
      5
 | 
			
		||||
    } else {
 | 
			
		||||
      InjectionOptions::default().delay
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // TODO: handle options
 | 
			
		||||
    self.injector.send_key_combination(&[Key::Control, Key::V], Default::default())?;
 | 
			
		||||
    self.injector.send_key_combination(combination, InjectionOptions {
 | 
			
		||||
      delay: paste_combination_delay,
 | 
			
		||||
      ..Default::default()
 | 
			
		||||
    })?;
 | 
			
		||||
 | 
			
		||||
    Ok(())
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user