Giter Club home page Giter Club logo

Comments (7)

jtroo avatar jtroo commented on June 27, 2024 1

A PR is already open for this 🙂

from kanata.

jtroo avatar jtroo commented on June 27, 2024

Can add the logs from running with --debug while reproducing the issue?

Knowing the implementation of release-key, my first guess would be an OS issue, but not a guarantee.

from kanata.

newsve avatar newsve commented on June 27, 2024

Sure, and what I did: held a and ; tapped 3x h (for jumping three words to the left) and 3x l (for jumping three
words to the right). What is interesting, sometimes it only works with the first held of a and ; and then never again.

08:24:00.7422 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_A, value: Press }
08:24:00.7439 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_A, value: Press }
08:24:00.9673 [DEBUG] (2) kanata_state_machine::kanata: key press     LCtrl
08:24:01.3216 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_SEMICOLON, value: Press }
08:24:01.3226 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_SEMICOLON, value: Press }
08:24:01.5460 [DEBUG] (2) kanata_state_machine::kanata: key press     RCtrl
08:24:01.9708 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_SEMICOLON, value: Press }
08:24:01.9728 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_SEMICOLON, value: Repeat }
08:24:01.9735 [DEBUG] (2) kanata_state_machine::kanata::key_repeat: key outs for active layer-while-held: [KEY_LEFTSHIFT, KEY_SEMICOLON];
08:24:01.9741 [DEBUG] (2) kanata_state_machine::kanata::key_repeat: key outs for active layer-while-held: [KEY_BACKSPACE, KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_SEMICOLON];
08:24:01.9748 [DEBUG] (2) kanata_state_machine::kanata::key_repeat: repeat    RCtrl
08:24:01.9793 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_H, value: Press }
08:24:01.9801 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_H, value: Press }
08:24:02.0410 [DEBUG] (2) kanata_state_machine::kanata: key release   RCtrl
08:24:02.0422 [DEBUG] (2) kanata_state_machine::kanata: key press     Left
08:24:02.1334 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_H, value: Release }
08:24:02.1350 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_H, value: Release }
08:24:02.1355 [DEBUG] (2) kanata_state_machine::kanata: key release   Left
08:24:02.4340 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_H, value: Press }
08:24:02.4349 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_H, value: Press }
08:24:02.4965 [DEBUG] (2) kanata_state_machine::kanata: key press     Left
08:24:02.5495 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_H, value: Release }
08:24:02.5503 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_H, value: Release }
08:24:02.5507 [DEBUG] (2) kanata_state_machine::kanata: key release   Left
08:24:02.8322 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_H, value: Press }
08:24:02.8342 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_H, value: Press }
08:24:02.8952 [DEBUG] (2) kanata_state_machine::kanata: key press     Left
08:24:02.9678 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_H, value: Release }
08:24:02.9695 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_H, value: Release }
08:24:02.9699 [DEBUG] (2) kanata_state_machine::kanata: key release   Left
08:24:03.4541 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_L, value: Press }
08:24:03.4552 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_L, value: Press }
08:24:03.5168 [DEBUG] (2) kanata_state_machine::kanata: key press     Right
08:24:03.5928 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_L, value: Release }
08:24:03.5940 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_L, value: Release }
08:24:03.5944 [DEBUG] (2) kanata_state_machine::kanata: key release   Right
08:24:03.8146 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_L, value: Press }
08:24:03.8162 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_L, value: Press }
08:24:03.8772 [DEBUG] (2) kanata_state_machine::kanata: key press     Right
08:24:03.9001 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_L, value: Release }
08:24:03.9009 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_L, value: Release }
08:24:03.9012 [DEBUG] (2) kanata_state_machine::kanata: key release   Right
08:24:04.1497 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_L, value: Press }
08:24:04.1517 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_L, value: Press }
08:24:04.2123 [DEBUG] (2) kanata_state_machine::kanata: key press     Right
08:24:04.2586 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_L, value: Release }
08:24:04.2600 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_L, value: Release }
08:24:04.2605 [DEBUG] (2) kanata_state_machine::kanata: key release   Right
08:24:04.3852 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_SEMICOLON, value: Release }
08:24:04.3867 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_SEMICOLON, value: Release }
08:24:04.4417 [DEBUG] (1) kanata_state_machine::kanata::windows::llhook: event loop: KeyEvent { code: KEY_A, value: Release }
08:24:04.4432 [DEBUG] (2) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_A, value: Release }
08:24:04.4437 [DEBUG] (2) kanata_state_machine::kanata: key release   LCtrl

from kanata.

jtroo avatar jtroo commented on June 27, 2024

My guess was correct; you should use either the winiov2 or the send scancodes variant.

Or if compiling from source, use --features win_sendinput_send_scancodes or win_sendinput_send_scancodes,win_llhook_read_scancodes.

from kanata.

jtroo avatar jtroo commented on June 27, 2024

Closing since SendInput vkey output has known issues+workarounds. But happy to reopen if I'm mistaken about the problem and solution.

from kanata.

newsve avatar newsve commented on June 27, 2024

Recompiled just with the first flag, --features win_sendinput_send_scancodes, and it works like a charm, thanks! 😊

from kanata.

newsve avatar newsve commented on June 27, 2024

Stupid question but what about making this feature flag the default or is it too experimental?

from kanata.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.