-
-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
After upgrade lan mouse version to 0.8.0, Windows side can't access Linux side input #134
Comments
Just to be sure: Did you upgrade both devices and restart the service? |
Yes, I did it. |
Same happening here, the Linux PC can control Windows but on Windows the mouse cannot leave the screen. |
|
Thank you, that is very helpful! |
I am also experiencing this issue with the release versions on Windows & Wayland (0.8.0). The cursor is able to enter the windows client but not able to return to the Wayland client. It is working with the debug version built from source on Windows (although other issues are then present on windows side) and no changes on the Wayland side. The release version built from source experiences the same issue as the release download. |
Okay this is interesting. I will hopefully get to take a look this weekend. |
Could you check if maybe the "barriers" are just on the wrong side? As in the position is set to right but it's actually on the left side? |
I retested with the source built release version on windows (also dropped down to just 1 monitor) and was not able to exit the screen from any screen edge despite the left being configured as the barrier to the Wayland client. Reverting back to the source built debug version allowed me to exit from the left screen edge as expected. |
I am experiencing a similar problem. I am running version 0.8.0 on both Windows 11 and Ubuntu 22.04. |
now this is a very interesting bug. It looks to me like a compiler bug: log::debug!("{}", wparam.0 != WM_MOUSEMOVE as usize);
log::debug!("{}, {}, {}", wparam.0, WM_MOUSEMOVE as usize, wparam.0 == WM_MOUSEMOVE as usize); This prints
|
use std::hint::black_box;
use std::ptr::addr_of;
use windows::Win32::Foundation::{LPARAM, WPARAM};
use windows::Win32::UI::WindowsAndMessaging::{MSLLHOOKSTRUCT, WM_MOUSEMOVE};
fn main() {
let msll = MSLLHOOKSTRUCT::default();
let wparam = WPARAM(512);
let lparam = LPARAM(addr_of!(msll) as *const _ as isize);
unsafe { check_client_activation(wparam, lparam) };
}
pub unsafe fn check_client_activation(wparam: WPARAM, lparam: LPARAM) -> bool {
eprintln!("{wparam:?}, {lparam:?}");
if wparam.0 != WM_MOUSEMOVE as usize {
black_box(wparam.0);
assert_ne!(wparam.0, WM_MOUSEMOVE as usize);
return true;
}
let mouse_low_level: MSLLHOOKSTRUCT =
unsafe { *std::mem::transmute::<LPARAM, *const MSLLHOOKSTRUCT>(lparam) };
black_box(mouse_low_level.pt);
true
} reduced example... very very strange |
Okay turns out, its actually UB... I should not be using transmute here |
I have tested the dev build of lan mouse, from windows to linux is fine, but when back to windows the mouse seem to be frozen, and I can't do anything about this. |
I just squashed another bug with windows. Please report back if anyone is still having issues now! |
Before upgrade to 0.8.0 everything is work perfectly, but after upgrade to 0.8.0 only Linux side can access windows side mouse input, even plug in mouse to linux pc, when access windows side mouse input can't back to linux side.
I've tried to downgrade to 0.7.3 or 0.7.2, but still not working, so i'm thinking maybe is linux upgrade something break lan mouse.
My linux system is fedora 40 KDE Plasma 6.0.4 Wayland, windows version is 26120.670.
Windows side logs:
Linux side logs:
The text was updated successfully, but these errors were encountered: