aboutsummaryrefslogtreecommitdiffstats
path: root/std.c
diff options
context:
space:
mode:
authorrobert <robertrussell.72001@gmail.com>2022-01-08 11:40:34 -0800
committerRomain Gonçalves <me@rgoncalves.se>2024-05-12 21:20:50 +0200
commit7510720b3cd724f09b53891ea31ac9d5ac11abbe (patch)
tree423ab5fe898c56e747d34c1dbc580619b94c2089 /std.c
parent51a1995ad503f72d87ff3032270208aeca4f8f47 (diff)
downloadst-7510720b3cd724f09b53891ea31ac9d5ac11abbe.tar.gz
Fix mousereport
This patch replaces the previous one I sent. The following changes are made in this patch: - Fix tracking of pressed buttons. Previously, pressing two buttons and then releasing one would make st think no buttons are pressed, which in particular broke MODE_MOUSEMOTION. - Always send the lowest-numbered pressed button on motion events; when no button is pressed for a motion event in MODE_MOUSEMANY, then send a release. This matches the behaviour of xterm. (Previously, st sent the most recently pressed button in the motion report.) - Remove UB (?) access to potentially inactive struct member e->xbutton.button of XEvent union. - Fix (unlikely) possibility of overflow for large button numbers. The one discrepancy I found between st and xterm is that xterm sometimes encodes buttons with large numbers (>5) strangely. E.g., xterm reports presses of buttons 8 and 9 as releases, whereas st properly (?) encodes them as presses.
Diffstat (limited to 'std.c')
0 files changed, 0 insertions, 0 deletions
remember that computers suck.