How Does Software Recognize Keystrokes