[GH-ISSUE #79] Sometimes all the keys are not released #25

Closed
opened 2026-05-05 22:04:55 -06:00 by gitea-mirror · 30 comments
Owner

Originally created by @ICE-GB on GitHub (Jan 17, 2024).
Original GitHub issue: https://github.com/feschber/lan-mouse/issues/79

001

I use hyprland to control win10

Originally created by @ICE-GB on GitHub (Jan 17, 2024). Original GitHub issue: https://github.com/feschber/lan-mouse/issues/79 ![001](https://github.com/feschber/lan-mouse/assets/39125461/6d2ae8eb-49fd-4e4f-bbc1-2139db66829e) I use hyprland to control win10
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

What exact version are you using? I tried but could not reproduce the issue. Also, are the keys actually not released or is it just the warning?

<!-- gh-comment-id:1895278050 --> @feschber commented on GitHub (Jan 17, 2024): What exact version are you using? I tried but could not reproduce the issue. Also, are the keys actually not released or is it just the warning?
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

e2c47d3096 this commit

<!-- gh-comment-id:1895288254 --> @ICE-GB commented on GitHub (Jan 17, 2024): https://github.com/feschber/lan-mouse/tree/e2c47d30969558351799b85eac91b4a5db6c756e this commit
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

actually not released

<!-- gh-comment-id:1895289056 --> @ICE-GB commented on GitHub (Jan 17, 2024): actually not released
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

It's a bit weird because there are three cases where keys are released:

  • A client is unresponsive
  • A client disconnects by pressing Ctrl + Alt + Shift + Win
  • Lan Mouse terminates.

In the red marked instances it can really only be the second case because otherwise it would also print device not responding.
What might be happening is, that one of the KeyReleaseEvents arrives before the Disconnect event. This would explain why there are Keys missing from the log.

To see exactly whats going on, you could run LanMouse with LAN_MOUSE_LOG_LEVEL=trace as an environment variable (I believe in windows you would run $env:LAN_MOUSE_LOG_LEVEL=trace) and paste the output here when the issue occurs.

<!-- gh-comment-id:1895348251 --> @feschber commented on GitHub (Jan 17, 2024): It's a bit weird because there are three cases where keys are released: - A client is unresponsive - A client disconnects by pressing Ctrl + Alt + Shift + Win - Lan Mouse terminates. In the red marked instances it can really only be the second case because otherwise it would also print `device not responding`. What might be happening is, that one of the KeyReleaseEvents arrives before the `Disconnect` event. This would explain why there are Keys missing from the log. To see exactly whats going on, you could run LanMouse with `LAN_MOUSE_LOG_LEVEL=trace` as an environment variable (I believe in windows you would run `$env:LAN_MOUSE_LOG_LEVEL=trace`) and paste the output here when the issue occurs.
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

I noticed another issue with hyprland in particular, where the cursor is released by hyprland when I have two monitors connected (which is out of my control and likely a bug in Hyprland).
Maybe that is related as well. I will see if I can bisect that ...

<!-- gh-comment-id:1895353507 --> @feschber commented on GitHub (Jan 17, 2024): I noticed another issue with hyprland in particular, where the cursor is released by hyprland when I have two monitors connected (which is out of my control and likely a bug in Hyprland). Maybe that is related as well. I will see if I can bisect that ...
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

Yes, it's the second case, press the key combination to release it, thanks for the answer, I'll try to change the log level when I have time

<!-- gh-comment-id:1895370770 --> @ICE-GB commented on GitHub (Jan 17, 2024): Yes, it's the second case, press the key combination to release it, thanks for the answer, I'll try to change the log level when I have time
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

The last thing I pressed was win, and after releasing the first three buttons, the log looks like this.

002

Sorry, my use of >> to redirect to the log file doesn't seem to work

<!-- gh-comment-id:1895521534 --> @ICE-GB commented on GitHub (Jan 17, 2024): The last thing I pressed was win, and after releasing the first three buttons, the log looks like this. ![002](https://github.com/feschber/lan-mouse/assets/39125461/b2bf267a-f5c5-4702-9d64-94d6fbf932eb) Sorry, my use of `>>` to redirect to the log file doesn't seem to work
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

before disconnect log

003

<!-- gh-comment-id:1895530897 --> @ICE-GB commented on GitHub (Jan 17, 2024): before disconnect log ![003](https://github.com/feschber/lan-mouse/assets/39125461/9a8b7915-2f0e-4c90-b193-175ccfc4bb75)
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

Okay that is interesting. The Key press event is received after the modifier event.

Wayland docs say: "If this event produces a change in modifiers, then the resulting wl_keyboard.modifiers event must be sent after this event."
So this could be either a bug in Hyprland or packet reordering because of udp.

Could you also attach a trace from the Hyprland side so that I can see whats going on?

And maybe attach the exact version of Hyprland you are using so I can try to reproduce.

I should probably update the code to use the pressed keys instead of the modifier state regardless.

<!-- gh-comment-id:1895619797 --> @feschber commented on GitHub (Jan 17, 2024): Okay that is interesting. The Key press event is received _after_ the modifier event. Wayland docs say: "If this event produces a change in modifiers, then the resulting wl_keyboard.modifiers event must be sent after this event." So this could be either a bug in Hyprland or packet reordering because of udp. Could you also attach a trace from the Hyprland side so that I can see whats going on? And maybe attach the exact version of Hyprland you are using so I can try to reproduce. I should probably update the code to use the pressed keys instead of the modifier state regardless.
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

Hyprland version: https:github.com/hyprwm/Hyprland/releases/tag/v0.34.0
By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows.
So I went back to the release version.

<!-- gh-comment-id:1895630552 --> @ICE-GB commented on GitHub (Jan 17, 2024): Hyprland version: https:github.com/hyprwm/Hyprland/releases/tag/v0.34.0 By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows. So I went back to the release version.
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

Could you also attach a trace from the Hyprland side so that I can see whats going on?

What should I do? I'm not sure how to get the hyprland trace logs.

<!-- gh-comment-id:1895644751 --> @ICE-GB commented on GitHub (Jan 17, 2024): > Could you also attach a trace from the Hyprland side so that I can see whats going on? What should I do? I'm not sure how to get the hyprland trace logs.
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

Same as in windows

export LAN_MOUSE_LOG_LEVEL=trace
cargo run --release

(or lan-mouse if you are using the binary version)

<!-- gh-comment-id:1895650937 --> @feschber commented on GitHub (Jan 17, 2024): Same as in windows ```sh export LAN_MOUSE_LOG_LEVEL=trace cargo run --release ``` (or `lan-mouse` if you are using the binary version)
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows. So I went back to the release version.

Are you talking about hyprland or lan-mouse? Because I noticed that, too

<!-- gh-comment-id:1895652987 --> @feschber commented on GitHub (Jan 17, 2024): > By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows. So I went back to the release version. Are you talking about hyprland or lan-mouse? Because I noticed that, too
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

Sorry, I made a mistake, I thought it was hyprland's log. My English is terrible

<!-- gh-comment-id:1895670760 --> @ICE-GB commented on GitHub (Jan 17, 2024): Sorry, I made a mistake, I thought it was hyprland's log. My English is terrible
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows. So I went back to the release version.

hyprland version

<!-- gh-comment-id:1895671936 --> @ICE-GB commented on GitHub (Jan 17, 2024): > By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows. So I went back to the release version. hyprland version
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

e2c47d3096 this commit

lan-mouse is this with https://github.com/feschber/lan-mouse/pull/78

<!-- gh-comment-id:1895675144 --> @ICE-GB commented on GitHub (Jan 17, 2024): > https://github.com/feschber/lan-mouse/tree/e2c47d30969558351799b85eac91b4a5db6c756e this commit lan-mouse is this with https://github.com/feschber/lan-mouse/pull/78
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows.

Found the offending commit, I will open a bug report on the Hyprland repo: c4da4b026d

<!-- gh-comment-id:1895683716 --> @feschber commented on GitHub (Jan 17, 2024): > By the way, when I was using the latest commit a few days ago the mouse could only move in one direction after moving to the windows. Found the offending commit, I will open a bug report on the Hyprland repo: https://github.com/hyprwm/Hyprland/commit/c4da4b026deefd58f532353b64e9f17130e760ca
Author
Owner

@ICE-GB commented on GitHub (Jan 17, 2024):

Same as in windows

export LAN_MOUSE_LOG_LEVEL=trace
cargo run --release

(or lan-mouse if you are using the binary version)

Regarding this log, I will try again tomorrow when I have time.

<!-- gh-comment-id:1895704094 --> @ICE-GB commented on GitHub (Jan 17, 2024): > Same as in windows > > ```shell > export LAN_MOUSE_LOG_LEVEL=trace > cargo run --release > ``` > > (or `lan-mouse` if you are using the binary version) Regarding this log, I will try again tomorrow when I have time.
Author
Owner

@feschber commented on GitHub (Jan 17, 2024):

Sure, no problem!

<!-- gh-comment-id:1895712330 --> @feschber commented on GitHub (Jan 17, 2024): Sure, no problem!
Author
Owner

@ICE-GB commented on GitHub (Jan 18, 2024):

[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794787, relative_x: 0.0, relative_y: -1.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794788, relative_x: 1.0, relative_y: 0.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(0,-1)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794791, relative_x: 1.0, relative_y: 0.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794794, relative_x: 1.0, relative_y: -1.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,-1)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794797, relative_x: 1.0, relative_y: 0.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794801, relative_x: 1.0, relative_y: 0.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794805, relative_x: 1.0, relative_y: 0.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794809, relative_x: 0.0, relative_y: -1.0 })
[2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(0,-1)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794862, relative_x: -1.0, relative_y: 0.0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794870, relative_x: -1.0, relative_y: 0.0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794873, relative_x: 0.0, relative_y: 1.0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(0,1)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794877, relative_x: -1.0, relative_y: 0.0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794888, relative_x: -1.0, relative_y: 0.0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0)         ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794894, relative_x: 0.0, relative_y: 1.0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(0,1)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z DEBUG lan_mouse::server] state: Sending => waiting 500ms for client to respond ...
[2024-01-18T00:40:38Z TRACE lan_mouse::server] ping                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] pong                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795330, key: 29, state: 1 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 4, mods_latched: 0, mods_locked: 16, group: 0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] key(29, 1)           ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] modifiers(4,0,16,0)  ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:38Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795452, key: 56, state: 1 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 12, mods_latched: 0, mods_locked: 16, group: 0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] key(56, 1)           ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] modifiers(12,0,16,0) ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795546, key: 42, state: 1 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 13, mods_latched: 0, mods_locked: 16, group: 0 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] key(42, 1)           ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] modifiers(13,0,16,0) ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z DEBUG lan_mouse::server] state: Sending => waiting 500ms for client to respond ...
[2024-01-18T00:40:38Z TRACE lan_mouse::server] ping                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] pong                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795783, key: 125, state: 1 })
[2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 77, mods_latched: 0, mods_locked: 16, group: 0 })
[2024-01-18T00:40:38Z DEBUG lan_mouse::backend::producer::wayland] releasing pointer
[2024-01-18T00:40:38Z TRACE lan_mouse::server] STATE ===> Receiving
[2024-01-18T00:40:38Z TRACE lan_mouse::server] key(125, 1)          ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] disconnect           ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:38Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:38Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:39Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:39Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:39Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:39Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:40Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:40Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:41Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:41Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:41Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:41Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
[2024-01-18T00:40:42Z TRACE lan_mouse::server] ping                 <-<-<-<------ 10.215.58.254:4242 (0)
[2024-01-18T00:40:42Z TRACE lan_mouse::server] pong                 ------>->->-> 10.215.58.254:4242
^C[2024-01-18T00:40:42Z INFO  lan_mouse::server] terminating service
[2024-01-18T00:40:42Z DEBUG lan_mouse::server] producer notify rx: Some(Terminate)
[2024-01-18T00:40:42Z DEBUG lan_mouse::backend::producer::wayland] destroying window!
[2024-01-18T00:40:42Z DEBUG lan_mouse::server] frontend: Shutdown
[2024-01-18T00:40:42Z INFO  lan_mouse::server] terminating gracefully...
[2024-01-18T00:40:42Z DEBUG lan_mouse::frontend] remove socket: "/run/user/1000/lan-mouse-socket.sock"
[2024-01-18T00:40:42Z DEBUG lan_mouse] service exiting

It looks like 77 was sent first and then 125 was sent?

<!-- gh-comment-id:1897563505 --> @ICE-GB commented on GitHub (Jan 18, 2024): ```log [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794787, relative_x: 0.0, relative_y: -1.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794788, relative_x: 1.0, relative_y: 0.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(0,-1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794791, relative_x: 1.0, relative_y: 0.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794794, relative_x: 1.0, relative_y: -1.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,-1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794797, relative_x: 1.0, relative_y: 0.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794801, relative_x: 1.0, relative_y: 0.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794805, relative_x: 1.0, relative_y: 0.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:37Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794809, relative_x: 0.0, relative_y: -1.0 }) [2024-01-18T00:40:37Z TRACE lan_mouse::server] motion(0,-1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794862, relative_x: -1.0, relative_y: 0.0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794870, relative_x: -1.0, relative_y: 0.0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794873, relative_x: 0.0, relative_y: 1.0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(0,1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794877, relative_x: -1.0, relative_y: 0.0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794888, relative_x: -1.0, relative_y: 0.0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(-1,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Pointer(Motion { time: 514794894, relative_x: 0.0, relative_y: 1.0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] motion(0,1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z DEBUG lan_mouse::server] state: Sending => waiting 500ms for client to respond ... [2024-01-18T00:40:38Z TRACE lan_mouse::server] ping ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] pong <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795330, key: 29, state: 1 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 4, mods_latched: 0, mods_locked: 16, group: 0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] key(29, 1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] modifiers(4,0,16,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:38Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795452, key: 56, state: 1 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 12, mods_latched: 0, mods_locked: 16, group: 0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] key(56, 1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] modifiers(12,0,16,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795546, key: 42, state: 1 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 13, mods_latched: 0, mods_locked: 16, group: 0 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] key(42, 1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] modifiers(13,0,16,0) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z DEBUG lan_mouse::server] state: Sending => waiting 500ms for client to respond ... [2024-01-18T00:40:38Z TRACE lan_mouse::server] ping ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] pong <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Key { time: 514795783, key: 125, state: 1 }) [2024-01-18T00:40:38Z TRACE lan_mouse::server] producer: (0) Keyboard(Modifiers { mods_depressed: 77, mods_latched: 0, mods_locked: 16, group: 0 }) [2024-01-18T00:40:38Z DEBUG lan_mouse::backend::producer::wayland] releasing pointer [2024-01-18T00:40:38Z TRACE lan_mouse::server] STATE ===> Receiving [2024-01-18T00:40:38Z TRACE lan_mouse::server] key(125, 1) ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] disconnect ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:38Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:38Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:39Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:39Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:39Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:39Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:40Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:40Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:41Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:41Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:41Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:41Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 [2024-01-18T00:40:42Z TRACE lan_mouse::server] ping <-<-<-<------ 10.215.58.254:4242 (0) [2024-01-18T00:40:42Z TRACE lan_mouse::server] pong ------>->->-> 10.215.58.254:4242 ^C[2024-01-18T00:40:42Z INFO lan_mouse::server] terminating service [2024-01-18T00:40:42Z DEBUG lan_mouse::server] producer notify rx: Some(Terminate) [2024-01-18T00:40:42Z DEBUG lan_mouse::backend::producer::wayland] destroying window! [2024-01-18T00:40:42Z DEBUG lan_mouse::server] frontend: Shutdown [2024-01-18T00:40:42Z INFO lan_mouse::server] terminating gracefully... [2024-01-18T00:40:42Z DEBUG lan_mouse::frontend] remove socket: "/run/user/1000/lan-mouse-socket.sock" [2024-01-18T00:40:42Z DEBUG lan_mouse] service exiting ``` It looks like 77 was sent first and then 125 was sent?
Author
Owner

@feschber commented on GitHub (Jan 18, 2024):

No it seems like the order is correct here. Then the only explanation is that packets are reordered.

<!-- gh-comment-id:1898301942 --> @feschber commented on GitHub (Jan 18, 2024): No it seems like the order is correct here. Then the only explanation is that packets are reordered.
Author
Owner

@ICE-GB commented on GitHub (Jan 19, 2024):

No it seems like the order is correct here. Then the only explanation is that packets are reordered.

Ok, I've temporarily added a 1 second sleep before sending the disconnect and it seems to be working fine for me now, looking forward to your solution!

<!-- gh-comment-id:1899458507 --> @ICE-GB commented on GitHub (Jan 19, 2024): > No it seems like the order is correct here. Then the only explanation is that packets are reordered. Ok, I've temporarily added a 1 second sleep before sending the disconnect and it seems to be working fine for me now, looking forward to your solution!
Author
Owner

@feschber commented on GitHub (Jan 19, 2024):

Yeah I've been thinking about that. Probably best to ignore anything that comes after a disconnect until another enter event arrives

<!-- gh-comment-id:1899474172 --> @feschber commented on GitHub (Jan 19, 2024): Yeah I've been thinking about that. Probably best to ignore anything that comes after a disconnect until another enter event arrives
Author
Owner

@xf- commented on GitHub (Mar 9, 2024):

I have sometimes this issue (especially with a lot of network activity) as well with only wired connections. Also, annoying the mouse always double clicks. I'm on latest git commit, and it worked before/was better.
Looked for an issue that was mouse related and ended up here, but I guess I open a new one.

<!-- gh-comment-id:1986957054 --> @xf- commented on GitHub (Mar 9, 2024): I have sometimes this issue (especially with a lot of network activity) as well with only wired connections. Also, annoying the mouse always double clicks. I'm on latest git commit, and it worked before/was better. Looked for an issue that was mouse related and ended up here, but I guess I open a new one.
Author
Owner

@feschber commented on GitHub (Mar 10, 2024):

Do you have a specific version where it was better?
In any case this is somewhat expected until I put some mechanism in place to handle packet loss / duplication / reordering which is currently simply ignored.

<!-- gh-comment-id:1987201764 --> @feschber commented on GitHub (Mar 10, 2024): Do you have a specific version where it was better? In any case this is somewhat expected until I put some mechanism in place to handle packet loss / duplication / reordering which is currently simply ignored.
Author
Owner

@xf- commented on GitHub (Mar 10, 2024):

Do you have a specific version where it was better? In any case this is somewhat expected until I put some mechanism in place to handle packet loss / duplication / reordering which is currently simply ignored.

I used Plasma 5 Wayland connected with Plasma 6 alpha/beta/rc Wayland before
and now I run both systems with Plasma 6 Wayland. That was the point the click issue started. EVERY click is doubled and not related to current network usage.
That was the reason I thought it is maybe a different issue.

<!-- gh-comment-id:1987282856 --> @xf- commented on GitHub (Mar 10, 2024): > Do you have a specific version where it was better? In any case this is somewhat expected until I put some mechanism in place to handle packet loss / duplication / reordering which is currently simply ignored. I used Plasma 5 Wayland connected with Plasma 6 alpha/beta/rc Wayland before and now I run both systems with Plasma 6 Wayland. That was the point the click issue started. *EVERY* click is doubled and not related to current network usage. That was the reason I thought it is maybe a different issue.
Author
Owner

@feschber commented on GitHub (Mar 10, 2024):

Ah yeah that is definitely a different issue then and may also be an issue with plasma.

<!-- gh-comment-id:1987307628 --> @feschber commented on GitHub (Mar 10, 2024): Ah yeah that is definitely a different issue then and may also be an issue with plasma.
Author
Owner

@feschber commented on GitHub (Mar 21, 2024):

@ICE-GB can you check if the latest version still has this issue? There has been a bug with duplicated input devices that I fixed.

<!-- gh-comment-id:2013499864 --> @feschber commented on GitHub (Mar 21, 2024): @ICE-GB can you check if the latest version still has this issue? There has been a bug with duplicated input devices that I fixed.
Author
Owner

@ICE-GB commented on GitHub (Mar 22, 2024):

I currently have the key combination set to asdf and everything seems to work fine!

<!-- gh-comment-id:2014475691 --> @ICE-GB commented on GitHub (Mar 22, 2024): I currently have the key combination set to `asdf` and everything seems to work fine!
Author
Owner

@feschber commented on GitHub (Mar 22, 2024):

I still should fix the theoretical race condition but good to hear it seems less likely now

<!-- gh-comment-id:2014650350 --> @feschber commented on GitHub (Mar 22, 2024): I still should fix the theoretical race condition but good to hear it seems less likely now
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/lan-mouse#25
No description provided.