How to stop Gamepad from forcing cursor above character?

When connecting a controller to Roblox, it forces the cursor to be above the character:

Keyboard/Mouse:

Gamepad:

Is there a way to always have the cursor centered, regardless of the input type?

1 Like

sorry for necrobump but i also ran into this problem

i was able to solve this by using a platform-agnostic fake cursor that is positioned based on userinputservice.mousebehavior/:getmouselocation(). it’s instantiated under its own screengui with screeninsets and safeareacompatibility both set to their none-equivanlent enums

the real code is different but it behaves like this:

udim2fromvector2: (v: vector2) -> (u: udim2)
fakecursor: guiobject

if behavior == enum.mousebehavior.default then
	--- if free movement, position at mouse position (or touch position for touchscreens)
	fakecursor.position = udim2fromvector2(userinputservice:getmouselocation())
else
	--- if locked to center, position at screen center
	fakecursor.position = udim2.fromscale(0.5, 0.5)
end

and then for reading the cursor’s position i’d either read directly from its absoluteposition or listen to :getpropertychangedsignal(“absoluteposition”)