private boolean shouldTrackCursor(SignalEvent event) {
if (event.isMouseButtonEvent()) {
return true;
}
if (event.isKeyEvent()) {
KeySignalType keySignalType = event.getKeySignalType();
// The cursor location should move if the user either has modified the
// content (typed or delete), or move the cursor deliberately. However, page up/down
// doesn't actually move the cursor, so we don't want to move the view port
int keyCode = event.getKeyCode();
return keySignalType == KeySignalType.INPUT ||