Quick answer: GameMaker keyboard_string drawing a blinking cursor on a disabled field? GM doesn't gate cursor rendering on focus - manually hide via draw_set_alpha or use a custom input system.

Disabled inventory search field blinks a cursor as if it's active. Confusing UX.

Hide cursor when disabled

if (focused) {
  draw_cursor();
}

Explicit focus check before drawing. Skips on disabled.

Or use custom input

Don't rely on keyboard_string; manage focus and cursor entirely yourself. More code; clear UX.

Audit disabled state

Every visible UI element should have a 'disabled' rendering path. Disabled state without visual feedback is a UX bug.

“Disabled means not interactive AND not encouraging interaction. UI must reinforce both.”

Build a small UI library with consistent disabled-state styling. Reusable; doesn't depend on engine UX choices.

Related reading