to be compatible with 1.1.8
This commit is contained in:
parent
ae79a36f7b
commit
3a6dc19616
@ -585,7 +585,10 @@ impl AudioHandler {
|
|||||||
);
|
);
|
||||||
audio_buffer.lock().unwrap().extend(buffer);
|
audio_buffer.lock().unwrap().extend(buffer);
|
||||||
} else {
|
} else {
|
||||||
audio_buffer.lock().unwrap().extend(buffer[0..n].iter().cloned());
|
audio_buffer
|
||||||
|
.lock()
|
||||||
|
.unwrap()
|
||||||
|
.extend(buffer[0..n].iter().cloned());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[cfg(any(target_os = "android"))]
|
#[cfg(any(target_os = "android"))]
|
||||||
@ -681,7 +684,7 @@ pub struct LoginConfigHandler {
|
|||||||
pub port_forward: (String, i32),
|
pub port_forward: (String, i32),
|
||||||
pub support_press: bool,
|
pub support_press: bool,
|
||||||
pub support_refresh: bool,
|
pub support_refresh: bool,
|
||||||
pub internation_keyboard: bool,
|
pub version: i64,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Deref for LoginConfigHandler {
|
impl Deref for LoginConfigHandler {
|
||||||
@ -938,7 +941,7 @@ impl LoginConfigHandler {
|
|||||||
if !pi.version.is_empty() {
|
if !pi.version.is_empty() {
|
||||||
self.support_press = true;
|
self.support_press = true;
|
||||||
self.support_refresh = true;
|
self.support_refresh = true;
|
||||||
self.internation_keyboard = crate::get_version_number(&pi.version) > 1001008;
|
self.version = crate::get_version_number(&pi.version);
|
||||||
}
|
}
|
||||||
let serde = PeerInfoSerde {
|
let serde = PeerInfoSerde {
|
||||||
username,
|
username,
|
||||||
|
@ -233,6 +233,8 @@ impl Handler {
|
|||||||
let mut me = self.clone();
|
let mut me = self.clone();
|
||||||
let peer = self.peer_platform();
|
let peer = self.peer_platform();
|
||||||
let is_win = peer == "Windows";
|
let is_win = peer == "Windows";
|
||||||
|
let version = self.lc.read().unwrap().version;
|
||||||
|
const OFFSET_CASE: u8 = 'a' as u8 - 'A' as u8;
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
// This will block.
|
// This will block.
|
||||||
std::env::set_var("KEYBOARD_ONLY", "y"); // pass to rdev
|
std::env::set_var("KEYBOARD_ONLY", "y"); // pass to rdev
|
||||||
@ -329,7 +331,7 @@ impl Handler {
|
|||||||
if let Some(k) = control_key {
|
if let Some(k) = control_key {
|
||||||
key_event.set_control_key(k);
|
key_event.set_control_key(k);
|
||||||
} else {
|
} else {
|
||||||
let chr = match evt.name {
|
let mut chr = match evt.name {
|
||||||
Some(ref s) => s.chars().next().unwrap_or('\0'),
|
Some(ref s) => s.chars().next().unwrap_or('\0'),
|
||||||
_ => '\0',
|
_ => '\0',
|
||||||
};
|
};
|
||||||
@ -338,6 +340,10 @@ impl Handler {
|
|||||||
me.lock_screen();
|
me.lock_screen();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// <= 1.1.8, caps modifier only for 'a' -> 'z', so here adjust it
|
||||||
|
if version <= 1001008 && chr >= 'A' && chr <= 'Z' {
|
||||||
|
chr = (chr as u8 + OFFSET_CASE) as _;
|
||||||
|
}
|
||||||
key_event.set_chr(chr as _);
|
key_event.set_chr(chr as _);
|
||||||
} else {
|
} else {
|
||||||
log::error!("Unknown key {:?}", evt);
|
log::error!("Unknown key {:?}", evt);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user