mirror of
https://github.com/weyne85/rustdesk.git
synced 2025-10-29 17:00:05 +00:00
opt: get supported keyboard modes
This commit is contained in:
@@ -4,7 +4,7 @@ use crate::client::{
|
||||
load_config, send_mouse, start_video_audio_threads, FileManager, Key, LoginConfigHandler,
|
||||
QualityStatus, KEY_MAP,
|
||||
};
|
||||
use crate::common::GrabState;
|
||||
use crate::common::{is_keyboard_mode_supported, GrabState};
|
||||
use crate::keyboard;
|
||||
use crate::{client::Data, client::Interface};
|
||||
use async_trait::async_trait;
|
||||
@@ -48,6 +48,10 @@ impl<T: InvokeUiSession> Session<T> {
|
||||
self.lc.read().unwrap().custom_image_quality.clone()
|
||||
}
|
||||
|
||||
pub fn get_peer_version(&self) -> i64 {
|
||||
self.lc.read().unwrap().version.clone()
|
||||
}
|
||||
|
||||
pub fn get_keyboard_mode(&self) -> String {
|
||||
self.lc.read().unwrap().keyboard_mode.clone()
|
||||
}
|
||||
@@ -198,6 +202,14 @@ impl<T: InvokeUiSession> Session<T> {
|
||||
crate::platform::is_xfce()
|
||||
}
|
||||
|
||||
pub fn get_supported_keyboard_modes(&self) -> Vec<KeyboardMode> {
|
||||
let version = self.get_peer_version();
|
||||
KeyboardMode::iter()
|
||||
.filter(|&mode| is_keyboard_mode_supported(mode, version))
|
||||
.map(|&mode| mode)
|
||||
.collect::<Vec<_>>()
|
||||
}
|
||||
|
||||
pub fn remove_port_forward(&self, port: i32) {
|
||||
let mut config = self.load_config();
|
||||
config.port_forwards = config
|
||||
|
||||
Reference in New Issue
Block a user