Skip to content

js1664/ToddlerLock-for-Mac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ToddlerLock

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.

Features

  • 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

Requirements

  • macOS 13.0 (Ventura) or later
  • Apple Silicon or Intel Mac

Installation

Download

Download the latest release from the Releases page.

  1. Download ToddlerLock.dmg
  2. Open the DMG and drag ToddlerLock.app to your Applications folder
  3. Open ToddlerLock from Applications
  4. Grant Accessibility and Input Monitoring permissions when prompted (System Settings > Privacy & Security)

Build from Source

  1. Clone this repo
  2. Open ToddlerLock/ToddlerLock.xcodeproj in Xcode 16+
  3. Set your Development Team in Signing & Capabilities
  4. Build and run (Cmd+R)

How It Works

  1. Open ToddlerLock β€” configure your play mode, exit shortcut, and optional password
  2. Click "Lock Now" β€” the screen goes full-screen with animations
  3. Hand it to your toddler β€” they mash keys and move the mouse, everything stays safe
  4. Press your exit shortcut (default: Cmd+Shift+Esc) β€” enter your password if set, and you're back to normal

How to Exit

  • Press your configured shortcut (default: Cmd+Shift+Esc)
  • Or restart the computer

Permissions

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.

Technical Details

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.

License

MIT

About

πŸ”’ A macOS app that lets toddlers safely mash the keyboard and mouse while blocking all system shortcuts and actions

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors