Giter Club home page Giter Club logo

Comments (7)

jtroo avatar jtroo commented on July 28, 2024

I'm wondering why no one have make one, since the Interception is buggy, and is banned in some online game. Is it for the driver signature?

I would guess that's part of it; another one might be that it exists already and is "good enough" for most use cases. An alternative would be welcome; today I mostly use non-Interception on Windows so I haven't had the motivation.

Currently it is also done in kanata internaly, so that keycodes on Windows can be unified as OsCode. However, this model also killed some interesting applications (e.g. using JIS-only keys to switch layers)

I haven't played around with JIS-only keys at all; does the Interception driver handle them correctly in the first place? I know it's missing proper handling of some keys. If it does, it should be feasible to add code that handles the JIS keys and differentiate it to a unique OsCode, which seems to me would still enable the use case.

from kanata.

shirok1 avatar shirok1 commented on July 28, 2024

Does the Interception driver handle them correctly in the first place?

I've succeeded in mapping CONVERT and NOCONVERT (two keys around space key in JIS) to LEFT and RIGHT with capsicain. It also proved my thought that ScanCode is more like a raw keyboard input.

from kanata.

shirok1 avatar shirok1 commented on July 28, 2024

BTW, capsicain impl an exit key chord (esc+x), but kanata_wintercept do not (at least this is what I tested out, maybe I did something wrong). Would separating logics would give a chance to it?

from kanata.

jtroo avatar jtroo commented on July 28, 2024

The exit chord is documented here:
https://github.com/jtroo/kanata/blob/main/docs/config.adoc#forcefully-exit-kanata

from kanata.

jtroo avatar jtroo commented on July 28, 2024

Also, if you can find which scancode matches convert/noconvert, you should be able to map it here in some way
https://github.com/jtroo/kanata/blob/main/src/oskbd/windows/scancode_to_usvk.rs

from kanata.

shirok1 avatar shirok1 commented on July 28, 2024

Also, if you can find which scancode matches convert/noconvert, you should be able to map it here in some way https://github.com/jtroo/kanata/blob/main/src/oskbd/windows/scancode_to_usvk.rs

Unfortunatelly CONVERT and NOCONVERT are opted out, see

// Note: the OEM keys below don't seem to correspond to the same VK OEM

2024-07-27T17:00:59.110969+08:00 [DEBUG] (1) kanata_state_machine::kanata::windows::interception: got stroke Keyboard { code: Convert, state: DOWN, information: 0 }
2024-07-27T17:00:59.1115652+08:00 [DEBUG] (1) kanata_state_machine::kanata::windows::interception: could not map code to oscode
2024-07-27T17:00:59.1812403+08:00 [DEBUG] (1) kanata_state_machine::kanata::windows::interception: got stroke Keyboard { code: Convert, state: UP, information: 0 }
2024-07-27T17:00:59.1818902+08:00 [DEBUG] (1) kanata_state_machine::kanata::windows::interception: could not map code to oscode

The exit chord is documented here: https://github.com/jtroo/kanata/blob/main/docs/config.adoc#forcefully-exit-kanata

The chord works in hook versions but not Interception version.

from kanata.

jtroo avatar jtroo commented on July 28, 2024

Would you be able to test if #1166 works?

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.