mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-05-15 06:06:07 -06:00
[GH-ISSUE #287] Confused about config file and keyboard layout #143
Labels
No labels
Xorg
documentation
enhancement
macos
pull-request
question
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/lan-mouse#143
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Nyanyapupo on GitHub (Apr 13, 2025).
Original GitHub issue: https://github.com/feschber/lan-mouse/issues/287
Hello, I am using two machines connected to the same wifi network and to each other via an ethernet cable on a different netmask so that I can ssh into them with better connectivity. One of them is Debian Trixie with Kde Plasma 6.3.4 and the other is a laptop Arch with Hyprland 0.48.1. My main keyboard and mouse are connected to the Debian computer
It worked through the gui app but the CTRL ALT.. keys didn't so I looked in the older issues and managed to make them work by adding
capture_backend = "layer-shell" to the start of the config.toml file. Now the CTRL ALT and so on keys work well and I am very happy but there are some things I didn't manage to do. Firstly these are my config files:
1 │ # This is the debian machine with KDE Plasma
2 │ capture_backend = "layer-shell"
3 │ # configure release bind
4 │ release_bind = [ "KeyA", "KeyS", "KeyD", "KeyF" ]
5 │
6 │ # optional port (defaults to 4242)
7 │ port = 4242
8 │
9 │ # list of authorized tls certificate fingerprints that
10 │ # are accepted for incoming traffic
11 │ #[authorized_fingerprints]
12 │ "bc:05:ab:7a:a4🇩🇪88:8c:2f:92:ac:bc:b8:49:b8:24:0d:44:b3:e6:a4:ef:d7:0b:6c:69:6
│ d:77:53:0b:14:80" = "arch"
13 │ # define a client on the right side with host name "arch"
14 │ clients
15 │ # position (left | right | top | bottom)
16 │ position = "left"
17 │ # hostname
18 │ hostname = "arch"
19 │ # activate this client immediately when lan-mouse is started
20 │ activate_on_startup = true
1 │ # example configuration
2 │
3 │ # configure release bind
4 │ release_bind = [ "KeyA", "KeyS", "KeyD", "KeyF" ]
5 │
6 │ # optional port (defaults to 4242)
7 │ port = 4242
8 │
9 │ # list of authorized tls certificate fingerprints that
10 │ # are accepted for incoming traffic
11 │ #[authorized_fingerprints]
12 │ "bc:05:ab:7a:a4🇩🇪88:8c:2f:92:ac:bc:b8:49:b8:24:0d:44:b3:e6:a4:ef:d7:0b:6c:69:6
│ d:77:53:0b:14:80" = "debian"
13 │
14 │ # define a client on the right side with host name "debian"
15 │ clients
16 │ # position
17 │ position = "right"
18 │ # hostname
19 │ hostname = "debian"
20 │ # activate this client immediately when lan-mouse is started
21 │ activate_on_startup = true
I do not understand how I can obtain the tls certificate fingerprint of my computers to put it in the configs so maybe that's what doesn't work.
This is the output of lan-mouse --daemon on the debian machine after a popup asking for permission to use input devices and saying yes.
[2025-04-13T17:07:02Z INFO lan_mouse::config] using config: "/home/yasen/.config/lan-mouse/config.toml"
[2025-04-13T17:07:02Z INFO lan_mouse] release bind: [KeyA, KeyS, KeyD, KeyF]
[2025-04-13T17:07:02Z INFO lan_mouse] Press [KeyA, KeyS, KeyD, KeyF] to release the mouse
[2025-04-13T17:07:02Z INFO input_capture] using capture backend: layer-shell
[2025-04-13T17:07:02Z INFO lan_mouse::server::emulation_task] creating input emulation...
[2025-04-13T17:07:02Z WARN input_emulation] wlroots backend:
wayland protocol "wlr-virtual-pointer-unstable-v1" not supported: the requested global was not found in the registry[2025-04-13T17:07:02Z INFO input_emulation::libei] requesting permission for input emulation
[2025-04-13T17:07:07Z INFO input_emulation] using emulation backend: libei
And this is the output of lan-mouse --daemon on the arch machine:
[2025-04-13T17:09:41Z INFO lan_mouse::config] using config: "/home/yasen/.config/lan-mouse/config.toml"
[2025-04-13T17:09:41Z INFO lan_mouse] release bind: [KeyA, KeyS, KeyD, KeyF]
[2025-04-13T17:09:41Z INFO lan_mouse] Press [KeyA, KeyS, KeyD, KeyF] to release the mouse
[2025-04-13T17:09:41Z INFO lan_mouse::server::emulation_task] creating input emulation...
[2025-04-13T17:09:41Z INFO input_emulation] using emulation backend: wlroots
[2025-04-13T17:09:41Z WARN input_capture] input-capture-portal input capture backend unavailable: error creating input-capture-portal backend:
xdg-desktop-portal:A portal frontend implementingorg.freedesktop.portal.InputCapturewas not found``[2025-04-13T17:09:41Z INFO input_capture] using capture backend: layer-shell
I also tried these:
cp service/lan-mouse.service ~/.config/systemd/user
systemctl --user daemon-reload
systemctl --user enable --now lan-mouse.service
but nothing happened, I don't think.
Another small issue, you may have some insight into is the keyboard layouts. On my arch/hyprland laptop I have two layouts: English and Bulgarian, but when I manage to connect the two computers, the Bulgarian layout just stops working even though when I change between them I get a notification "kb_layout: bg" as usual.
@Nyanyapupo commented on GitHub (Apr 14, 2025):
I was actually using the precompiled binaries in the v0.10 release so now I tried with the binaries in development and it worked. The keyboard layout is commanded by the host machine
@feschber commented on GitHub (Apr 15, 2025):
Hi, the encryption stuff is pretty new and not released yet (soon TM).
I recommend you use the git release for now.
The keyboard layout should technically be determined by the guest machine as though the keyboard was connected directly.