BInputServerFilter is a base class for input filters; these are instances of BInputServerFilter that modify, generate, or eat input events. An input filter add-on is privy to all the events that pass through the Input Server's event stream. A filter is similar to the Interface Kit's BMessageFilter, but at a much lower level. The BInputServerFilter also sees all events, while a BMessageFilter only sees the events targeted at its BLooper. BMessageFilters can also generate additional events in place of, or in addition to, the original input event.

BInputServerFilter objects are created and deleted by the Input Server only—you never create or delete these objects in your code.


To create a new input filter, you must:

At boot time (or whenever the Input Server is restarted; see "Loading" in The Input Server), the Input Server loads the add-ons it finds in the input filter directories. For each add-on it finds, the Server invokes instantiate_input_filter() to get a pointer to the add-ons's BInputServerFilter object. After constructing the object, the Server calls InitCheck() to give the add-on a chance to bail out if the constructor failed.

Installing an Input Filter

The input server looks for input filters in the input_server/filters subdirectories of B_BEOS_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, and B_USER_ADDONS_DIRECTORY.

Creative Commons License
Legal Notice
This work is licensed under a Creative Commons Attribution-Non commercial-No Derivative Works 3.0 License.