head0 user-space virtual terminal
One user-space virtual terminal is supplied as a pre-packaged suite of connected service bundles in several layers:
a suite of terminal-emulator@vcN service bundles running console-terminal-emulator to provide terminal emulation to the TUI login sessions, attached to their individual pseudo-terminals and presenting themselves as the several /run/dev/vcN user-space virtual terminals
a suite of ttylogin@vcN service bundles providing TUI login services on those pseudo-terminals
a console-multiplexor@head0 service bundle running console-multiplexor to multiplex among the lower vcN virtual terminals and presenting itself as the /run/dev/head0mux user-space virtual terminal
a console-input-method@head0 service bundle running console-input-method to layer an input method on top of the multiplexor and presenting itself as the /run/dev/head0 user-space virtual terminal
The head0 virtual terminal is realized onto physical devices using several service bundles:
Either:
a console-fb-realizer@fbN service bundle running console-fb-realizer to realize the overall combination at /run/dev/head0 onto the /dev/fbN framebuffer device; or
a console-kvt-realizer@ttyvN service bundle running console-kvt-realizer to realize the overall combination at /run/dev/head0 onto the /dev/ttyvN kernel virtual terminal
a console-ugen-hid-realizer@ugenN.M service bundle (auto-generated and auto-started by the Plug and Play manager) running console-ugen-hid-realizer to realize the overall combination at /run/dev/head0 onto some USB HID device
The realizers all use global (i.e. not private to individual realizer services) user-space virtual terminal configuration, so kbdmaps, fonts, keyboards-aggregate, mice-aggregate, and vcs in their service directories are all symbolic links to subdirectories of the same names under /etc/system-control/convert/user-vt/.
In turn, the global configuration is set up so that the relevant /etc/system-control/convert/user-vt/vcs/something autoconfiguration symbolic links point to /run/dev/head0.
How keyboard maps and keyboard/mouse states are assigned is a matter of configuration policy. Similarly, fonts are third-party terminal resources not supplied in the toolkit, that have to be obtained, and configured in a manner that is determined by where on the system they are installed.