https://github.com/linusskucas/keypopper
Popping sounds for your keyboard!
https://github.com/linusskucas/keypopper
launchagents macos swift xpc
Last synced: about 1 year ago
JSON representation
Popping sounds for your keyboard!
- Host: GitHub
- URL: https://github.com/linusskucas/keypopper
- Owner: LinusSkucas
- License: mit
- Created: 2021-08-03T00:14:35.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-12-05T20:02:29.000Z (over 4 years ago)
- Last Synced: 2025-04-24T06:51:54.574Z (about 1 year ago)
- Topics: launchagents, macos, swift, xpc
- Language: Swift
- Homepage:
- Size: 81.1 KB
- Stars: 12
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KeyPopper
Popping sounds for your keyboard!
š šæ 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_?
š¹ 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.
It comes packaged as a preference pane, but whatās really ~trojaned~ in there is:
- 1 Preference Pane that uses XPC to communicate toā¦
- 1 XPC service that is registered as a launch agent (triggered by a mach service) and manages preference storage and communicates toā¦
- Another XPC service registered as a launch agent (triggered by a mach service) that makes popping noises
- 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.
š¦ Everything is stored nicely in the preference pane. The only other things installed are launch agent files. š
š¦©This has past appleās notarization, meaning itās pretty good.
This 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
And you can install it using the DMG attached here, or on GitHub releases, and who knows your boss might give you a raiseā¦
