1) An interface in the client that allows us to change our keyboard mappings, including shortcuts (chat window, inventory, etc) and movement (wsad, etc). Changes made through this configuration should take effect immediately. Please include left/right/middle mouse buttons and the mouse wheel to be configured this way.
2) Several (10?) user-defined control constants (USER_CONTROL_1, USER_CONTROL_2, etc) that can be mapped using the interface in #1. Allow the custom controls to be used via script (llTakeControls). This would allow some enhanced vehicles/attachments/etc. Allowing these to llWhisper/llSay specific text on a specific non-public channel would be a second-choice compromise.
3) Whenever we have a patch, don't reset my keyboard mappings to the default settings.
4) (Yeah, I know I said 3. This is an afterthought.) Allow key remapping via LSL. I know we have PERMISSION_REMAP_CONTROLS for llGetPermissions(), I've just never actually seen any function that does the actual remapping. :-/