It seems there is a bit of discrepancy between Xterm.js's encoding of mouse coordinates and blessed.js's decoding when the coordinate is greater than 127. When the coordinate is greater than 127 (7bits), Xterm.js encodes it using two characters whereas blessed.js assumes just one. Furthermore, Xterm.js uses at most 11 bits for encoding. After changing the limit to 255 in Xterm.js compatibility is restored :)
After reading the spec I am not sure who is right.
I am leaving the 'Details' and 'Step to reproduce' sections blank as I don't think they are relevant here.
Let me know if you need more information,
John.
In this sort of case I think it's best to see what other terminal emulators do such as iTerm2, Terminal.app, gnome-terminal, konsole, etc.
Btw the xterm spec notes several mouse tracking protocols, which should all be supported by xterm.js to get the best application coverage:
It is up to the application to choose one of those (I assume blessed uses X10 from your description).
Most helpful comment
Btw the xterm spec notes several mouse tracking protocols, which should all be supported by xterm.js to get the best application coverage:
It is up to the application to choose one of those (I assume blessed uses X10 from your description).