Skip to content
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

macOS 10.15: Auto-type requires screen reader permission #3609

Closed
Shuyinsama opened this issue Oct 9, 2019 · 22 comments · Fixed by #3624
Closed

macOS 10.15: Auto-type requires screen reader permission #3609

Shuyinsama opened this issue Oct 9, 2019 · 22 comments · Fixed by #3624

Comments

@Shuyinsama
Copy link

Expected Behavior

I am using the shortcut ALT+SHIFT+A as my auto-type. Whenever I press that combination I expect the auto-type to start either by inputting the credentials or by showing a dialog with credential options for that website/application

Current Behavior

After updating to macOS Catalina auto-type stopped working. My shortcut starts something but for every website/application I get the error message saying:
"Couldn't find an entry that matches the window title: passwords.kdbx - KeePassXC"
When I check the auto-type settings for that website I also notice that the "Window title:" dropdown does not get populated with possible windows titles that are currently open.

Steps to Reproduce

  1. Update to macOS Catalina
  2. Open browser
  3. Open KeePassXC
  4. Browse to website where auto-type is setup
  5. Use shortcut to start auto-type
  6. The error message should appear

Context

We use KeePassXC at work with passwords that are all generated through KeePassXC so I personally don't remember any of the passwords. Currently I manually copy and paste the credentials which is more annoying but it works for now.

Debug Info

KeePassXC - Version 2.4.3
Revision: 5d6ef0c

Qt 5.12.3
Debugging mode is disabled.

Operating system: macOS 10.15
CPU architecture: x86_64
Kernel: darwin 19.0.0

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • SSH Agent
  • KeeShare (signed and unsigned sharing)
  • YubiKey
  • TouchID

Cryptographic libraries:
libgcrypt 1.8.4

@Shuyinsama Shuyinsama added the bug label Oct 9, 2019
@droidmonkey
Copy link
Member

You probably need to remove and readd KeePassXC to the privacy controls in settings.

@codemunin
Copy link

Same problem here.

I completely removed the KeePassXC App and "reinstalled" it. I cleared out the Library and Privacy settings, too. Nothing changed.

The shortcut is only recognized inside the application. When i got to another window, for example Remote Desktop, it doesn't work.

@Shuyinsama
Copy link
Author

@droidmonkey Like @codemunin I indeed did that. Although I did not fully reinstall the application but I did reassign the permissions in the macOS privacy settings. The shortcut is indeed only recognised inside the KeePassXC application itself.

@droidmonkey
Copy link
Member

Please try our snapshot for macOS: https://snapshot.keepassxc.org

I moved to a newer keyboard shortcut API in 2.5.0

@Shuyinsama
Copy link
Author

Shuyinsama commented Oct 9, 2019

Thanks. Sadly the snapshot version exhibits the same bug. I have now started Chrome first, then KeePassXC. Changed the shortcut to CTRL+ALT+CMD+SHIFT+A. Rebooted KeePassXC snapshot and still no luck

@codemunin
Copy link

I tried it inside a fresh installed VM. Same problem in a clean OS.

I noticed KeepassXC has not requestet the OSX privacy settings. Adding it manually hasn't helped too.

@droidmonkey
Copy link
Member

droidmonkey commented Oct 9, 2019

Time to spend 3 hours with the terrible apple api documentation...

@michaelblyons
Copy link

I don't know if it helps with Qt at all, but MacPass is working on the same problem.

@droidmonkey
Copy link
Member

Certainly does help point in the right direction! Thank you.

@Shuyinsama
Copy link
Author

@droidmonkey It seems like we need Screen Recording permissions to read window titles? It could be that the global hotkey works for KeePassXC but it just can't find/read the correct window to input.

If there is anything I can do to help please let me know :)

@codemunin
Copy link

Time to spend 3 hours with the terrible apple api documentation...

Thank you very much. You can Message me for help or testing.

@georgesnow
Copy link

@droidmonkey i believe this is what you are looking for:

https://developer.apple.com/documentation/coregraphics/1455137-cgwindowlistcopywindowinfo?preferredLanguage=occ

It requires proper permissions for screen recording in order to use this function

@Joachim-42he
Copy link

Joachim-42he commented Oct 10, 2019

I just had to update BetterTouchTool, where they also stated that they can only get widow titles from macOS Catalina if they have Screen Recording Permissions.

@droidmonkey
Copy link
Member

You can test the Auto-Type itself by using the Cmd+Shift+V shortcut. That doesn't use window titles

@droidmonkey droidmonkey changed the title macOS Catalina (10.15): Auto-type does not seem to work anymore macOS 10.15: Auto-type requires screen reader permission Oct 14, 2019
droidmonkey added a commit that referenced this issue Oct 14, 2019
* Fix #3609 - Request screen reader permission by faking a 1px screenshot. Thanks to MacPass for this idea.
* Fix #3578 - Remove duplicate sandbox entitlement
* Fix #3270 - Use executable path reference for libquazip
droidmonkey added a commit that referenced this issue Oct 14, 2019
* Fix #3609 - Request screen reader permission by faking a 1px screenshot. Thanks to MacPass for this idea.
* Fix #3578 - Remove duplicate sandbox entitlement
* Fix #3270 - Use executable path reference for libquazip
droidmonkey added a commit that referenced this issue Oct 16, 2019
* Fix #3609 - Request screen reader permission by faking a 1px screenshot. Thanks to MacPass for this idea.
* Fix #3578 - Remove duplicate sandbox entitlement
* Fix #3270 - Use executable path reference for libquazip
@Najkon
Copy link

Najkon commented Oct 16, 2019

whether it is possible the patch be released as an official package?
terribly I regret the absence of this option :/

@droidmonkey
Copy link
Member

droidmonkey commented Oct 16, 2019

This will be released very soon, in the meantime you can always run our snapshot builds from https://snapshot.keepassxc.org

scoroi pushed a commit to scoroi/keepassxc that referenced this issue Nov 10, 2019
* Fix keepassxreboot#3609 - Request screen reader permission by faking a 1px screenshot. Thanks to MacPass for this idea.
* Fix keepassxreboot#3578 - Remove duplicate sandbox entitlement
* Fix keepassxreboot#3270 - Use executable path reference for libquazip
@ttomasini
Copy link

I'm using KeePassXC 2.5.2 stable at the moment but I still have the problem that AutoType is not working via the hotkey on Catalina. I get the following notification: "Couldn't find an entry that matches the window title: passes - KeePassXC".

The Screen Recording Permission is set. How can I get more detailed logs about the issue?

@droidmonkey
Copy link
Member

Are you using the hotkey when the window you want Auto typed into is focused? There is also an issue (I think) with Auto-Type on windows that are in the macOS super maximized mode.

@obfuscoder
Copy link

I installed version 2.6.1 and after hitting the autotype key combination I got the message that accessibility and screen recoing access is required. Keepass showed up in the Accessibility tab of the privacy settings and I checked it so it can use this feature. However, KeePass was not showing up in the Screen Recording tab at all so I could not check it. I tried restarting KeePass, and hitting autotype key combo showed again this error message. Following the button to the system preferences, I ended up in Accessibility section (with KeePass being checked there) again and KeePass was still not added to the screen recording section. Unable to proceed.

@obfuscoder
Copy link

There is also no "+" button in the screen recording section of the privacy settings which would allow me to add KeePass manually, btw.

@georgesnow
Copy link

@obfuscoder what version of macOS are you running?

@droidmonkey
Copy link
Member

@obfuscoder you need to restart your mac

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants