OneDeadKey / kalamine

Keyboard Layout Maker
MIT License
105 stars 29 forks source link

KLC outputs need work #57

Open fabi1cazenave opened 8 months ago

fabi1cazenave commented 8 months ago

The *.klc files, intended for MS Keyboard Layout Creatof (MSKLC) and KbdEdit, raise a few issues :

fabi1cazenave commented 8 months ago

As mentioned in #55, we might need two different KLC outputs :

There might be other features that require specific KbdEdit, e.g. keyboard shortcuts.

Instead of generating two KLC outputs, we could also put these KbdEdit-specific features behind a flag :

https://bepo.fr/wiki/Windows#Probl%C3%A8mes_avec_certains_logiciels

fabi1cazenave commented 8 months ago

Related resources :

fabi1cazenave commented 8 months ago

Here’s a keyboard layout that has non-ASCII dead key terminators and chained dead keys. Still unsure whether this is supposed to be usable with MSKLC or not…

https://kbdlayout.info/kbdgre1/download/klc

fabi1cazenave commented 8 months ago

with MSKLC, some apps (e.g. Notepad++, VSCode) seem to use the physical key instead of the generated char to compute keyboard shortcuts — e.g. with Ergo-L, Ctrl-N is taken as a Ctrl-F

This is not related to MSKLC. KLC layout descriptions start with two columns:

Unfortunately, Kalamine does not change the VK column content, which means all KLC layouts it produces use QWERTY shortcuts at the moment.

A quick solution could be to let Kalamine “guess” what VK should be sent for each key / character. This couldn’t tackle all corner cases but should get the job done by default.

A finer solution would be to add support for a ctrl layer in Kalamine, which would be used to define the behavior of each key when Ctrl or Cmd is pressed : before #33, keylayout outputs used to have QWERTY shortcuts for Cmd / Cmd-Option actions, and maybe we want to get this feature back.

Geobert commented 6 months ago

What’s left in this one with https://github.com/OneDeadKey/kalamine/pull/114 landed?