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.