Skip to content
  • Rob Swindell's avatar
    Use Synchronet's built-in mouse tracking support · 80a30d17
    Rob Swindell authored
    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.
    80a30d17