Quinn, when I said I have an “active” tap, I meant I need to be able to post events. I was aware of CGPreflightPostEventAccess and CGRequestPostEventAccess (probably heard about them in one of your other posts). (The Settings app displays that access as accessibility trust, though it may not be quite the same internally.) But in my experience, they don’t change their results “live”. That is, if I get a false result from CGPreflightPostEventAccess, then while my app runs, go to Settings and grant the permission, then go back to my app and check the result, it’s still false.