[GH-ISSUE #287] Confused about config file and keyboard layout #143

Closed
opened 2026-05-05 22:11:27 -06:00 by gitea-mirror · 2 comments
Owner

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 implementing org.freedesktop.portal.InputCapture was 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.

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:de: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:de: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 implementing `org.freedesktop.portal.InputCapture` was 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.
Author
Owner

@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

<!-- gh-comment-id:2802835292 --> @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
Author
Owner

@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.

<!-- gh-comment-id:2804508322 --> @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.
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#143
No description provided.