springcomp / optimized-azerty-win

AFNOR Compliant AZERTY Keyboard Layout driver for Windows
https://springcomp.github.io/optimized-azerty-win/
Creative Commons Attribution 4.0 International
53 stars 4 forks source link

When using KeePass auto-fill, the dot character is misbehaving. #73

Closed springcomp closed 5 years ago

springcomp commented 5 years ago

The entry contains a regular dot . characters but when using auto-fill, this character is misbehaving and appears to be a combining character with the character just before it.

image

springcomp commented 5 years ago

KeePass is using the Win32 VkKeyScanEx function to lookup the corresponding key on the keyboard layout. The . dot character is U+002E and is defined multiple times in the keyboard layout.

It seems that the first occurrence is found and therefore used instead of the expected normal position.

springcomp commented 5 years ago

The only duplicate characters that double as dead-key triggers are the following:

kevin-frugier commented 4 years ago

First of all, thanks @springcomp for this layout which I use with stickers on a traditional AZERTY. Prior to the AFNOR version, I used a custom AZERTY in which (among other things) I had changed the decimal character from "." to ",". If I open the KLC on this repository and change just that, the resulting keyboard reintroduces the bug with KeePass and the dots. From the content of the KLC I see that the fix requires some keys to be declared after all the others. And I suppose Microsoft Keyboard Layout Creator re-sorts everything when we open the file manually (confirmed at least when doing a save + compare). I could try to install all the prerequisites or setup a dev environnement with docker and try to understand how to create the setup without KLC but do you think, since you already ship 2 layouts (Standard + Numérique), that you could add a variant of Standard, for users with a NumPad and set the decimal separator to ","? (Package would contain "Standard", "Numérique" & "Comma") That would be awesome.

springcomp commented 4 years ago

@kevin-frugier Thanks for your feedback.

Yes this is a good idea.

One one hand, I like the idea to have the , comma as the decimal separator. One the other hand, I would not like to deviate from the standard too much to improve the chance for this layout to become the official de facto layout for the NF Z71-300 standard.

However, as shown by #78 you could have created a pull request with your changes and taken advantage of AppVeyor to produce the resulting artifacts. In fact, I have just done that for you.

Please, download the resulting setup program from AppVeyor and tell me if that is OK for you.

Please, be aware that those artifacts will be automatically deleted in six months as per AppVeyor retention policy.

kevin-frugier commented 4 years ago

Thank you very much @springcomp. Tested and approved. I understand why you don’t want to deviate too much from the standard and I didn’t know this repo was so automated that I could have done it myself. Thx again

springcomp commented 4 years ago

@kevin-frugier, following changes #80, I updated this PR to produce a new compatible release. You can download the build artifacts from the CI server.

springcomp commented 4 years ago

@kevin-frugier, following changes #82, I updated this PR to produce a new compatible release. You can download the build artifacts from the CI server.

springcomp commented 4 years ago

@kevin-frugier, following changes #85, I updated this PR to produce a new compatible release. You can download the build artifacts from the CI server.