Quick answer: Godot 4 Control's hover cursor shape persisting after the cursor moves away? mouse_exited signal not auto-restoring - explicitly reset on exit or use Input.set_default_cursor_shape.
Hover a button that sets cursor to POINTING_HAND. Move off; cursor stays as pointing hand.
Reset on mouse_exited
Connect to mouse_exited; set cursor back to ARROW. Pair with the mouse_entered handler.
Or use mouse_default_cursor_shape
Control property auto-applies on hover. Skip the manual signal handling.
Verify with cursor logging
Print cursor shape per frame during dev. Hover-test buttons; shape changes should be paired.
“Hover state is paired: enter and exit. Skipping the exit leaves the state stuck.”
Standardize on the Control property where possible. The signal handler approach is for cases that need conditional logic.