1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00

Ctrl-Break now sends a Break signal (previously it was equivalent to Ctrl-C).

[originally from svn r7295]
[this svn revision also touched putty-wishlist]
This commit is contained in:
Jacob Nevins 2007-02-18 14:02:39 +00:00
parent 3ffd1fbe38
commit c5374da822
3 changed files with 13 additions and 10 deletions

View File

@ -128,6 +128,9 @@ connection in addition to normal data. Their precise effect is usually
up to the server. Currently only Telnet, SSH, and serial connections
have special commands.
The \q{break} signal can also be invoked from the keyboard with
\i{Ctrl-Break}.
The following \I{Telnet special commands}special commands are
available in Telnet:

View File

@ -663,13 +663,12 @@ gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
end = 2;
}
/* Control-Break is the same as Control-C */
/* Control-Break sends a Break special to the backend */
if (event->keyval == GDK_Break &&
(event->state & GDK_CONTROL_MASK)) {
output[1] = '\003';
use_ucsoutput = FALSE;
end = 2;
special = TRUE;
if (inst->back)
inst->back->special(inst->backhandle, TS_BRK);
return TRUE;
}
/* We handle Return ourselves, because it needs to be flagged as

View File

@ -3566,8 +3566,9 @@ int char_width(Context ctx, int uc) {
/*
* Translate a WM_(SYS)?KEY(UP|DOWN) message into a string of ASCII
* codes. Returns number of bytes used or zero to drop the message
* or -1 to forward the message to windows.
* codes. Returns number of bytes used, zero to drop the message,
* -1 to forward the message to Windows, or another negative number
* to indicate a NUL-terminated "special" string.
*/
static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
unsigned char *output)
@ -3987,9 +3988,9 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
return p - output;
}
if (wParam == VK_CANCEL && shift_state == 2) { /* Ctrl-Break */
*p++ = 3;
*p++ = 0;
return -2;
if (back)
back->special(backhandle, TS_BRK);
return 0;
}
if (wParam == VK_PAUSE) { /* Break/Pause */
*p++ = 26;