golota60 / trayasen

πŸ₯• IKEA IDΓ…SEN cross-platform desktop app living in system tray. Should also work for LINAK desks
MIT License
23 stars 1 forks source link

Not all key combinations get registered correctly #20

Open golota60 opened 9 months ago

golota60 commented 9 months ago

On win10, there seems to be an issue with 1) numpad inputs 2) combo inputs https://github.com/golota60/trayasen/issues/16#issuecomment-1718909183

thanks @falkenhawk for reporting this πŸ™‡

falkenhawk commented 9 months ago

As suggested in https://github.com/golota60/trayasen/issues/16#issuecomment-1724970876 to take values for keys and their combinations from https://www.electronjs.org/docs/latest/api/accelerator I've tried the following combinations by entering them in idasen-tray-config.json and restarting the app:

golota60 commented 6 months ago

Alright, so I've worked on this on and off for a couple of days, and I think there's not much to be done for now(except fixing frontend keyboard inputs on macOS/win10(? - cannot really speak for win10 as i really cannot find a machine running win10 anywhere) - which will be a part of 0.1.0).

Fixing the behaviors described here(ty for that btw πŸ™‡ ) is more troublesome though. The shortcuts are managed by the upstream framework tauri, but it's pretty inconsistent with what it supports - the feature parity with electron seems to just not be there yet. For example Meta/Super/Numpad/AltGr behaviors simply just do not work, and since the keyboard handler API is pretty low-level and fully handled by the framework, the current fix is either waiting for the folks to fix that in the upstream framework, or having keystrokes be handled via external library on a different process - which is a pretty major change.

I'll try to file an issue upstream in the following days, but unfortunately, there's not much fixing to be done to this as of now. I will keep this open, as I assume tauri v2 will have most of this fixed, and I'll get back to this issue then. In the meantime, I'll try the more complicated workaround fixes, but it's unclear if they will be viable🀞. Anyways, they will not be a part of 0.1.0

Another thing I'll do is have an entry in the README.md explaining manual shortcuts so people can try to fix-up any cross-system weirdness themselves, as this feature really seems to be unstable in the framework, and I cannot provide any guardrails to ensure everything will work