Skip to content

v2025.08.15

Compare
Choose a tag to compare
@o-sdn-o o-sdn-o released this 15 Aug 11:33
· 106 commits to master since this release
a9595a3

GitHub all current

Known issues

Vtm sometimes crashes when multiple users connect to the desktop (fixed in v2025.08.17). May be related to #789.

Changes

  • Make vt-input-mode mouse reporting better (could be enabled for test by printf "\e_vtm.terminal.EventReporting('mouse')\a").

The mouse event message now has the following format (changes affected scrolling):

ESC _ event=mouse ; id=<ID> ; kbmods=<KeyMods> ; coor=<X>,<Y> ; buttons=<ButtonState> ; iscroll=<DeltaX>,<DeltaY> ; fscroll=<DeltaX>,<DeltaY> ST

where:

  • id=<ID>
    Device group id (unsigned integer).
  • kbmods=<KeyMods>
    Keyboard modifiers bit field (unsigned integer).
  • coor=<X>,<Y>
    32-bit floating point coordinates of the mouse pointer relative to the console's text cell grid. The integer part corresponds to the cell coordinates, and the fractional part corresponds to the normalized position within the cell. The pointer's screen pixel coordinates can be calculated by multiplying these floating point values by the cell size. Receiving a NaN value is a signal that the mouse has left the window or disconnected.
  • buttons=<ButtonState>
    Mouse buttons bit field (unsigned integer).
  • iscroll=<DeltaX>,<DeltaY>
    Horizontal and vertical low-resolution scroll deltas in form of signed integers (one scroll line corresponds to a value of 1). Low-resolution scroll deltas increase as the values of high-resolution deltas accumulate, and are zeroed when the scroll direction changes.
  • fscroll=<DeltaX>,<DeltaY>
    Horizontal and vertical high-resolution scroll deltas in form of 32-bit floating-point values (one scroll line corresponds to a value of 1.0f).

We use HEX-form of the uint32 for the 32-bit floating point value representation (IEEE-754 32-bit binary float). For example, the floating point value 3.1415f is represented as the unsigned integer in hex 40490E56 (decimal 1078529622).