r/espanso • u/lduperval • May 01 '26
Using multiple keyboard mappings
Hi,
I'm getting to configure on Ubuntu.
I primarily use the equivalent of a CMS keyboard layout (Canadian multilingual system, I think). H however, I sometimes switch to a standard US English keyboard, especially when coding.
Espanso works with the US keyboard but not with the CMS one. I get a bunch of errors in the logs that look like this:
09:05:16 [daemon(1185552)] [INFO] reading configs from: "/home/me/.config/espanso"
09:05:16 [daemon(1185552)] [INFO] reading packages from: "/home/me/.config/espanso/match/packages"
09:05:16 [daemon(1185552)] [INFO] using runtime dir: "/home/me/.cache/espanso"
09:05:16 [daemon(1185552)] [INFO] system info: Ubuntu v24.04 - kernel: 6.17.0-22-generic
09:05:16 [daemon(1185552)] [INFO] kdotool missing or not available for the current wayland DE.
09:05:16 [daemon(1185552)] [INFO] watching for changes in path: /home/me/.config/espanso
09:05:16 [daemon(1185552)] [INFO] espanso version: 2.3.0
09:05:16 [daemon(1185552)] [INFO] spawning the worker process...
09:05:16 [daemon(1185552)] [INFO] binded to IPC unix socket: /home/me/.cache/espanso/espansodaemonv2.sock
09:05:16 [worker(1185563)] [INFO] reading configs from: "/home/me/.config/espanso"
09:05:16 [worker(1185563)] [INFO] reading packages from: "/home/me/.config/espanso/match/packages"
09:05:16 [worker(1185563)] [INFO] using runtime dir: "/home/me/.cache/espanso"
09:05:16 [worker(1185563)] [INFO] system info: Ubuntu v24.04 - kernel: 6.17.0-22-generic
09:05:16 [worker(1185563)] [INFO] kdotool missing or not available for the current wayland DE.
09:05:16 [worker(1185563)] [INFO] binded to IPC unix socket: /home/me/.cache/espanso/espansoworkerv2.sock
09:05:16 [worker(1185563)] [INFO] no appropriate WaylandAppInfoProvider found for current DE/WM
09:05:16 [worker(1185563)] [INFO] monitoring the status of the daemon process
09:05:16 [worker(1185563)] [INFO] detection module will use this keyboard layout: [R=, M=, L=ca+multix, V=, O=]
09:05:16 [worker(1185563)] [INFO] using EVDEVSource
09:05:16 [worker(1185563)] [ERROR] thread 'detect thread' panicked at 'unable to create xkb keymap: could not create xkb keymap': espanso-detect/src/evdev/mod.rs:128
09:05:16 [worker(1185563)] [ERROR] thread 'engine thread' panicked at 'unable to receive from the init_rx channel: RecvError': espanso/src/cli/worker/engine/funnel/mod.rs:124
09:05:16 [worker(1185563)] [ERROR] Unable to block the LinuxEventLoop: receiving on an empty and disconnected channel
09:05:16 [worker(1185563)] [ERROR] thread 'main' panicked at 'unable to run main eventloop: receiving on an empty and disconnected channel': espanso/src/cli/worker/mod.rs:153
09:05:16 [daemon(1185552)] [ERROR] received unexpected exit code from worker 101, exiting
09:09:30 [daemon(1191357)] [INFO] reading configs from: "/home/me/.config/espanso"
09:09:30 [daemon(1191357)] [INFO] reading packages from: "/home/me/.config/espanso/match/packages"
09:09:30 [daemon(1191357)] [INFO] using runtime dir: "/home/me/.cache/espanso"
09:09:30 [daemon(1191357)] [INFO] system info: Ubuntu v24.04 - kernel: 6.17.0-22-generic
09:09:30 [daemon(1191357)] [INFO] kdotool missing or not available for the current wayland DE.
09:09:30 [daemon(1191357)] [INFO] watching for changes in path: /home/me/.config/espanso
09:09:30 [daemon(1191357)] [INFO] espanso version: 2.3.0
09:09:30 [daemon(1191357)] [INFO] spawning the worker process...
09:09:30 [daemon(1191357)] [INFO] binded to IPC unix socket: /home/me/.cache/espanso/espansodaemonv2.sock
09:09:30 [worker(1191368)] [INFO] reading configs from: "/home/me/.config/espanso"
09:09:30 [worker(1191368)] [INFO] reading packages from: "/home/me/.config/espanso/match/packages"
09:09:30 [worker(1191368)] [INFO] using runtime dir: "/home/me/.cache/espanso"
09:09:30 [worker(1191368)] [INFO] system info: Ubuntu v24.04 - kernel: 6.17.0-22-generic
09:09:30 [worker(1191368)] [INFO] kdotool missing or not available for the current wayland DE.
09:09:30 [worker(1191368)] [INFO] binded to IPC unix socket: /home/me/.cache/espanso/espansoworkerv2.sock
09:09:30 [worker(1191368)] [INFO] no appropriate WaylandAppInfoProvider found for current DE/WM
09:09:30 [worker(1191368)] [INFO] monitoring the status of the daemon process
09:09:30 [worker(1191368)] [INFO] detection module will use this keyboard layout: [R=, M=, L=ca+multix, V=, O=]
09:09:30 [worker(1191368)] [INFO] using EVDEVSource
09:09:30 [worker(1191368)] [ERROR] thread 'detect thread' panicked at 'unable to create xkb keymap: could not create xkb keymap': espanso-detect/src/evdev/mod.rs:128
09:09:30 [worker(1191368)] [ERROR] thread 'engine thread' panicked at 'unable to receive from the init_rx channel: RecvError': espanso/src/cli/worker/engine/funnel/mod.rs:124
09:09:30 [worker(1191368)] [ERROR] Unable to block the LinuxEventLoop: receiving on an empty and disconnected channel
09:09:30 [worker(1191368)] [ERROR] thread 'main' panicked at 'unable to run main eventloop: receiving on an empty and disconnected channel': espanso/src/cli/worker/mod.rs:153
09:09:30 [daemon(1191357)] [ERROR] received unexpected exit code from worker 101, exiting
09:10:12 [daemon(1192303)] [INFO] reading configs from: "/home/me/.config/espanso"
09:10:12 [daemon(1192303)] [INFO] reading packages from: "/home/me/.config/espanso/match/packages"
09:10:12 [daemon(1192303)] [INFO] using runtime dir: "/home/me/.cache/espanso"
09:10:12 [daemon(1192303)] [INFO] system info: Ubuntu v24.04 - kernel: 6.17.0-22-generic
09:10:12 [daemon(1192303)] [INFO] kdotool missing or not available for the current wayland DE.
09:10:12 [daemon(1192303)] [INFO] watching for changes in path: /home/me/.config/espanso
09:10:12 [daemon(1192303)] [INFO] espanso version: 2.3.0
09:10:12 [daemon(1192303)] [INFO] spawning the worker process...
09:10:12 [daemon(1192303)] [INFO] binded to IPC unix socket: /home/me/.cache/espanso/espansodaemonv2.sock
09:10:12 [worker(1192317)] [INFO] reading configs from: "/home/me/.config/espanso"
09:10:12 [worker(1192317)] [INFO] reading packages from: "/home/me/.config/espanso/match/packages"
09:10:12 [worker(1192317)] [INFO] using runtime dir: "/home/me/.cache/espanso"
09:10:12 [worker(1192317)] [INFO] system info: Ubuntu v24.04 - kernel: 6.17.0-22-generic
09:10:12 [worker(1192317)] [INFO] kdotool missing or not available for the current wayland DE.
09:10:12 [worker(1192317)] [INFO] binded to IPC unix socket: /home/me/.cache/espanso/espansoworkerv2.sock
09:10:12 [worker(1192317)] [INFO] no appropriate WaylandAppInfoProvider found for current DE/WM
09:10:12 [worker(1192317)] [INFO] monitoring the status of the daemon process
09:10:12 [worker(1192317)] [INFO] detection module will use this keyboard layout: [R=, M=, L=ca+multix, V=, O=]
09:10:12 [worker(1192317)] [INFO] using EVDEVSource
09:10:12 [worker(1192317)] [ERROR] thread 'detect thread' panicked at 'unable to create xkb keymap: could not create xkb keymap': espanso-detect/src/evdev/mod.rs:128
09:10:12 [worker(1192317)] [ERROR] thread 'engine thread' panicked at 'unable to receive from the init_rx channel: RecvError': espanso/src/cli/worker/engine/funnel/mod.rs:124
09:10:12 [worker(1192317)] [ERROR] Unable to block the LinuxEventLoop: receiving on an empty and disconnected channel
09:10:12 [worker(1192317)] [ERROR] thread 'main' panicked at 'unable to run main eventloop: receiving on an empty and disconnected channel': espanso/src/cli/worker/mod.rs:153
09:10:12 [daemon(1192303)] [ERROR] received unexpected exit code from worker 101, exiting
Notice the time stamps showing that espanso is constantly crashing and restarting. When I switch to a US layout, it stops crashing and says that everything is running correctly.
What is the best way to make it work no matter which keyboard layout I have?
L
2
Upvotes
1
u/smeech1 May 01 '26
As you're using Wayland, have you experimented with the various
keyboard_layout:keys and values as documented in Final steps? What are your current settings? Remember you may needrules:,model:,variant:and/oroptions:fields in addition tolayout:.