link to the proposal: http://secondlife.com/vote/index.php?get_id=549
for the keyboard
Well basically the idea is to be able to record any key pressed on the keyboard, or a t least most of them; many weapons and tools made by players use cumbersome listens to send simple commands like show/hide, reloading a weapon or changing a firemode, what if we cound bind any key of the keyboard?
to this we would of course need an extra function like:
list llGetKeyboardMap(key user)
would return a list containing the keycodes of each keyboard keys in a defined order, allowing to map by script each keyboard type
for example it could return something like this for a french keyboard:
[...,"A","Z","E","R","T","Y",...]
and for an us keyboard:
[...,"Q","W","E","R","T","Y",...]
making it automatic sound easier for the scripter, however there is some keys that it wouldnt be interesting to move.
of course, this option would need (for more versatility) to be able to make more complex control event setup, we should be able , first , to stack the lltakecontrols commands
llTakeControls(CONTROL_ML_LBUTTON, TRUE, FALSE);
llTakeControls(CONTROL_LEFT, TRUE, TRUE);
should complete themselve and not overwrite.
on the same idea, adding: llRemoveControl(integer controls) would supress the said controls of the control event filter
and finally, a little modification to the llReleaseControls() event allowing to decide if we want to release the controls globally (like it is actually) or only for this script/object
for the mouse
in the same idea of the keyboard a function like:
list llGetMouseButtons(key user)
would return a list of buttons constant indicating the number of buttons the client has currently available (thus allowing the mouse controls to adapt to the buttons available)
an example of mouse button constants could be:
the two we have already
CONTROL_LBUTTON
CONTROL_ML_LBUTTON
this one in mouselook at least!!!
CONTROL_ML_RBUTTON
somthing like this for each extra button on the mouse
CONTROL_ML_BUTTON1
CONTROL_ML_BUTTON2
CONTROL_ML_BUTTON3
CONTROL_BUTTON1
CONTROL_BUTTON2
CONTROL_BUTTON3
CONTROL_MWHEELUP
CONTROL_MWHEELDOWN
so the list would return something like:
[CONTROL_LBUTTON,CONTROL_RBUTTON,CONTROL_BUTTON1] for a mouse with 3 buttons
more keys mean more interesting games and a better use of the first person view.
i hope i have been clear enough


