Open fabi1cazenave opened 8 months ago
As mentioned in #55, we might need two different KLC outputs :
1dk
:
1dk
[Space] has to output an ASCII character (since Windows 10)1dk
1dk
probably has to output an ASCII character, too (to be checked)1dk
layer cannot contain any dead keyThere 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
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…
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:
SC
(scan codes), which is the physical key signalVK
(virtual keys), which is the QWERTY-ANSI key to send when Ctrl is pressedUnfortunately, 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.
What’s left in this one with https://github.com/OneDeadKey/kalamine/pull/114 landed?
The
*.klc
files, intended for MS Keyboard Layout Creatof (MSKLC) and KbdEdit, raise a few issues :1dk
section (DEADKEY 2019
) because of the empty lines and comment lines1dk
key (U+2019) outputs ’’ when pressed — this started with Windows 10, it seems dead keys cannot be a non-ASCII character any more