input: add infrastructure for an input subsystem
[platform/upstream/kmscon.git] / README
1 = KMSCON =
2 Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS).
3 It is an attempt to replace the in-kernel VT implementation with a userspace
4 console.
5
6 == Requirements ==
7   Kmscon requires the following software:
8     - udev
9     - mesa with:
10       - EGL library
11       - gbm library
12       - GL library
13     - pango with:
14       - glib
15       - cairo
16       - pango
17
18 == Install ==
19   To compile the kmscon binary, run the standard autotools commands:
20     $ ./configure [--enable-debug]
21     $ make
22     $ make install
23   To compile the test applications, run:
24     $ make check
25
26 == License ==
27   This software is licensed under the terms of the MIT license. Please see
28   ./COPYING for further information.
29
30 == FAQ ==
31   === Why didn't you use libvte or similar terminal emulators? ===
32   All existing terminal emulators I found highly depend on X. Also, their code
33   base often is a horrible mess. I haven't had the time to convert them to use
34   other drawing functions than Xlib, yet.
35   If you feel like doing this work, please notify me. I would be glad to adjust
36   my code to work with other terminal emulators.
37
38 == Contact ==
39   This software was written by:
40     David Herrmann <dh.herrmann@googlemail.com>
41   If you have any questions, do not hesitate to contact one of the developers.
42
43 == Code Base ==
44   The kmscon code is split into several independent subsystems:
45     - output:
46       This code manages the KMS/DRI output and provides OpenGL framebuffers.
47     - console:
48       This draws the text on the screen and provides an API for any terminal
49       emulator to visualize its contents.
50     - evdev:
51       All linux input events are captured here and converted to Unicode
52       characters for input handling.
53     - vte:
54       The terminal emulator library.
55     - main:
56       This connects all subsystems into a usable console application.