Table of Contents
As of version 0.4, eboxy's input/output layer is separate from the core program itself. All of the specific interface operations are contained in an "interface plugin" which is chosen at start time. This means that almost any input/output device combination could be used with eboxy, and you don't have to recompile the eboxy core to change between them.
Developing interface plugins requires a good grounding in C++ - in particular you should understand how multiple inheritance works. You will also need to acquire a fairly good understanding of how eboxy works internally - its inheritance hierarchy, and what each class and function does.
Interface plugins are dynamically linked libraries (.so files) which contain inherited versions of each widget that the plugin supports. They also contain initialisation and uninitialisation procedures and the main event loop.
For now it is suggested that you take a look at the eboxy source code if you are interested in developing an interface plugin. Documentation for this will be improved in future versions.