Comments (7)
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.
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.
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.
The exit chord is documented here:
https://github.com/jtroo/kanata/blob/main/docs/config.adoc#forcefully-exit-kanata
from kanata.
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.
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
kanata/src/oskbd/windows/scancode_to_usvk.rs
Line 106 in 620d82f
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.
Would you be able to test if #1166 works?
from kanata.
Related Issues (20)
- make macro-release-cancel also cancel virtual keys HOT 1
- Bug: switch's layer logic not recognized HOT 2
- Feature request: remove dependency on AutohotKey for EnableUIAccess
- Feature request: configurable declared bus type for Linux uinput HOT 9
- unable to set linux-use-trackpoint-propety HOT 3
- one-shot shift interferes with defoverrides HOT 5
- Feature request: chord toggle action HOT 1
- Feature request: homebrew HOT 2
- Bug: special buttons on function row not working on macos HOT 2
- Bug: chord v2 overlapping chords HOT 2
- Bug: tray icons change randomly when layer changes by Meta key.
- Bug: S-home does not work as expected HOT 2
- Bug: unable to setup Kanata with systemd HOT 1
- Feature request: cmd-silent HOT 1
- Bug: Invalid quoting in systemd service file shown in docs HOT 2
- Upstream forked keyberon changes? HOT 1
- Feature request: be able to perform an action when sldr ends unsuccessfully
- Bug: remapping arrow keys and sixpack results inn numberpad keys being pressed. HOT 4
- Bug: PrintScreen not triggering HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kanata.