mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-04 07:15:29 -04:00
terminal: fix encoding of mouse buttons 6 and 7 in mouse events
These two buttons were encoded using the *exact* same numbers as
button 4 and 5 (scroll wheel up/down), making it impossible to
distinguish them.
The relevant section from XTerm’s control sequences documentation is:
Some wheel mice can send additional button events, e.g., by tilting the
scroll wheel left and right.
Additional buttons are encoded like the wheel mice,
o by adding 64 (for buttons 6 and 7), or
o by adding 128 (for buttons 8 through 11).
This commit is contained in:
parent
e642373658
commit
000ddd900a
2 changed files with 2 additions and 5 deletions
|
|
@ -82,6 +82,7 @@
|
||||||
* Sixel “current geometry” query response not being bounded by the
|
* Sixel “current geometry” query response not being bounded by the
|
||||||
current window dimensions (fixes `lsix` output)
|
current window dimensions (fixes `lsix` output)
|
||||||
* Crash on keyboard input when repeat rate was zero (i.e. no repeat).
|
* Crash on keyboard input when repeat rate was zero (i.e. no repeat).
|
||||||
|
* Wrong button encoding of mouse buttons 6 and 7 in mouse events.
|
||||||
|
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
|
||||||
|
|
@ -2366,14 +2366,10 @@ encode_xbutton(int xbutton)
|
||||||
case 1: case 2: case 3:
|
case 1: case 2: case 3:
|
||||||
return xbutton - 1;
|
return xbutton - 1;
|
||||||
|
|
||||||
case 4: case 5:
|
case 4: case 5: case 6: case 7:
|
||||||
/* Like button 1 and 2, but with 64 added */
|
/* Like button 1 and 2, but with 64 added */
|
||||||
return xbutton - 4 + 64;
|
return xbutton - 4 + 64;
|
||||||
|
|
||||||
case 6: case 7:
|
|
||||||
/* Same as 4 and 5. Note: the offset should be something else? */
|
|
||||||
return xbutton - 6 + 64;
|
|
||||||
|
|
||||||
case 8: case 9: case 10: case 11:
|
case 8: case 9: case 10: case 11:
|
||||||
/* Similar to 4 and 5, but adding 128 instead of 64 */
|
/* Similar to 4 and 5, but adding 128 instead of 64 */
|
||||||
return xbutton - 8 + 128;
|
return xbutton - 8 + 128;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue