Double clicking ctrl can't trigger search window, with kmona or kanata running

as described in title, when kmonad or kanata running, listary can’t trigger searching window.

I test other key like double click alt to trigger wecom, it worked.

so I guess is it that the method how listary capture key input not proper?

A strange assumption, why do you think the error is in Listary ?
It can be also in kmonad or kanata.

because I tested it.

with double clicking every key except ctrl, it works, how ever it doesn’t when double clicking ctrl to trigger listary. and I make not key bindings on Ctrl.

here is the debug log info When I tested. Ctrl key press and release recognized like other keys.

2023-12-04T09:36:47.996599+08:00 [INFO] kanata v1.4.0 starting
2023-12-04T09:36:47.9968104+08:00 [INFO] using LLHOOK+SendInput for keyboard IO
2023-12-04T09:36:47.9973564+08:00 [INFO] process unmapped keys: true
2023-12-04T09:36:47.9975918+08:00 [INFO] NOTE: kanata was compiled to never allow cmd
2023-12-04T09:36:47.9977431+08:00 [DEBUG] (1) kanata_parser::cfg::alloc: freeing allocations of length 0
2023-12-04T09:36:47.9991556+08:00 [INFO] config parsed
2023-12-04T09:36:47.9992046+08:00 [INFO] Asking Windows to improve timer precision
2023-12-04T09:36:47.9992506+08:00 [INFO] Asking Windows to increase process priority
2023-12-04T09:36:47.9993304+08:00 [INFO] Sleeping for 2s. Please release all keys and don’t press additional ones.
2023-12-04T09:36:49.9995556+08:00 [INFO] entering the processing loop
2023-12-04T09:36:50.0000041+08:00 [INFO] Init: catching only releases and sending immediately
2023-12-04T09:36:50.8853476+08:00 [INFO] Starting kanata proper
2023-12-04T09:36:50.8855538+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:54.3171573+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 260, false
2023-12-04T09:36:54.3173753+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTALT, value: Press }
2023-12-04T09:36:54.3178531+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTALT, value: Press }
2023-12-04T09:36:54.3180349+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] []
2023-12-04T09:36:54.3182138+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] [LAlt]
2023-12-04T09:36:54.3183906+08:00 [DEBUG] (2) kanata::kanata: key press LAlt
2023-12-04T09:36:54.3186138+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 260, true
2023-12-04T09:36:54.3191295+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:54.4081794+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, false
2023-12-04T09:36:54.4083708+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTALT, value: Release }
2023-12-04T09:36:54.4094242+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTALT, value: Release }
2023-12-04T09:36:54.4095958+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] [LAlt]
2023-12-04T09:36:54.4097802+08:00 [DEBUG] (2) kanata::kanata: key release LAlt
2023-12-04T09:36:54.4099916+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, true
2023-12-04T09:36:54.4105205+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] []
2023-12-04T09:36:54.4106598+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:54.5501521+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 260, false
2023-12-04T09:36:54.5503299+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTALT, value: Press }
2023-12-04T09:36:54.5514574+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTALT, value: Press }
2023-12-04T09:36:54.5516135+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] []
2023-12-04T09:36:54.5517957+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] [LAlt]
2023-12-04T09:36:54.5519774+08:00 [DEBUG] (2) kanata::kanata: key press LAlt
2023-12-04T09:36:54.5521579+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 260, true
2023-12-04T09:36:54.5527941+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:54.647089+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, false
2023-12-04T09:36:54.6472898+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTALT, value: Release }
2023-12-04T09:36:54.6477207+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTALT, value: Release }
2023-12-04T09:36:54.6479027+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] [LAlt]
2023-12-04T09:36:54.6480679+08:00 [DEBUG] (2) kanata::kanata: key release LAlt
2023-12-04T09:36:54.6482134+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, true
2023-12-04T09:36:54.648856+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] []
2023-12-04T09:36:54.6489481+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:58.2741858+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 256, false
2023-12-04T09:36:58.2744097+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTCTRL, value: Press }
2023-12-04T09:36:58.2752403+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL, value: Press }
2023-12-04T09:36:58.2754445+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] []
2023-12-04T09:36:58.2756203+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] [LCtrl]
2023-12-04T09:36:58.2757979+08:00 [DEBUG] (2) kanata::kanata: key press LCtrl
2023-12-04T09:36:58.275947+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 256, true
2023-12-04T09:36:58.2765319+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:58.3731821+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, false
2023-12-04T09:36:58.3733988+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTCTRL, value: Release }
2023-12-04T09:36:58.3743857+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL, value: Release }
2023-12-04T09:36:58.3745698+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] [LCtrl]
2023-12-04T09:36:58.3747488+08:00 [DEBUG] (2) kanata::kanata: key release LCtrl
2023-12-04T09:36:58.3749677+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, true
2023-12-04T09:36:58.3756391+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] []
2023-12-04T09:36:58.3757567+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] []
2023-12-04T09:36:58.3758905+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] []
2023-12-04T09:36:58.3759807+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:58.4840933+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 256, false
2023-12-04T09:36:58.4842898+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTCTRL, value: Press }
2023-12-04T09:36:58.485392+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL, value: Press }
2023-12-04T09:36:58.4856346+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] []
2023-12-04T09:36:58.4858894+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] [LCtrl]
2023-12-04T09:36:58.4861137+08:00 [DEBUG] (2) kanata::kanata: key press LCtrl
2023-12-04T09:36:58.4867995+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 256, true
2023-12-04T09:36:58.4885667+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel
2023-12-04T09:36:58.5731863+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, false
2023-12-04T09:36:58.5734387+08:00 [DEBUG] (1) kanata::kanata::windows::llhook: event loop: KeyEvent { code: KEY_LEFTCTRL, value: Release }
2023-12-04T09:36:58.5741879+08:00 [DEBUG] (2) kanata::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL, value: Release }
2023-12-04T09:36:58.5743996+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:596] [LCtrl]
2023-12-04T09:36:58.5746027+08:00 [DEBUG] (2) kanata::kanata: key release LCtrl
2023-12-04T09:36:58.5748586+08:00 [TRACE] (1) kanata::oskbd::windows::llhook: [src\oskbd\windows\llhook.rs:115] 0, 257, true
2023-12-04T09:36:58.5755292+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:609] []
2023-12-04T09:36:58.5757791+08:00 [TRACE] (2) kanata::kanata: [src\kanata\mod.rs:1418] blocking on channel

any update?

more detail about listary I am using

Updates can only be expected in the actual version.
This is currently 6.3.0.78


Windows 11 Home x64 Version 23H2 (OS Build 22631.3593)
Listary Pro 6.3.0.78

Hello there,

See in my opinion you should ensure kmona or kanata are not intercepting the Ctrl key. Check their settings for keyboard shortcuts. If the issue persists, try temporarily disabling kmona/kanata to see if the search window works. If it does, adjust their settings accordingly

Hope this will be helpful.

How is listary reading inputs? Is it perhaps SDL? SDL has a known compatibility issue where it seems to ignore vkey outputs from Windows SendInput.

Otherwise if it’s using hooks or some other mechanism directly, why is it choosing to ignore injected events? Depending on user configuration, Kmonad and Kanata may intercept ctrl and then re-emit again ctrl as a new injected event. Some software has good reason to ignore injected events but the listary use cases does not seem to have a reason to do so.

finally, I change the configuarion and it works.

dev of kanata said

"Seems listary is ignoring injected events somehow. Can you try the scancode output variant or winiov2 variant?
Alternatively with Kanata you can choose to set process-unmapped-keys no and remove ctl keys from defsrc and it should work that way too.
"

Bug: kanata does not work properly with listary · Issue #1105 · jtroo/kanata (github.com)

Hello,
Thank you for asking this question, i am also facing the same problem.