Detecting “cat-like” typing.

 September 27, 2006 personal

\newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}}

\newenvironment{question}[1][]{\par\textbf{Question (#1).}}{} \newenvironment{theorem}[1][]{\par\textbf{Theorem (#1).}}{} \newenvironment{lemma}[1][]{\par\textbf{Lemma (#1).}}{} \newenvironment{proof}{\textit{Proof.}}{}

There is a program called PawSense for Windows which detects “cat-like” typing, and then prevents further keyboard entry.

I found some code for filtering keyboard events on Mac OS X, and I wanted to implement something similar. But this raises an interesting question: just what characterizes “cat-like” typing?

The PawSense website suggested that cat paws are very broad, and usually strike nearby keys simultaneously. Another idea is to detect “human-like” typing and then freeze the keyboard whenever non-human typing is detected (which has the useful feature of detecting a future version of cat with smaller paws).