keymanapp / keymanapp/keyman

feat(mac): add Keyman to the Mac App Store

Open
#15,446 0 comments 0 reactions 0 assignees View on GitHub
feat mac/
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

Instead of distributing Keyman for Mac only through keyman.com, also make it available through the Mac App Store.

This would require the app to be sandboxed, which would probably block some existing functionality. Keyman requires the Accessibility privilege which allows it listen for keydown events and generate keydown events when pressing OSK keys or when generating backspaces and other keys for non-compliant apps.

It appears that the App Sandbox does not allow the Accessibility privilege though this has not been confirmed with testing. It does allow the Input Monitoring privilege which enables the app to use a CGEventTap to listen for keydown events. So the main functionality of Keyman could be supported for compliant apps.

The App Sandbox also blocks an app from killing another application, so the install functionality built into the Keyman Config app planned for Keyman 19 would be unable to kill an outdated Keyman input method to delete it and install a newer version.

More info about the Sandbox and related entitlements and privileges can be found here:

https://developer.apple.com/forums/thread/707325
https://developer.apple.com/documentation/security/protecting-user-data-with-app-sandbox
https://developer.apple.com/forums/thread/811443
https://developer.apple.com/forums/thread/28605

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.