{"id":27657005,"url":"https://github.com/linusskucas/keypopper","last_synced_at":"2025-04-24T06:51:59.228Z","repository":{"id":45606557,"uuid":"392132341","full_name":"LinusSkucas/KeyPopper","owner":"LinusSkucas","description":"Popping sounds for your keyboard!","archived":false,"fork":false,"pushed_at":"2021-12-05T20:02:29.000Z","size":83,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T06:51:54.574Z","etag":null,"topics":["launchagents","macos","swift","xpc"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinusSkucas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-03T00:14:35.000Z","updated_at":"2024-08-20T03:38:47.000Z","dependencies_parsed_at":"2022-08-24T08:51:07.524Z","dependency_job_id":null,"html_url":"https://github.com/LinusSkucas/KeyPopper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusSkucas%2FKeyPopper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusSkucas%2FKeyPopper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusSkucas%2FKeyPopper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusSkucas%2FKeyPopper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinusSkucas","download_url":"https://codeload.github.com/LinusSkucas/KeyPopper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250580712,"owners_count":21453531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["launchagents","macos","swift","xpc"],"created_at":"2025-04-24T06:51:58.687Z","updated_at":"2025-04-24T06:51:59.213Z","avatar_url":"https://github.com/LinusSkucas.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KeyPopper\nPopping sounds for your keyboard!\n\n🌀 🍿 Have you ever wanted a nice popping sound whenever you typed something? But how about not just on a website, how about **system wide**? How about something that’s _over-engineered_? \n\n🎹 Well now you can thanks to KeyPopper. With my new service, your computer will spit out popping, mooing, or frogy soundy thingys, whenever you type something. \nIt comes packaged as a preference pane, but what’s really ~trojaned~ in there is:\n - 1 Preference Pane that uses XPC to communicate to…\n - 1 XPC service that is registered as a launch agent (triggered by a mach service) and manages preference storage and communicates to…\n - Another XPC service registered as a launch agent (triggered by a mach service) that makes popping noises\n - Finally a keystroke catcher app that runs on login, and communicates keystrokes to the first XPC service! It uses some nasty CGEvent and Accessibility APIs.\n📦 Everything is stored nicely in the preference pane. The only other things installed are launch agent files. 🎁\n\n🦩This has past apple’s notarization, meaning it’s pretty good.\n\nThis was a bunch of fun learning about low level macOS stuff. Anyways, you can see the source code over on GitHub: https://github.com/LinusS1/KeyPopper\nAnd you can install it using the DMG attached here, or on GitHub releases, and who knows your boss might give you a raise…\n\n\n![KeyPopper Diagram.pdf](https://github.com/LinusS1/KeyPopper/files/7080549/KeyPopper.Diagram.pdf)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinusskucas%2Fkeypopper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinusskucas%2Fkeypopper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinusskucas%2Fkeypopper/lists"}