+----------+ | Keypress | +----+-----+ | | keycode | +-----------+------------+ | | V V +--------------+ +-----------------+ | Linux kernel | | X Window System | +-------+------+ +--------+--------+ | | | | keysym | | | +-----------+---------+ | | | | | V | | | +-------+ | | | | xterm | | | | +---+---+ | | | | | | +------------+ | | | | | | character | V | | +----------+ +------+------+---------------+ +------+ | netscape | | | | | | +-----+----+ V | V V V | +------+ | +------+ +=======+---+-------------+ | | less | | | bash | | emacs | : | | +-+----+ | +----+-+ +=======+ : input event | | | V | | V | | | +---------+ | | +------------------+ | | | | minicom | | | | function-key-map | | | | +----+----+ | | +--------+---------+ | | | | | | | | | | | | | | input event | | | | | | V | | | | | | +---------------------+ | | | | | | | key-translation-map | | | | | | | +---------+-----------+ | | | | | | : | | | | | | : input event | | | | | | V | | | | | | +------------+ | | | | | | | global-map | | | | | | +-----+-----+------+------+ | | | | | | +------+------+-----------+----+-----------------+ | | command V +--------+ | Action | +--------+