Cat Mode · the thinking

Why Cat Mode is like this

One switch that makes a web page ignore the keyboard and trackpad, so a cat on the desk cannot pause the video.

An extension cannot switch off your keyboard. It can do something better: catch every key press inside the page before the page ever sees it, and throw it away.

PlatformChrome extension
StatusShipping. 1.1.0 on the Chrome Web Store
PriceFree
SourceOpen source on GitHub
1switch. That is the entire interface
Ctrl+Shift+Ka shape a paw cannot make by accident
$0and no account

What was broken

There is a whole genre of video made for cats: birds pecking at seed, a mouse crossing the frame. Cats love it. Cats do not watch it politely. They pounce, paws land on the keyboard, and the video pauses, skips, mutes, or a new tab opens over the top of it.

So you spend the session leaning over the animal to undo whatever just happened. The same thing happens with a toddler on your lap, or any screen left playing where something can touch it. The failure is always identical: input the human did not intend, reaching a page that obeys it perfectly.

The obvious fix is unavailable. Switching off the keyboard lives at the operating-system level, outside what a browser extension is allowed to touch, which is presumably why nobody had built the simple version of this.

Who it’s for

  • Anyone whose pet walks across the keyboard while a video plays
  • Parents holding a small child in front of a screen
  • Anyone leaving a page playing where it can be touched

Who it isn’t for

  • People needing input blocked across the whole machine rather than in one page
  • Browsers other than Chrome
  • Anyone expecting it to stop a cat sitting on the volume keys. macOS owns those, not the page

Rules we don’t break

Decided once, so they never have to be argued about again.

  • Intercept, do not disable. A player cannot pause on a spacebar it never received. A paw cannot click skip if the click never reaches the page. That one idea is the entire product.
  • The video must keep playing. Lock the input, never the content. Anything that stops playback has failed the only test that matters.
  • A human can always get back in. A deliberate chord unlocks it, and an auto-disable timer means nobody can be locked out for long.
  • Be honest about the boundary. It works in the page, because that is where an extension is allowed to work. The limits are stated up front rather than discovered with a cat standing on your laptop.

What it actually does

  • One-click input lock. Blocks keyboard and trackpad input on the current page.
  • Panic unlock. Ctrl+Shift+K works even while everything else is blocked.
  • Auto-disable timer. The safety net that makes the lock comfortable to use.
  • The Paw Report. A tally of everything the cat tried to type. It is a joke, and it is also proof the lock worked.
  • Settings that follow you. Preferences sync through your Chrome account to every machine.

What it refuses to do

The most useful part of any note like this. Every line has a reason attached.

  • System-wide input blocking. That needs a native app and accessibility permissions: a much bigger trust cost for a problem that lasts twenty minutes.
  • Accounts or telemetry. A free extension with one switch has no business knowing who you are.
  • Cross-browser support. The interception idea ports fine. The effort does not pay for itself yet.

How we’ll know it worked

  • A cat video session ends without the human touching the laptop once.
  • Nobody gets stuck locked out. The timer and the chord exist to guarantee it.
  • The Paw Report gets screenshotted, which is how a free, silly, useful extension travels.
  • An uninstall after one session would mean the lock broke playback, which is the one unacceptable failure.

Where it could go wrong

  • Page-level only, by design. Hardware keys the system owns still work. A paw on the volume row is outside what any extension can catch, and pretending otherwise would be the real bug.
  • Sites that fight for input. Players and single-page apps bind events in their own ways, so interception has to survive pages that re-bind aggressively.
  • Extension platform churn. Chrome's manifest and permission rules move, and a blocked update means a broken extension for everybody at once.

What’s next

  • Keep it small. The product is one switch and it is finished. The work is staying compatible with Chrome, and with players that fight back.

Back to Cat Mode