win, translate mode, debug almost done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
6eec0041bd
commit
ddc9792d15
28
Cargo.lock
generated
28
Cargo.lock
generated
@ -1556,7 +1556,7 @@ dependencies = [
|
|||||||
"log",
|
"log",
|
||||||
"objc",
|
"objc",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
"rdev 0.5.0-2 (git+https://github.com/fufesou/rdev)",
|
"rdev",
|
||||||
"serde 1.0.149",
|
"serde 1.0.149",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"tfc",
|
"tfc",
|
||||||
@ -4404,29 +4404,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "rdev"
|
name = "rdev"
|
||||||
version = "0.5.0-2"
|
version = "0.5.0-2"
|
||||||
dependencies = [
|
source = "git+https://github.com/fufesou/rdev#77b45e9e43f713851874c7fbb8e7149ab4f2e6a1"
|
||||||
"cocoa",
|
|
||||||
"core-foundation 0.9.3",
|
|
||||||
"core-foundation-sys 0.8.3",
|
|
||||||
"core-graphics 0.22.3",
|
|
||||||
"enum-map",
|
|
||||||
"epoll",
|
|
||||||
"inotify",
|
|
||||||
"lazy_static",
|
|
||||||
"libc",
|
|
||||||
"log",
|
|
||||||
"mio 0.8.5",
|
|
||||||
"strum 0.24.1",
|
|
||||||
"strum_macros 0.24.3",
|
|
||||||
"widestring 1.0.2",
|
|
||||||
"winapi 0.3.9",
|
|
||||||
"x11 2.20.1",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rdev"
|
|
||||||
version = "0.5.0-2"
|
|
||||||
source = "git+https://github.com/fufesou/rdev#238c9778da40056e2efda1e4264355bc89fb6358"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cocoa",
|
"cocoa",
|
||||||
"core-foundation 0.9.3",
|
"core-foundation 0.9.3",
|
||||||
@ -4731,7 +4709,7 @@ dependencies = [
|
|||||||
"objc",
|
"objc",
|
||||||
"objc_id",
|
"objc_id",
|
||||||
"parity-tokio-ipc",
|
"parity-tokio-ipc",
|
||||||
"rdev 0.5.0-2",
|
"rdev",
|
||||||
"repng",
|
"repng",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"rpassword 7.2.0",
|
"rpassword 7.2.0",
|
||||||
|
@ -63,7 +63,7 @@ default-net = { git = "https://github.com/Kingtous/default-net" }
|
|||||||
wol-rs = "0.9.1"
|
wol-rs = "0.9.1"
|
||||||
flutter_rust_bridge = { version = "1.61.1", optional = true }
|
flutter_rust_bridge = { version = "1.61.1", optional = true }
|
||||||
errno = "0.2.8"
|
errno = "0.2.8"
|
||||||
rdev = { path = "../rdev" }
|
rdev = { git = "https://github.com/fufesou/rdev" }
|
||||||
url = { version = "2.1", features = ["serde"] }
|
url = { version = "2.1", features = ["serde"] }
|
||||||
|
|
||||||
reqwest = { version = "0.11", features = ["blocking", "json", "rustls-tls"], default-features=false }
|
reqwest = { version = "0.11", features = ["blocking", "json", "rustls-tls"], default-features=false }
|
||||||
|
@ -1391,6 +1391,12 @@ class _RemoteMenubarState extends State<RemoteMenubar> {
|
|||||||
for (KeyboardModeMenu mode in modes) {
|
for (KeyboardModeMenu mode in modes) {
|
||||||
if (bind.sessionIsKeyboardModeSupported(
|
if (bind.sessionIsKeyboardModeSupported(
|
||||||
id: widget.id, mode: mode.key)) {
|
id: widget.id, mode: mode.key)) {
|
||||||
|
if (mode.key == 'translate') {
|
||||||
|
if (!Platform.isWindows ||
|
||||||
|
widget.ffi.ffiModel.pi.platform != kPeerPlatformWindows) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
list.add(MenuEntryRadioOption(
|
list.add(MenuEntryRadioOption(
|
||||||
text: translate(mode.menu), value: mode.key));
|
text: translate(mode.menu), value: mode.key));
|
||||||
}
|
}
|
||||||
|
@ -210,8 +210,8 @@ pub fn start_grab_loop() {
|
|||||||
if KEYBOARD_HOOKED.load(Ordering::SeqCst) {
|
if KEYBOARD_HOOKED.load(Ordering::SeqCst) {
|
||||||
let keyboard_mode = client::process_event(&event, None);
|
let keyboard_mode = client::process_event(&event, None);
|
||||||
if keyboard_mode == KeyboardMode::Translate {
|
if keyboard_mode == KeyboardMode::Translate {
|
||||||
// shift
|
// SHIFT(0x2A) RSHIFT(0x36)
|
||||||
if event.scan_code == 0x2A {
|
if event.scan_code == 0x2A || event.scan_code == 0x36 {
|
||||||
return Some(event);
|
return Some(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -396,11 +396,6 @@ pub fn event_to_key_events(event: &Event, keyboard_mode: KeyboardMode, lock_mode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
println!(
|
|
||||||
"REMOVE ME ========================= key_events {:?}",
|
|
||||||
&key_events
|
|
||||||
);
|
|
||||||
|
|
||||||
key_events
|
key_events
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1070,7 +1070,6 @@ fn legacy_keyboard_mode(evt: &KeyEvent) {
|
|||||||
fn translate_keyboard_mode(evt: &KeyEvent) {
|
fn translate_keyboard_mode(evt: &KeyEvent) {
|
||||||
match evt.union {
|
match evt.union {
|
||||||
Some(key_event::Union::Unicode(unicode)) => {
|
Some(key_event::Union::Unicode(unicode)) => {
|
||||||
println!("REMOVE ME ========================= simulate_unicode {}", unicode);
|
|
||||||
allow_err!(rdev::simulate_unicode(unicode as _));
|
allow_err!(rdev::simulate_unicode(unicode as _));
|
||||||
},
|
},
|
||||||
Some(key_event::Union::Chr(..)) => {
|
Some(key_event::Union::Chr(..)) => {
|
||||||
|
@ -364,14 +364,8 @@ impl<T: InvokeUiSession> Session<T> {
|
|||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
{
|
{
|
||||||
match &self.lc.read().unwrap().keyboard_mode as _ {
|
match &self.lc.read().unwrap().keyboard_mode as _ {
|
||||||
"legacy" => {
|
"legacy" => rdev::set_get_key_name(true),
|
||||||
println!("REMOVE ME =========================== enter legacy ");
|
"translate" => rdev::set_get_key_name(true),
|
||||||
rdev::set_get_key_name(true);
|
|
||||||
}
|
|
||||||
"translate" => {
|
|
||||||
println!("REMOVE ME =========================== enter translate ");
|
|
||||||
rdev::set_get_key_name(true);
|
|
||||||
}
|
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -383,7 +377,6 @@ impl<T: InvokeUiSession> Session<T> {
|
|||||||
pub fn leave(&self) {
|
pub fn leave(&self) {
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
{
|
{
|
||||||
println!("REMOVE ME =========================== leave ");
|
|
||||||
rdev::set_get_key_name(false);
|
rdev::set_get_key_name(false);
|
||||||
}
|
}
|
||||||
IS_IN.store(false, Ordering::SeqCst);
|
IS_IN.store(false, Ordering::SeqCst);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user