# ifdef FEAT_BIG
# define FEAT_MOUSE_URXVT
# endif
-# ifdef FEAT_BIG
-# define FEAT_MOUSE_SGR
-# endif
# if defined(FEAT_NORMAL) && defined(MSWIN)
# define DOS_MOUSE
# endif
# define FEAT_MOUSE_XTERM
#endif
-/* sgr is a small variation of mouse_xterm, and shares its code */
-#if defined(FEAT_MOUSE_SGR) && !defined(FEAT_MOUSE_XTERM)
-# define FEAT_MOUSE_XTERM
-#endif
-
/* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
#if !defined(FEAT_MOUSE_TTY) \
&& (defined(FEAT_MOUSE_XTERM) \
|| defined(FEAT_MOUSE_JSB) \
|| defined(FEAT_MOUSE_PTERM) \
|| defined(FEAT_SYSMOUSE) \
- || defined(FEAT_MOUSE_URXVT) \
- || defined(FEAT_MOUSE_SGR))
+ || defined(FEAT_MOUSE_URXVT))
# define FEAT_MOUSE_TTY /* include non-GUI mouse support */
#endif
#if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
has_mouse_termcode |= HMT_URXVT;
else
# endif
-# ifdef FEAT_MOUSE_SGR
if (n == KS_SGR_MOUSE)
has_mouse_termcode |= HMT_SGR;
else if (n == KS_SGR_MOUSE_RELEASE)
has_mouse_termcode |= HMT_SGR_REL;
else
-# endif
has_mouse_termcode |= HMT_NORMAL;
# endif
}
has_mouse_termcode &= ~HMT_URXVT;
else
# endif
-# ifdef FEAT_MOUSE_SGR
if (n == KS_SGR_MOUSE)
has_mouse_termcode &= ~HMT_SGR;
else if (n == KS_SGR_MOUSE_RELEASE)
has_mouse_termcode &= ~HMT_SGR_REL;
else
-# endif
has_mouse_termcode &= ~HMT_NORMAL;
# endif
}
if (tp[1 + (tp[0] != CSI)] == '>' && semicols == 2)
{
int need_flush = FALSE;
-# ifdef FEAT_MOUSE_SGR
int is_iterm2 = FALSE;
int is_mintty = FALSE;
// (77 is ASCII 'M' for mintty.)
if (STRNCMP(tp + extra - 3, "77;", 3) == 0)
is_mintty = TRUE;
-# endif
/* if xterm version >= 141 try to get termcap codes */
if (version >= 141)
* 256, libvterm supports even more. */
if (mch_getenv((char_u *)"COLORS") == NULL)
may_adjust_color_count(256);
-# ifdef FEAT_MOUSE_SGR
/* Libvterm can handle SGR mouse reporting. */
if (!option_was_set((char_u *)"ttym"))
set_option_value((char_u *)"ttym", 0L,
(char_u *)"sgr", 0);
-# endif
}
if (version == 95)
is_not_xterm = TRUE;
is_mac_terminal = TRUE;
}
-# ifdef FEAT_MOUSE_SGR
// iTerm2 sends 0;95;0
if (STRNCMP(tp + extra - 2, "0;95;0c", 7) == 0)
is_iterm2 = TRUE;
- else
-# endif
// old iTerm2 sends 0;95;
- if (STRNCMP(tp + extra - 2, "0;95;c", 6) == 0)
+ else if (STRNCMP(tp + extra - 2, "0;95;c", 6) == 0)
is_not_xterm = TRUE;
}
* by the user already. */
if (!option_was_set((char_u *)"ttym"))
{
-# ifdef FEAT_MOUSE_SGR
/* Xterm version 277 supports SGR. Also support
* Terminal.app, iTerm2 and mintty. */
if (version >= 277 || is_iterm2 || is_mac_terminal
|| is_mintty)
set_option_value((char_u *)"ttym", 0L,
(char_u *)"sgr", 0);
- else
-# endif
/* if xterm version >= 95 use mouse dragging */
- if (version >= 95)
+ else if (version >= 95)
set_option_value((char_u *)"ttym", 0L,
(char_u *)"xterm2", 0);
}
# ifdef FEAT_MOUSE_URXVT
|| key_name[0] == KS_URXVT_MOUSE
# endif
-# ifdef FEAT_MOUSE_SGR
|| key_name[0] == KS_SGR_MOUSE
- || key_name[0] == KS_SGR_MOUSE_RELEASE
-# endif
- )
+ || key_name[0] == KS_SGR_MOUSE_RELEASE)
{
is_click = is_drag = FALSE;
*/
for (;;)
{
-#ifdef FEAT_GUI
+# ifdef FEAT_GUI
if (gui.in_use)
{
/* GUI uses more bits for columns > 223 */
+ bytes[4] - ' ' - 1;
}
else
-#endif
+# endif
{
num_bytes = get_bytes_from_buf(tp + slen, bytes, 3);
if (num_bytes == -1) /* not enough coordinates */
/* If the following bytes is also a mouse code and it has
* the same code, dump this one and get the next. This
* makes dragging a whole lot faster. */
-#ifdef FEAT_GUI
+# ifdef FEAT_GUI
if (gui.in_use)
j = 3;
else
-#endif
+# endif
j = termcodes[idx].len;
if (STRNCMP(tp, tp + slen, (size_t)j) == 0
&& tp[slen + j] == mouse_code
&& tp[slen + j + 1] != NUL
&& tp[slen + j + 2] != NUL
-#ifdef FEAT_GUI
+# ifdef FEAT_GUI
&& (!gui.in_use
|| (tp[slen + j + 3] != NUL
&& tp[slen + j + 4] != NUL))
-#endif
+# endif
)
slen += j;
else
}
}
-# if defined(FEAT_MOUSE_URXVT) || defined(FEAT_MOUSE_SGR)
if (key_name[0] == KS_URXVT_MOUSE
|| key_name[0] == KS_SGR_MOUSE
|| key_name[0] == KS_SGR_MOUSE_RELEASE)
* modifier keys (alt/shift/ctrl/meta) state. */
modifiers = 0;
}
-# endif
if (key_name[0] == (int)KS_MOUSE
-#ifdef FEAT_MOUSE_URXVT
+# ifdef FEAT_MOUSE_URXVT
|| key_name[0] == (int)KS_URXVT_MOUSE
-#endif
-#ifdef FEAT_MOUSE_SGR
+# endif
|| key_name[0] == KS_SGR_MOUSE
- || key_name[0] == KS_SGR_MOUSE_RELEASE
-#endif
- )
+ || key_name[0] == KS_SGR_MOUSE_RELEASE)
{
# if !defined(MSWIN)
/*