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.
| Platform | Chrome extension |
|---|---|
| Status | Shipping. 1.1.0 on the Chrome Web Store |
| Price | Free |
| Source | Open source on GitHub |
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+Kworks 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.