mirror of
https://github.com/rricharz/Tek4010.git
synced 2026-01-11 23:53:16 +00:00
hard copy (screen dump) added
This commit is contained in:
parent
c29fdcbaf2
commit
8cfeec3157
14
README.md
14
README.md
@ -1,10 +1,10 @@
|
||||
# Tektronix 4010 Terminal Emulator
|
||||
# Tektronix 4010 and 4014 Terminal Emulator
|
||||
|
||||
This is a [Tektronix 4010](https://en.wikipedia.org/wiki/Tektronix_4010) terminal emulator
|
||||
This is a [Tektronix 4010 und 4014](https://en.wikipedia.org/wiki/Tektronix_4010) terminal emulator
|
||||
for the Raspberry Pi and other Linux systems. It can also be used on Windows an Macintosh systems
|
||||
with [Virtualbox](https://www.virtualbox.org/) and [Ubuntu](https://www.ubuntu.com/).
|
||||
|
||||

|
||||

|
||||
|
||||
It attempts to emulate the storage tube display of the Tektronix 4010, including the bright
|
||||
drawing spot.
|
||||
@ -126,12 +126,16 @@ in the terminal emulator and clear the persistent screen:
|
||||
home
|
||||
page up
|
||||
page down
|
||||
control arrow up
|
||||
control arrow left
|
||||
<control> arrow up
|
||||
<control> arrow left
|
||||
|
||||
These keys emulate the "page" key of the Tektronix 4010. You need to use one of these
|
||||
keys frequently to avoid to get a mess on the screen, as on a real Tektronix 4010.
|
||||
|
||||
The hardcopy function on the Tektronix 4010 is emulated with a screen dump.
|
||||
|
||||
<control> w Make a screen dump in current directory using scrot
|
||||
|
||||
**Login into the system running simh (same or different Raspberry Pi)**
|
||||
|
||||
This makes sense, if you have set up a virtual DZ11 for multiple user login, opening a
|
||||
|
||||
6
main.c
6
main.c
@ -113,7 +113,7 @@ static void do_drawing(cairo_t *cr, GtkWidget *widget)
|
||||
static void on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
|
||||
{
|
||||
int ch;
|
||||
// printf("key pressed, state =%04X, keyval=%04X\r\n", event->state, event->keyval);
|
||||
//printf("key pressed, state =%04X, keyval=%04X\r\n", event->state, event->keyval);
|
||||
|
||||
if ((event->keyval == 0xFF50) || // "home" key
|
||||
(event->keyval == 0xFF55) || // "page up" key
|
||||
@ -134,6 +134,10 @@ static void on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_da
|
||||
gtk_widget_queue_draw(widget);
|
||||
return;
|
||||
}
|
||||
else if (event->keyval == 0x0077) { // "ctrl>w" makes screendump
|
||||
system("scrot --focussed");
|
||||
return;
|
||||
}
|
||||
else
|
||||
ch = event->keyval & 0x1F;
|
||||
}
|
||||
|
||||
BIN
screendump.png
Normal file
BIN
screendump.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 354 KiB |
@ -535,6 +535,8 @@ int escapeCodeHandler(cairo_t *cr, cairo_t *cr2, int todo, int ch)
|
||||
mode = 0;
|
||||
break;
|
||||
|
||||
case 23: system("scrot --focussed"); mode= 0; break;
|
||||
|
||||
case 28: // file separator >> point plot mode
|
||||
mode = 5;
|
||||
plotPointMode= 1;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
#define A_WINDOW_WIDTH 1024 // proposed width of main window
|
||||
#define A_WINDOW_HEIGHT 780 // proposed height of main window
|
||||
#define WINDOW_NAME "Tektronix 4010" // name of main window
|
||||
#define WINDOW_NAME "Tektronix 4010/4014" // name of main window
|
||||
#define ICON_NAME "" // path to icon for window
|
||||
|
||||
#define TIME_INTERVAL 30 // time interval for timer function in msec
|
||||
|
||||
BIN
teklogo.png
BIN
teklogo.png
Binary file not shown.
|
Before Width: | Height: | Size: 126 KiB |
Loading…
x
Reference in New Issue
Block a user