Add gamepad-aware pointer handling so the server browser hides the mouse cursor when a controller is connected and only shows it after mouse movement/click. Changes include: - PrismaUI: track browser pointer mode, prefer gamepad detection, suppress native CursorMenu/MenuCursor when in gamepad mode, unfocus the Ultralight view to prevent PrismaUI drawing its cursor, and restore pointer mode on mouse activity. Integrate pointer-mode initialization on browser show and call PollGamepad + UpdateBrowserPointerMode in the permanent task loop. - MenuInput: expose IsGamepadConnected(), provide PollGamepad() wrapper and simplify Register() logging. - UI: add window.CO_App.setPointerMode to toggle a co-gamepad-mode class and clear hover state; add CSS to hide the HTML cursor when co-gamepad-mode is active. - docs: add dev-log entries describing the PrismaUI Ultralight cursor fix and the new gamepad-aware server browser behavior. These changes ensure consistent cursor behavior between mouse and controller input, prevent the Ultralight cursor from appearing in controller mode, and restore the cursor after mouse interaction.
18 lines
335 B
C++
18 lines
335 B
C++
#pragma once
|
|
|
|
namespace RE
|
|
{
|
|
class ButtonEvent;
|
|
class ThumbstickEvent;
|
|
}
|
|
|
|
namespace F4T::MenuInput
|
|
{
|
|
void Register();
|
|
void SetBrowserActive(bool a_active);
|
|
bool IsGamepadConnected();
|
|
void PollGamepad();
|
|
bool ForwardButtonEvent(const RE::ButtonEvent* a_event);
|
|
bool ForwardThumbstickEvent(const RE::ThumbstickEvent* a_event);
|
|
}
|