A macOS app that lets your toddlers safely mash the keyboard and mouse without doing anything to your computer.
When locked, ToddlerLock takes over the entire screen and blocks all keyboard shortcuts, trackpad gestures, and system controls. Your kids see fun colorful animations, hear musical sounds, and feel like they're doing something β while your Mac stays completely safe.
- Full input blocking β Command-Tab, Mission Control, volume/brightness keys, and trackpad gestures are all disabled
- Three play modes:
- Free Play β Mash keys to see colorful letters, click for shapes and particle effects, move the mouse for a rainbow cursor trail
- Game β Pop floating bubbles by clicking them, with a score counter
- Character β A friendly animated creature follows the mouse, jumps and spins on key presses, and leaves rainbow paw prints
- Multi-language letters β Choose from Arabic, Chinese, English, Hebrew, Japanese, or Korean character sets
- Musical sounds β Each key plays a pentatonic tone (always sounds pleasant), with optional background music
- Customizable exit shortcut β Set any key combination (requires 2+ modifiers) to exit lock mode
- Optional password protection β Require a password to unlock (stored securely in macOS Keychain)
- Debug safety β Development builds auto-unlock after 60 seconds so you never get trapped
- macOS 13.0 (Ventura) or later
- Apple Silicon or Intel Mac
Download the latest release from the Releases page.
- Download ToddlerLock.dmg
- Open the DMG and drag ToddlerLock.app to your Applications folder
- Open ToddlerLock from Applications
- Grant Accessibility and Input Monitoring permissions when prompted (System Settings > Privacy & Security)
- Clone this repo
- Open
ToddlerLock/ToddlerLock.xcodeprojin Xcode 16+ - Set your Development Team in Signing & Capabilities
- Build and run (Cmd+R)
- Open ToddlerLock β configure your play mode, exit shortcut, and optional password
- Click "Lock Now" β the screen goes full-screen with animations
- Hand it to your toddler β they mash keys and move the mouse, everything stays safe
- Press your exit shortcut (default: Cmd+Shift+Esc) β enter your password if set, and you're back to normal
- Press your configured shortcut (default: Cmd+Shift+Esc)
- Or restart the computer
ToddlerLock needs two macOS permissions to block input:
- Accessibility β allows the app to manage system presentation options
- Input Monitoring β allows the app to intercept keyboard and mouse events
These are granted in System Settings > Privacy & Security. The app will guide you through this on first launch.
Built with Swift, AppKit, and SpriteKit. Input blocking uses CGEventTap (intercepts events at the system level) and NSApplication.PresentationOptions (hides Dock, menu bar, and disables process switching). Sound is synthesized in real-time via AVAudioEngine.
MIT