Specifications
CHAPTER 8. CONCLUSION 69
Beside the study of source code, it was essential to spot the edge conditions the resulting
program will run in. These edge conditions are of particular relevance for the acceptance by
both users and developers, especially in the decision regarding the interprocess communication,
focused on a fluent integration of the Input Abstraction Layer into GNU/Linux.
8.2 Future Work
The efforts made so far have created a solid groundwork for upcoming challenges. To ensure
the propagation of the Input Abstraction Layer and that it goes into action, the proceeding
development demands the achievements of several goals. First, it is necessary to implement
as many Input Abstraction Layer modules as possible. This approach will result in a widely
acceptance as many users derive benefit from the project. The amount of users has a direct
impact on the quality of the Input Abstraction Layer. Feedback and user reports are most
valuable for leading the development into the right direction—the direction where the users
want the project to go. The future development also needs to pay attention to new input devices
supported by Linux. It is reasonable to expand the Input Abstraction Layer’s functionality
to support other input devices than keyboards. For example, special buttons found on mice,
trackballs, joysticks, steering wheels and other peripherals.
Applications implementing user interfaces for the abstract input events are required to
make actual usage of the Input Abstraction Layer. Such user interfaces have to focus on
all users’ needs. For example, a console-based user interface is needed as well as user space
interfaces for the various graphical desktop environments. This guarantees that users are not
discriminated against due to their habits and preferences on how to use GNU/Linux.
The applications implementing user interfaces for the Input Abstraction Layer have to
ensure that the users have full control over the action executed upon an input event. For
example, the action triggered by an abstract input event can be the execution of an arbitrary
application. Other p ossible actions are functions offered by Linux kernel drivers. The survey
(Appendix B, §B.5) revealed that users demand functions such as adjusting the brightness of a
laptop’s display, changing the volume with labeled, proposed function keys and the possibility
to switch between LCD and CRT screen on laptops. It is due to the Input Abstraction Layer
that such functions can be mapped to the proposed keys of input devices.
The Input Abstraction Layer’s project continues its evolution among the free and open
source community. Everyone is free to use it for any purpose, either under the terms of the
GPL or the AFL. It is free for personal use as well as for commercial use. Developers are most
welcome to participate in the future development of the Input Abstraction Layer. Users will
appreciate the project’s achievements by enjoying the increase of control over their system.
Choosing open source implies choosing freedom.