The report protocol stored in vc_report_mouse is not a bitmask, the protocols are mutually exclusive, last one wins. Values are chosen to maximize compatibility.
Signed-off-by: Tammo Block <tammo.bl...@gmail.com> --- drivers/tty/vt/vt.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 48a8199f7845..d52ac57034e0 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c @@ -1890,13 +1890,22 @@ static void set_mode(struct vc_data *vc, int on_off) clr_kbd(vc, decarm); break; case 9: - vc->vc_report_mouse = on_off ? 1 : 0; + vc->vc_report_mouse = on_off ? TIOCL_REPORTBTNPRESS : 0; break; case 25: /* Cursor on/off */ vc->vc_deccm = on_off; break; case 1000: - vc->vc_report_mouse = on_off ? 2 : 0; + vc->vc_report_mouse = on_off ? TIOCL_REPORTRELEASE : 0; + break; + case 1002: + vc->vc_report_mouse = on_off ? TIOCL_REPORTDRAG : 0; + break; + case 1003: + vc->vc_report_mouse = on_off ? TIOCL_REPORTANYMOVE : 0; + break; + case 1006: + vc->vc_proto_mouse = on_off ? 1 : 0; break; } } else { -- 2.27.0