|
12 | 12 | Norbert Warmuth, 1997
|
13 | 13 | Denys Vlasenko <[email protected]>, 2013
|
14 | 14 | Slava Zanko <[email protected]>, 2013
|
| 15 | + Egmont Koblinger <[email protected]>, 2013 |
15 | 16 |
|
16 | 17 | This file is part of the Midnight Commander.
|
17 | 18 |
|
@@ -92,6 +93,8 @@ int old_esc_mode = 0;
|
92 | 93 | int old_esc_mode_timeout = 1000000; /* settable via env */
|
93 | 94 | int use_8th_bit_as_meta = 0;
|
94 | 95 |
|
| 96 | +gboolean bracketed_pasting_in_progress = FALSE; |
| 97 | + |
95 | 98 | /* This table is a mapping between names and the constants we use
|
96 | 99 | * We use this to allow users to define alternate definitions for
|
97 | 100 | * certain keys that may be missing from the terminal database
|
@@ -275,6 +278,8 @@ typedef int (*ph_pqc_f) (unsigned short, PhCursorInfo_t *);
|
275 | 278 | static key_define_t mc_default_keys[] = {
|
276 | 279 | {ESC_CHAR, ESC_STR, MCKEY_ESCAPE},
|
277 | 280 | {ESC_CHAR, ESC_STR ESC_STR, MCKEY_NOACTION},
|
| 281 | + {MCKEY_BRACKETED_PASTING_START, ESC_STR "[200~", MCKEY_NOACTION}, |
| 282 | + {MCKEY_BRACKETED_PASTING_END, ESC_STR "[201~", MCKEY_NOACTION}, |
278 | 283 | {0, NULL, MCKEY_NOACTION},
|
279 | 284 | };
|
280 | 285 |
|
@@ -2145,7 +2150,17 @@ tty_get_event (struct Gpm_Event *event, gboolean redo_event, gboolean block)
|
2145 | 2150 | {
|
2146 | 2151 | /* Mouse event */
|
2147 | 2152 | xmouse_get_event (event, c == MCKEY_EXTENDED_MOUSE);
|
2148 |
| - return (event->type != 0) ? EV_MOUSE : EV_NONE; |
| 2153 | + c = (event->type != 0) ? EV_MOUSE : EV_NONE; |
| 2154 | + } |
| 2155 | + else if (c == MCKEY_BRACKETED_PASTING_START) |
| 2156 | + { |
| 2157 | + bracketed_pasting_in_progress = TRUE; |
| 2158 | + c = EV_NONE; |
| 2159 | + } |
| 2160 | + else if (c == MCKEY_BRACKETED_PASTING_END) |
| 2161 | + { |
| 2162 | + bracketed_pasting_in_progress = FALSE; |
| 2163 | + c = EV_NONE; |
2149 | 2164 | }
|
2150 | 2165 |
|
2151 | 2166 | return c;
|
@@ -2250,3 +2265,22 @@ application_keypad_mode (void)
|
2250 | 2265 | }
|
2251 | 2266 |
|
2252 | 2267 | /* --------------------------------------------------------------------------------------------- */
|
| 2268 | + |
| 2269 | +void |
| 2270 | +enable_bracketed_paste (void) |
| 2271 | +{ |
| 2272 | + printf (ESC_STR "[?2004h"); |
| 2273 | + fflush (stdout); |
| 2274 | +} |
| 2275 | + |
| 2276 | +/* --------------------------------------------------------------------------------------------- */ |
| 2277 | + |
| 2278 | +void |
| 2279 | +disable_bracketed_paste (void) |
| 2280 | +{ |
| 2281 | + printf (ESC_STR "[?2004l"); |
| 2282 | + fflush (stdout); |
| 2283 | + bracketed_pasting_in_progress = FALSE; |
| 2284 | +} |
| 2285 | + |
| 2286 | +/* --------------------------------------------------------------------------------------------- */ |
0 commit comments