← Back to context

Comment by krackers

2 days ago

>To my knowledge, this can be fixed by requesting the OS-level accessibility permissions, which would require a separate user interaction.

Does this imply that running Gregglogger _doesn't_ require granting accessibility input monitoring permission? On osx there's at least 4 ways to monitor inputs I think (iokit level, cgeventap, carbon event monitoring, cocoa global event monitor), I'd really expect all of them to require the input monitoring permission.

It looks like you're correct -- Gregglogger relies on pynput, and its behavior on macOS aligns with the library's documented limitations [1]:

Recent versions of macOS restrict monitoring of the keyboard for security reasons. For that reason, one of the following must be true:

- The process must run as root.

- Your application must be whitelisted under "Enable access for assistive devices." Note that this might require packaging your application, since otherwise the entire Python installation must be whitelisted.

- On macOS versions after Mojave, you may also need to whitelist your terminal application if running your script from a terminal.

[1] https://pynput.readthedocs.io/en/stable/limitations.html#mac...