mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-03-18 18:51:08 +03:00
fix: unified keyboard check logic in common.rs
This commit is contained in:
@@ -977,18 +977,24 @@ pub fn make_privacy_mode_msg(state: back_notification::PrivacyModeState) -> Mess
|
||||
make_privacy_mode_msg_with_details(state, "".to_owned())
|
||||
}
|
||||
|
||||
pub fn is_keyboard_mode_supported(keyboard_mode: &KeyboardMode, version_number: i64) -> bool {
|
||||
pub fn is_keyboard_mode_supported(keyboard_mode: &KeyboardMode, version_number: i64, peer_platform: &str) -> bool {
|
||||
match keyboard_mode {
|
||||
KeyboardMode::Legacy => true,
|
||||
KeyboardMode::Map => version_number >= hbb_common::get_version_number("1.2.0"),
|
||||
KeyboardMode::Map => {
|
||||
if peer_platform.to_lowercase() == crate::PLATFORM_ANDROID.to_lowercase() {
|
||||
false
|
||||
} else {
|
||||
version_number >= hbb_common::get_version_number("1.2.0")
|
||||
}
|
||||
}
|
||||
KeyboardMode::Translate => version_number >= hbb_common::get_version_number("1.2.0"),
|
||||
KeyboardMode::Auto => version_number >= hbb_common::get_version_number("1.2.0"),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_supported_keyboard_modes(version: i64) -> Vec<KeyboardMode> {
|
||||
pub fn get_supported_keyboard_modes(version: i64, peer_platform: &str) -> Vec<KeyboardMode> {
|
||||
KeyboardMode::iter()
|
||||
.filter(|&mode| is_keyboard_mode_supported(mode, version))
|
||||
.filter(|&mode| is_keyboard_mode_supported(mode, version, peer_platform))
|
||||
.map(|&mode| mode)
|
||||
.collect::<Vec<_>>()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user