reset_state() is used to reset the saved state and not to reset the actual state. We currently get invalid character-maps as we never initialize them correctly. This fixes all these vte_map() related bugs. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
= KMSCON = Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS). It is an attempt to replace the in-kernel VT implementation with a userspace console. == Requirements == Kmscon requires the following software: - libudev: providing input, video, etc. device hotplug support Everything else is optional: For video output at least one of the following is required: - fbdev: For framebuffer video output the kernel headers must be installed and located in the default include path. - DRM: For unaccelerated drm output the "libdrm" library must be installed and accessible via pkg-config. - OpenGLES2: For accelerated video output via OpenGLESv2 the following must be installed: libdrm, libgbm, egl, glesv2 (i.e., mesa) By default a very limited built-in keyboard handling is used. To get other keyboard layouts working, the following is required: - libxkbcommon: keyboard handling (optional but strongly recommended) Without libxkbcommon, basic US-ASCII input is provided. libxkbcommon has no public release, yet, but is available on freedesktop.org. Use "--disable-xkbcommon" if you have problems due to compile-errors. For font handling the following is required: - glib: only for Unicode handling - pango: drawing text with pango Pango requires: glib, cairo, pangocairo, pango and freetype2 Both (glib and pango) dependencies will be removed soon and made optional with plain freetype2+font-config being the fall-back. For multi-seat support you need the following packages: - systemd: Actually only the systemd-logind daemon and library is required. == Install == To compile the kmscon binary, run the standard autotools commands: $ ./autogen.sh (you need this only when building from git directly) $ ./configure [--enable-debug] (debug-mode is strongly recommended) $ make $ make install (TODO: this is currently not supported) To compile the test applications, run: $ make check If you want only a very basic kmscon program without that much dependencies, use: $ ./configure --disable-debug --disable-drm --disable-xkbcommon --disable-systemd == Running == To get usage information, run: $ ./kmscon --help You can then run kmscon with: $ ./kmscon [options] --switchvt The --switchvt option will make your machine switch the active VT directly to kmscon after starting it. (this is currently not implemented, though) For debug output use "--debug". For verbose output use "--verbose". If you didn't compile DRM support then you can use "--fbdev" to make kmscon select available framebuffer devices. With "--xkb-layout=<lang>" you can switch the keyboard layout. == License == This software is licensed under the terms of the MIT license. Please see ./COPYING for further information. == FAQ == Please see http://github.com/dvdhrm/kmscon/wiki == Contact == This software is maintained by: David Herrmann <dh.herrmann@googlemail.com> If you have any questions, do not hesitate to contact one of the maintainers. == Code Base == The kmscon code is split into several independent subsystems: - uterm: This code manages the KMS/DRI output and provides OpenGL framebuffers. - console: This draws the text on the screen and provides an API for any terminal emulator to visualize its contents. - eloop: Main loop implementation. - log: Log file handling. - unicode: Provides basic Unicode handling. - font: Font loading, caching and drawing operations. - input: All linux input events are captured here and converted to Unicode characters for input handling. - vt: The linux VT subsystem integration. This allows to run the application in a classic linux VT like X does. - vte: The terminal emulator library. - terminal: Connects the console, output, input and vte handling into a real terminal. - main: This connects all subsystems into a usable console application.
Description
Languages
C
93.4%
M4
2.9%
Makefile
1.6%
GLSL
1.3%
C++
0.7%
Other
0.1%