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.
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
- 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.
- tcp
-
tcp-server
– VNC TCP server
- unix_socket
-
unix-socket-server
– VNC Unix domain socket server
-
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)
graphcon