https://gitlab.synchro.net/main/sbbs/-/commit/8da6013947680646b77ef6ad
Modified Files:
exec/avatar_chooser.js ftn-setup.js exec/load/mouse_getkey.js tree.js exec/xtrn-setup.js xtrn/minesweeper/minesweeper.js
Log Message:
Use Synchronet's built-in mouse tracking support
Synchronet uses "extended normal" mouse reporting for mouse support
(e.g. menu/display file clickable "hot spots"). Many of the JS scripts
that predated Synchronet's own internal mouse support would send their
own mouse-reporting enablement and disablement ANSI sequences and the
terminal could become out of sync with the expectations of the script
(i.e. it would not necessarily disable the mouse modes that had been
set by SBBS before enabling its own preferred mode).
And some scripts (e.g. Synchronet Minesweeper) use a mixture of Synchronet hotspot support and direct mouse click coordinate reporting, so it was a
mess going between different mouse reporting modes at different times in the same script.
This all came to light as a result of the fix for issue #412: using mouse button releases rather than presses to trigger a hotspot.
So mouse_getkey() now has as a separate "release" property it sets in the return value. Right now its always the opposite of "press", but I can imagine some mouse tracking modes where movement might be reported with neither a button press nor release event.
Anyway, Nelgin, give this a try and see if it resolves the issues you were reporting in IRC with avatar chooser mouse support.
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net