void keyTyped(KeyEvent e) {
			skip = false;

			if (isIgnorableKeyEvent(e)) {
				skip = true;
				return;
			}

			String eventChar = Character.toString(e.getKeyChar());
			long when = e.getWhen();
			long elapsed = when - lastTime;
			boolean didTimeout = keyTimeoutPredicate.test(elapsed);
			if (didTimeout) {
				text = eventChar;
			}
			else {
				text += eventChar;

				if (!foundPreviousMatch) {
					// The given character is being added to the previous search.  If that search
					// was fruitless, then so too will be this one, since we use a 
					// 'starts with' match.
					skip = true;
					when = lastTime;  // don't save time if no match found; trigger a timeout
				}
			}

			lastTime = when;
		}
Clients call this method when the user types keys

@param e the key event
Ghidra/Framework/Docking/src/main/java/docking/widgets/AutoLookup.java