refactor: set default keyboard mode
This commit is contained in:
		
							parent
							
								
									4837d84209
								
							
						
					
					
						commit
						c267fc9d9b
					
				| @ -23,7 +23,7 @@ use hbb_common::{ | |||||||
|         Config, PeerConfig, PeerInfoSerde, CONNECT_TIMEOUT, READ_TIMEOUT, RELAY_PORT, |         Config, PeerConfig, PeerInfoSerde, CONNECT_TIMEOUT, READ_TIMEOUT, RELAY_PORT, | ||||||
|         RENDEZVOUS_TIMEOUT, |         RENDEZVOUS_TIMEOUT, | ||||||
|     }, |     }, | ||||||
|     log, |     get_version_number, log, | ||||||
|     message_proto::{option_message::BoolOption, *}, |     message_proto::{option_message::BoolOption, *}, | ||||||
|     protobuf::Message as _, |     protobuf::Message as _, | ||||||
|     rand, |     rand, | ||||||
| @ -47,7 +47,10 @@ pub use super::lang::*; | |||||||
| pub mod file_trait; | pub mod file_trait; | ||||||
| pub mod helper; | pub mod helper; | ||||||
| pub mod io_loop; | pub mod io_loop; | ||||||
| use crate::server::video_service::{SCRAP_X11_REF_URL, SCRAP_X11_REQUIRED}; | use crate::{ | ||||||
|  |     common::is_keyboard_mode_supported, | ||||||
|  |     server::video_service::{SCRAP_X11_REF_URL, SCRAP_X11_REQUIRED}, | ||||||
|  | }; | ||||||
| pub static SERVER_KEYBOARD_ENABLED: AtomicBool = AtomicBool::new(true); | pub static SERVER_KEYBOARD_ENABLED: AtomicBool = AtomicBool::new(true); | ||||||
| pub static SERVER_FILE_TRANSFER_ENABLED: AtomicBool = AtomicBool::new(true); | pub static SERVER_FILE_TRANSFER_ENABLED: AtomicBool = AtomicBool::new(true); | ||||||
| pub static SERVER_CLIPBOARD_ENABLED: AtomicBool = AtomicBool::new(true); | pub static SERVER_CLIPBOARD_ENABLED: AtomicBool = AtomicBool::new(true); | ||||||
| @ -1410,12 +1413,11 @@ impl LoginConfigHandler { | |||||||
|                 log::debug!("remove password of {}", self.id); |                 log::debug!("remove password of {}", self.id); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         if config.keyboard_mode == "" { |         if config.keyboard_mode.is_empty() { | ||||||
|             if hbb_common::get_version_number(&pi.version) < hbb_common::get_version_number("1.2.0") |             if is_keyboard_mode_supported(&KeyboardMode::Map, get_version_number(&pi.version)) { | ||||||
|             { |                 config.keyboard_mode = KeyboardMode::Map.to_string(); | ||||||
|                 config.keyboard_mode = "legacy".to_string(); |  | ||||||
|             } else { |             } else { | ||||||
|                 config.keyboard_mode = "map".to_string(); |                 config.keyboard_mode = KeyboardMode::Legacy.to_string(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         self.conn_id = pi.conn_id; |         self.conn_id = pi.conn_id; | ||||||
|  | |||||||
| @ -689,6 +689,15 @@ pub fn make_privacy_mode_msg(state: back_notification::PrivacyModeState) -> Mess | |||||||
|     msg_out |     msg_out | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | pub fn is_keyboard_mode_supported(keyboard_mode: &KeyboardMode, version_number: i64) -> bool { | ||||||
|  |     match keyboard_mode { | ||||||
|  |         KeyboardMode::Legacy => true, | ||||||
|  |         KeyboardMode::Map => version_number >= hbb_common::get_version_number("1.2.0"), | ||||||
|  |         KeyboardMode::Translate => true, | ||||||
|  |         KeyboardMode::Auto => true, | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| #[cfg(not(target_os = "linux"))] | #[cfg(not(target_os = "linux"))] | ||||||
| lazy_static::lazy_static! { | lazy_static::lazy_static! { | ||||||
|     pub static ref IS_X11: Mutex<bool> = Mutex::new(false); |     pub static ref IS_X11: Mutex<bool> = Mutex::new(false); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user