-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auto-Type Problems with @ in username #324
Comments
partially "solved" So the issue has disappeared for me for now. I will still keep an eye on it and see, if I can get it to reproduce again. |
This is a keyboard layout issue. Keepassxc and your system use different layouts. |
Yes, autotype is bound to your keyboard layout. Are you using the app image? We had an issue here where the AppImage always used a US layout on Fedora, although it should have used an AZERTY layout. I was never able to reproduce it. |
Closing since we can't reproduce and it seems to be working for you again. |
I've experienced this the other day when my system layout was IT and Autotype sadly is US-only like @rockihack said. There is a method to change the autotype layout? If not we can close again |
I never said that autotype is US-only. It seems to be a bug in xcb autotype or your display server. keepassxc/src/autotype/xcb/AutoTypeXCB.cpp Line 223 in 1f6f7b6
|
Problem seems to be that autotype sometimes doesn't respect the user's keyboard layout and then falls back to a US layout. But I have no idea why. |
Still not fixed. Had problem again. |
Tracked it down a bit:
So when KeePassXC is starting within the start up process / login process of the system, it might initiate before the correct keyboard layout is defined. Is there a startup / login sequence where KeePassXC might wait for a certain event to be passed before it starts up or defines the keyboard? Just a thought. |
If you want to wait for events, use udev or similar. I would just add it to the end of your .bash_profile or equiv file. |
I really think this is tied to the Qt bug I linked above. KeePassXC gets the correct layout when it is already set, but when it changes during runtime, KeePassXC doesn't notice. |
That's great! It would be even better if the user could set a desired keyboard layout in settings. Default being "us". |
@droidmonkey I can prepare PR with related changes. But at the moment my fix is relevant only for Linux, what about the others operation systems? |
This definitely requires more discussion and investigation, but i think we are on the right track. I have not heard any complaints about autotype on windows or mac with alternate keyboards. This might be a linux only change and can be ifdef'd as such. |
I can confirm this is not an issue on Windows 10, but is an issue with all my Linux boxes |
@phoerious yes, I just wanted to state clear that I have mistaken TCATO with the simulated keypresses, i.e. keycodes used for normal auto-type. |
@stefan123t If possible try #6247 if it helps with the wrong layout being used. It's not yet ready for merge but it should have the right idea how to solve that. I was looking for information about the layout change hotkey (like alt-shift) not working after auto-type has been issued. |
I believe both issues are now fixed with #6247. If anyone could test it that would be great! |
@droidmonkey thanks for the pointer, I got it to checkout with the debian packages of github and following the description on the your wiki to install all the qt5 dependencies it compiled fine. @hifi, thanks for the pull request #6247.
us: @hifi, I am looking forward whether this will also solve the issue with the Alt+Shift key combo for switching the keyboard layout not working sometimes ? |
#6247 should work with any number of layouts that X can simultaneously have enabled. It will also prefer your current layout during typing but will switch it on-the-fly if a symbol is only found in some other layout. If you have an indicator on some panel which layout is active and you have slow enough typing delay for Auto-Type it should be visible that the layout is changing automatically on demand. However, it does not work if you try to use a symbol that is not within any of your configured layouts but that's a tradeoff I'm willing to make for code cleanliness. It makes issues like #3422 an edge case that will regress slightly as I couldn't find a keyboard layout combination that had all of the symbols used in the example and it will instead just skip/ignore them. I did get most of them out by adding a couple of large layouts. I haven't been able to reproduce the layout switch toggle not working after Auto-Type consistently enough I could debug it. Though if #6247 happens to fix it as well I'm not very keen to debug it further either so testing it for longer periods of time where you usually get the layout switch breaking issue would be nice to know. I hope we can get most Auto-Type issues on Linux that are fixable done for 2.7.0 as Auto-Type has received a major overhaul in UX as well. |
guys, very good to hear that. I am out of my depth here, so please excuse a frank question: Does this also affect the issues with auto-typing into a virtualbox or the like instance running linux guests? No clue how linux handles keyboard layouts at boot time. Something like grub config during e.g. password entry for luks encryption and session manager config at login screen? |
@the-wolfman If you had problems with incorrect characters typed in VirtualBox then it may help. I added an AppImage download as a comment to #6247 if you can test it. |
ok, missed that AppImage. Will try on Wednesday as I am travelling and need to set up a test host. On a side note, most of the problems seem to occur when using Windows as a host, as mentioned in issue #1833, which I can confirm. If, by chance, you've created a Win64 Portable as well, I can also test that. |
The fixes made by Hifi only apply to linux |
@the-wolfman this issue spplies to Linux platform and Auto-type in native X windows only. |
Thanks, your comments nudged me in the right direction. Still way out of my depth though. |
I noticed that from time to time, my username or password was incorrect when using autotype. When I found this bug report, I checked a bit deeper and saw that autotype actually dropped all occurances of "z" in the username or password. As you can see, my username contains a "z", and I am of course using a German keyboard layout, so I cannot avoid this issue by e.g. choosing another password. However, the problem never occurs from the start. When I launch my Plasma/KDE system and have KeepassXC autostarted, there is no problem, all characters are filled in, including the z. After some unknown time of use, the issue shows up, and since I only notice it on the next attempt to fill in a login form, I don't know what causes the problem. In that case I have to completely stop KeepassXC and restart it. Then, autofill is working again. |
@mizapf can you reproduce the issue with a 2.7 snapshot? Linux Auto-Type is completely revamped in it. |
Dear Michael, The problem occurs in previous version if you have multiple keyboard layouts (english, german, etc.), which you can switch using the Desktop environments helper tasklets (the flag symbol) or eg. Shift+Ctrl as a hotkey on some systems. Please make sure to use only one or at least the same, primary keyboard layout throughout the KeepassXC usage, in case you are troubled by this problem. Or upgrade to the latest keepassxc 2.7 snapshot release where this is fixed. You can always check which keyboard layouts are currently set: setxkbmap -print -verbose 10 | grep layout Kind regards, |
Was this auto-typing issue resolved for all OSes, i.e. for Windows 10 as a host OS as well? KeePassXC 2.7.1 doesn't work for me in this regard - in contrast with KeePass Classic as old as version 1.31. |
This was a Linux only bug. On windows if you type into a virtual machine you'll have problems, otherwise it works without issue as far as we know. |
This is happening to me with newest version (KeePassXC-2.7.1-x86_64.AppImage). I am on Ubuntu. It does not happen with KeePassXC-2.5.3-x86_64.AppImage which I used until today. Layout: I have no other keyboard layouts or whatsoever. Basicly is uses for some rease on QUERTY instead of QWERTZ. Any ideas what to do here? |
Umm, try running |
Running $ setxkbmap de -option grp:alt_space_toggle "fixes" this. Still interesting, that I dont have this problem with KeePassXC-2.5.3-x86_64.AppImage, but it exists with KeePassXC-2.7.1-x86_64.AppImage. |
@dok18 sorry for being late to the Would you mind running the following before and after your workaround in order for us to understand what has been changed in your xkbmap ? Please make sure that before the workaround the problem still is reproducible. Thanks
Also please make sure to give us some detail about your system e.g. using
other than that we may be able to get some more information from looking at the results of your current xkblayout-state (you need to compile that from source)
|
Expected Behavior
When using Auto-Type, correct USERNAME should be inserted in Form:
eg: myname@mydomain.tld
Current Behavior
Auto-Type replaces the @ by a " , so it would enter a wrong USERNAME into the Form:
eg: myname"mydomain.tld instead of myname@mydomain.tld
Possible Solution
?
Steps to Reproduce (for bugs)
Context
Trying to insert credentials for login into accounts on websites.
Your Environment
KeePassXC v2.1.0
Qt 5.6.1
N/A
openSUSE LEAP 42.2 (fully patched)
Note
It might be not KeePassXC itself, because it could be, that the behavior changed after the last upgrade of KeePassXC. But I am not absolutely sure.
However, you might still be able to track down the source of the problem and help fixing it.
The text was updated successfully, but these errors were encountered: