ducky.devices.terminal module

Terminal is a device that groups together character two input and output devices, thus forming a simple channel for bidirectional communication between VM and user.

Terminal has two slave frontends:
  • input, usually a keyboard
  • output, from simple TTY to more powerful devices

Terminal then manages input and input streams, passing them to its slave devices, which then transports events between streams and VM’s comm channel.

class ducky.devices.terminal.StandalonePTYTerminal(*args, **kwargs)[source]

Bases: ducky.devices.terminal.StreamIOTerminal

boot()[source]
static create_from_config(machine, config, section)[source]
halt()[source]
class ducky.devices.terminal.StandardIOTerminal(machine, name, input_device=None, output_device=None, *args, **kwargs)[source]

Bases: ducky.devices.terminal.StreamIOTerminal

static create_from_config(machine, config, section)[source]
class ducky.devices.terminal.StreamIOTerminal(machine, name, input_device=None, output_device=None, *args, **kwargs)[source]

Bases: ducky.devices.terminal.Terminal

boot()[source]
static create_from_config(machine, config, section)[source]
enqueue_input_stream(stream)[source]
enqueue_streams(streams_in=None, stream_out=None)[source]
halt()[source]
class ducky.devices.terminal.Terminal(machine, name, echo=False, *args, **kwargs)[source]

Bases: ducky.devices.DeviceFrontend

_input_read_u8_echo(*args, **kwargs)[source]
_patch_echo(restore=False)[source]
boot()[source]
halt()[source]
ducky.devices.terminal.get_slave_devices(machine, config, section)[source]
ducky.devices.terminal.parse_io_streams(machine, config, section)[source]