1. A method performed at least in part on at least one machine, comprising: processing input from an input device, including selecting a selected provider of a set of two or more providers based at least in part on a type of the input device, and routing the input to the selected provider; communicating input-related data from the selected provider to one or more user interface (UI) elements, including providing an input event to a selected UI element; and taking an invoke action at a selected UI element of the one or more UI elements based upon the input event.