private boolean doTabLeft(EventTrigger trigger) {
			if (!cursorOn) {
				// if no cursor, nothing to tab from or to
				return false;
			}
			if (cursorPosition.fieldNum > 0) {
				doSetCursorPosition(cursorPosition.getIndex(), cursorPosition.fieldNum - 1, 0, 0,
					trigger);
			}
			else {
				BigInteger indexBefore = getIndexBefore(cursorPosition.getIndex());
				if (indexBefore == null) {
					return false;
				}
				Layout layout = model.getLayout(indexBefore);
				int fieldNum = layout.getNumFields() - 1;
				doSetCursorPosition(indexBefore, fieldNum, 0, 0, trigger);
			}
			scrollToCursor();
			repaint();
			return true;
		}
Sets the cursor as close to the given point as possible.

@param x the horizontal coordinate.
@param y the vertical coordinate.
Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/FieldPanel.java