As mentioned earlier, there are three types of modules:
Modules are linked together according to the command-line parameters passed into the input driver. The command line has the following format:
devi-driver_name [options] protocol [protocol_options] [device [device_options]] [filter [filter_options]]
In this example:
devi-hirun ps2 kb -2 &
the elements are as follows:
You don't need to specify a filter module, because the three classes of event bus lines are represented by three modules, called rel, abs, and keyboard. When the input driver parses the command line, it can tell from the ps2 module that it needs to link in the rel filter-module. The only time you would explicitly specify a filter module on the command line is if you need to pass it optional command-line parameters. For example:
devi-hirun ps2 kb -2 rel -G2
This tells the relative filter module to multiply X and Y coordinates passed in by 2, effectively providing a gain factor (a faster-moving mouse).