1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 09:12:24 +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 up to the server. Currently only Telnet, SSH, and serial connections
have special commands. 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 The following \I{Telnet special commands}special commands are
available in Telnet: available in Telnet:

View File

@ -663,13 +663,12 @@ gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
end = 2; end = 2;
} }
/* Control-Break is the same as Control-C */ /* Control-Break sends a Break special to the backend */
if (event->keyval == GDK_Break && if (event->keyval == GDK_Break &&
(event->state & GDK_CONTROL_MASK)) { (event->state & GDK_CONTROL_MASK)) {
output[1] = '\003'; if (inst->back)
use_ucsoutput = FALSE; inst->back->special(inst->backhandle, TS_BRK);
end = 2; return TRUE;
special = TRUE;
} }
/* We handle Return ourselves, because it needs to be flagged as /* 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 * 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 * codes. Returns number of bytes used, zero to drop the message,
* or -1 to forward the message to windows. * -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, static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
unsigned char *output) unsigned char *output)
@ -3987,9 +3988,9 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
return p - output; return p - output;
} }
if (wParam == VK_CANCEL && shift_state == 2) { /* Ctrl-Break */ if (wParam == VK_CANCEL && shift_state == 2) { /* Ctrl-Break */
*p++ = 3; if (back)
*p++ = 0; back->special(backhandle, TS_BRK);
return -2; return 0;
} }
if (wParam == VK_PAUSE) { /* Break/Pause */ if (wParam == VK_PAUSE) { /* Break/Pause */
*p++ = 26; *p++ = 26;