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
|
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/).
|
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
|
It attempts to emulate the storage tube display of the Tektronix 4010, including the bright
|
||||||
drawing spot.
|
drawing spot.
|
||||||
@ -126,12 +126,16 @@ in the terminal emulator and clear the persistent screen:
|
|||||||
home
|
home
|
||||||
page up
|
page up
|
||||||
page down
|
page down
|
||||||
control arrow up
|
<control> arrow up
|
||||||
control arrow left
|
<control> arrow left
|
||||||
|
|
||||||
These keys emulate the "page" key of the Tektronix 4010. You need to use one of these
|
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.
|
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)**
|
**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
|
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)
|
static void on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
|
||||||
{
|
{
|
||||||
int ch;
|
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
|
if ((event->keyval == 0xFF50) || // "home" key
|
||||||
(event->keyval == 0xFF55) || // "page up" 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);
|
gtk_widget_queue_draw(widget);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (event->keyval == 0x0077) { // "ctrl>w" makes screendump
|
||||||
|
system("scrot --focussed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
ch = event->keyval & 0x1F;
|
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;
|
mode = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 23: system("scrot --focussed"); mode= 0; break;
|
||||||
|
|
||||||
case 28: // file separator >> point plot mode
|
case 28: // file separator >> point plot mode
|
||||||
mode = 5;
|
mode = 5;
|
||||||
plotPointMode= 1;
|
plotPointMode= 1;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
#define A_WINDOW_WIDTH 1024 // proposed width of main window
|
#define A_WINDOW_WIDTH 1024 // proposed width of main window
|
||||||
#define A_WINDOW_HEIGHT 780 // proposed height 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 ICON_NAME "" // path to icon for window
|
||||||
|
|
||||||
#define TIME_INTERVAL 30 // time interval for timer function in msec
|
#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