Add Mouselook Inputs to llTakeControls: Right-Click, MouseWheel and Middle Button
tracked
SamanthaTekcat Resident
Requesting the following controls to be added for further usage of mouse input while in mouselook.
CONTROL_ML_RBUTTON - Right mouse button control
CONTROL_ML_MBUTTON - Mouse wheel/middle button control
CONTROL_ML_MWUP - Mouse wheel up control
CONTROL_ML_MWDWN - Mouse wheel down control
I actually woke up this morning and realized that we didn't have an ML_RBUTTON and this hasn't been in since the launch of SL. I figured we could cover the rest of standard mice and modernize the old llTakeControls function to keep up with GameControl. Mice, as a standard, have a Left/Right button, as well as a Mouse Wheel and Middle button.
Log In
Jeremy Duport
I'd prefer a more standard set of CONTROL_ML_MB0 through MBx macros for buttons. These tend to be 0 - left, 1 - right, 2 - wheel/middle, 3 - "forward", 4 - "back", etc. For practical purposes mb0,1,2 seems like a reasonable expansion to me, only eating 2 more bits.
Wheel inputs are actually a pain point! They tend to be for smooth/fine control uses but scripts receiving inputs are subject to latency. Any script using wheel input would need debouncing and probably feel awful. Might still be valuable, but I can personally only see it being useful for flick up and flick down being considered a button press.
Jeremy Duport
Extra thought on this - Good old hindsight. It would've cost the same to have a plain CONTROL_MOUSELOOK flag instead of having LBUTTON and ML_LBUTTON.
Compatibility debt means keeping those
and
adding a new MB0 were CONTROL_MOUSELOOK added, but is still well worth considering since it instantly doubles the nuance of all other existing controls, not just future additions.Spidey Linden
tracked
Issue tracked. We have no estimate when it may be implemented. Please see future updates here.
Thornotter Resident
I'd actually prefer the opposite - a new llTakeControls that instead of accepting "buttons" accepts specific type of action an input maps to - e.g. Walk, Run, Fly Up, Fly Down, Crouch, etc.
That way, SL could adapt better to different input methods and be remapped to different control schemes. If a script hardcodes to a specific button on a specific input device type, remapping and/or using other controller types becomes impossible.
What would a scroll wheel input be for an Xbox game controller or a VR controller? There's no equivalent, so adding something like this would prevent it for working with those users.
Still, it's a good idea for those inputs to be used - but perhaps indirectly? For example, you could have "CONTROL_BUTTON_SECONDARY" for right click on a mouse, the "A" button on an XBox Controller, or the secondary input ("A" / "Square") on a VR controller.
SamanthaTekcat Resident
There is already a Game Controller event with a collection of functions that will soon be released.
This is kind of more for Keyboard/Mouse people.
Here is the canny for controller input. - https://secondlife.canny.io/scripting-features/p/game-controller-input
And LSL Wiki entry for it -
Extrude Ragu
Can see this being espescially beneficial to the combat cats