keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.07k stars 1.42k forks source link

AutoType omits full stop / period characters (U+002E . FULL STOP) #10883

Closed vgambier closed 3 weeks ago

vgambier commented 3 weeks ago

Overview

AutoType feature cannot type the period character (U+002E . FULL STOP) Unlike what I initially suspected, this does NOT appear to be related to the various reports of keyboard layouts messing with KeepassXC. The period gets completely omitted, not replaced, and no other characters that I tested had any sort of issue. This bug is quite cumbersome because pretty much all email addresses have a period in them so AutoType gets a lot of logins wrong.

Steps to Reproduce

  1. Create a dummy entry that includes a period in either the username or the password or both.
  2. Add a global shortcut for AutoType to enable the feature
  3. Hit the shortcut in any text area
  4. Look at the output

Expected Behavior

The username/password gets autotyped with the period, e.g.: user@example.org

Actual Behavior

The username/password gets autotyped without the period, e.g.: user@exampleorg

Context

KeePassXC - Version 2.7.8 Revision: f6757d3 Distribution: Flatpak

Qt 5.15.10 Debugging mode is disabled.

Operating system: KDE Flatpak runtime CPU architecture: x86_64 Kernel: linux 6.9.3-arch1-1

Enabled extensions:

Cryptographic libraries:

Operating System: Linux (Arch Linux x86_64) Desktop Env: Gnome (GNOME 46.2) Windowing System: X11

droidmonkey commented 3 weeks ago

What keyboard layout are you using, this is 100% related to that

vgambier commented 3 weeks ago

I'm using French AZERTY (AFNOR)

$ cat /etc/vconsole.conf 
KEYMAP=fr
XKBLAYOUT=fr
XKBVARIANT=afnor
$ localectl status
System Locale: LANG=en_US.UTF-8
               LC_NUMERIC=fr_FR.UTF-8
               LC_TIME=fr_FR.UTF-8
               LC_MONETARY=fr_FR.UTF-8
               LC_PAPER=fr_FR.UTF-8
               LC_MEASUREMENT=fr_FR.UTF-8
    VC Keymap: fr
   X11 Layout: fr
  X11 Variant: afnor

I have 3 layouts enabled: image

droidmonkey commented 3 weeks ago

You will have to switch to the English layout when using auto-type. This issue is documented in other reports.

vgambier commented 3 weeks ago

That does indeed fix the issue. I did try switching between the two French layouts earlier, but I guess I never tried with the English one. The reports I read were things like "azerty" being typed as "qwerty" - mine literally only affects the full stop character, so I'm confused, because I don't see how any layout could cause this.

Thanks for the help. Is this a new issue? Auto-Type was working perfectly with the same layout on my previous OS. And I'm surprised it only affects full stops. Will this issue remain forever or is there some interest in addressing it?

vgambier commented 3 weeks ago

Ok, I found #9564. For future reference, I can confirm this only occurs when numlock is turned on.

droidmonkey commented 3 weeks ago

Oh great. Yes that was a real doozy