gml_link_impl gui
Simics Reference Manual  /  5 Classes  / 

graphcon

Description

The graphcon class implements a graphical console, representing a computer screen. Several consoles may be present at any time. It also supports input of keyboard and mouse events. The objects of the graphcon class should be connected to a graphics card device and a keyboard/mouse device.

Interfaces Implemented

conf_object, log_object, keyboard_console, gfx_console_backend, abs_pointer_activate, recorded, con_input_code, checkpoint, gfx_con, gfx_console, screenshot, extended_serial, gfx_break, vga_text_update, vnc_server, vnc_server_v2, external_connection_events, break_strings, break_strings_v2, con_input

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
graphcon-close
Notifier that is triggered when a graphics console is closed.
graphcon-open
Notifier that is triggered when a graphics console is opened.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

tcp
tcp-server – VNC TCP server
unix_socket
unix-socket-server – VNC Unix domain socket server

Commands for this class

Commands for interface gfx_break

Commands for interface break_strings_v2

Attributes

keyboard
Optional attribute; read/write access; type: o|n
Keyboard device the console is connected to.
mouse
Optional attribute; read/write access; type: o|n
Mouse device the console is connected to.
abs_mouse
Optional attribute; read/write access; type: o|n
Absolute positioning pointer device connected to the console. Must implement the abs_pointer interface
abs_pointer_enabled
Optional attribute; read/write access; type: b
Absolute positioning pointer enabled.
pending_kbd_input
Optional attribute; read/write access; type: [[ib]*]
Queued keyboard input waiting to be sent to the attached keyboard device. Each element is a key code and a make/break flag (TRUE on make).
mouse_state
Optional attribute; read/write access; type: [iibb]
Mouse state, only used when not using an absolute positioning pointer.
microm_per_pixel
Pseudo attribute; read/write access; type: [ii]
Micrometers per (horizontal, vertical) pixel for converting mouse movements. only used when not using an absolute positioning pointer.
grab_modifier
Optional attribute; read/write access; type: s
A string in (control, alt, shift), specifying the modifier key used for grabbing and ungrabbing input from the console. Currently only the left side modifier are interpreted.
grab_button
Optional attribute; read/write access; type: s
One of left, middle and right The grab button specifies which mouse button that is used to grab and ungrab input for the console.
visible
Optional attribute; read/write access; type: b|n
Show/hide console GUI window. Setting to NIL only has effect before instantiation, in which case it leads to the default visibility behaviour of showing the console window if it is the unique console in the configuration.
recorder
Required attribute; read/write access; type: o
Recorder object
max_screen_size
Optional attribute; read/write access; type: [ii]
Console window maximum allowed screen size, in pixels (width, height).
window_title
Optional attribute; read/write access; type: s
Console GUI window title.
screen_size
Optional attribute; read/write access; type: [ii]
Console window size in pixels (width, height).
screen_data
Optional attribute; read/write access; type: d
Console screen data.
palette
Optional attribute; read/write access; type: [[iii]{256}]
((r, g, b), ...) Palette used in 8-bit mode. 256 colors, 8 bits/channel.
output_file
Pseudo attribute; read/write access; type: s
If set to a non-empty string, output will be directed to and appended to this file. Set to an empty string to stop file output.
keyboard_leds
Pseudo attribute; read-only access; type: [bbb]
State of keyboard leds (Caps lock, Num lock, Scroll lock).
cmd_line_output
Optional attribute; read/write access; type: b|n
If set to TRUE, the Simics command line will receive console text output, which will also be logged at level 3. If set to NIL, command line and log output will happen automatically when the console GUI is invisible. If set to FALSE, no command line or log output will happen.
output_line
Optional attribute; read/write access; type: d
The current output line of printable characters from the attached VGA device.
device
Optional attribute; read/write access; type: o|n
Video device the console is connected to.
refresh_rate
Optional attribute; read/write access; type: i
Refresh rate (in hertz). Set to 0 to disable screen refresh
gfx_breaks
Pseudo attribute; read-only access; type: [[isbbfiiiid]*]
List of console graphical breakpoints. Each entry is (hap id, name, active, oneshot, update interval, minx, miny, maxx, maxy, image data)
next_gfx_break_id
Pseudo attribute; read-only access; type: i
Hap ID for next added breakpoint.
vga_text_data
Pseudo attribute; read-only access; type: [iiii[i*]d]|n
VGA text screen contents: (rows, columns, font width, font height, line lengths, text data). NIL if not currently in VGA text mode.
refresh_in_virtual_time
Optional attribute; read/write access; type: b
If TRUE, then the refresh rate will refresh the screen based on virtual time, instead of real time. Default is FALSE.
vnc_port
Pseudo attribute; read/write access; type: i|n
VNC listening port or NIL if no port should be opened. The port must not be privileged, i.e. the allowed range is [1024, 65535]. A value of 0 means that a random free port will be used.
vnc_unix_socket
Pseudo attribute; read/write access; type: s|n
VNC UNIX socket. The file must not exist.
new_vnc_port_if_busy
Pseudo attribute; read/write access; type: b
Determines if a new TCP port may be used when restoring from a checkpoint and the saved port is already busy. The default value is TRUE. It may be set to FALSE for setups that rely on the same port being used all the time.
vnc_clients
Pseudo attribute; read-only access; type: [[di]*]
List of (remote ip, remote port) for each VNC client.
vnc_allow_compression
Optional attribute; read/write access; type: b
If TRUE, then compressed encodings are used if the VNC client requests it, otherwise only raw encoding is used. Default is TRUE. Supported encodings are ZRLE and Tight.
vnc_zlib_level
Optional attribute; read/write access; type: i
VNC zlib compression level, in range 0..9, default 6.
vnc_keymap
Optional attribute; read/write access; type: [[ii]*]
VNC keyboard mapping for special keys: a list of pairs, keysym -> sim_key_t.
vnc_password
Optional attribute; read/write access; type: s|n
VNC server password. If this is set to a string, which must be non-empty, then the server will use the VNC authentication mechanism and require clients to provide the password on connect.
break_strings
Pseudo attribute; read-only access; type: [[sbbiib]*]
List of console break strings (string, active, oneshot, hap ID, unused, regexp)

Provided By

graphcon
gml_link_impl gui