Refactor translate mode
This commit is contained in:
		
							parent
							
								
									577cce549f
								
							
						
					
					
						commit
						b916ef3659
					
				
							
								
								
									
										4
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -3740,7 +3740,7 @@ dependencies = [ | |||||||
| [[package]] | [[package]] | ||||||
| name = "rdev" | name = "rdev" | ||||||
| version = "0.5.0-2" | version = "0.5.0-2" | ||||||
| source = "git+https://github.com/asur4s/rdev#3b440f7ff9d622b08eb83146ea3e5e529769a6c2" | source = "git+https://github.com/asur4s/rdev#895c8fb1a6106714793e8877d35d2b7a1c57ce9c" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cocoa", |  "cocoa", | ||||||
|  "core-foundation 0.9.3", |  "core-foundation 0.9.3", | ||||||
| @ -4712,7 +4712,7 @@ checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" | |||||||
| [[package]] | [[package]] | ||||||
| name = "tfc" | name = "tfc" | ||||||
| version = "0.6.1" | version = "0.6.1" | ||||||
| source = "git+https://github.com/asur4s/The-Fat-Controller#34ee2472e6a88dd8f0e28113d50130d93cf8a572" | source = "git+https://github.com/asur4s/The-Fat-Controller#25bfa7ef1cb0bd0b522cc4155dea6b99673bcfd4" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "core-graphics 0.22.3", |  "core-graphics 0.22.3", | ||||||
|  "unicode-segmentation", |  "unicode-segmentation", | ||||||
|  | |||||||
| @ -822,16 +822,10 @@ fn legacy_keyboard_mode(evt: &KeyEvent) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn translate_keyboard_mode(evt: &KeyEvent) { | fn translate_keyboard_mode(evt: &KeyEvent) { | ||||||
|     // Caps affects the keycode map of the peer system(Linux).
 |  | ||||||
|     let mut en = ENIGO.lock().unwrap(); |  | ||||||
|     if en.get_key_state(Key::CapsLock){ |  | ||||||
|         rdev_key_click(RdevKey::CapsLock); |  | ||||||
|     } |  | ||||||
|     let chr = char::from_u32(evt.chr()).unwrap_or_default(); |     let chr = char::from_u32(evt.chr()).unwrap_or_default(); | ||||||
|     if evt.down { |     // down(true)->press && press(false)-> release
 | ||||||
|         KBD_CONTEXT.lock().unwrap().unicode_char_down(chr).expect("unicode_char_down error"); |     if evt.down && !evt.press { | ||||||
|     } else { |         KBD_CONTEXT.lock().unwrap().unicode_char(chr).expect("unicode_char_down error"); | ||||||
|         KBD_CONTEXT.lock().unwrap().unicode_char_up(chr).expect("unicode_char_up error"); |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1108,11 +1108,8 @@ impl Handler { | |||||||
|                 let mut key_event = KeyEvent::new(); |                 let mut key_event = KeyEvent::new(); | ||||||
|                 key_event.set_chr(chr as _); |                 key_event.set_chr(chr as _); | ||||||
|                 key_event.down = true; |                 key_event.down = true; | ||||||
|                 self.send_key_event(key_event, KeyboardMode::Translate); |                 key_event.press = false; | ||||||
| 
 |                 
 | ||||||
|                 let mut key_event = KeyEvent::new(); |  | ||||||
|                 key_event.set_chr(chr as _); |  | ||||||
|                 key_event.down = false; |  | ||||||
|                 self.send_key_event(key_event, KeyboardMode::Translate); |                 self.send_key_event(key_event, KeyboardMode::Translate); | ||||||
|             } |             } | ||||||
|         } else { |         } else { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user