Xterm.js: Encodage de la coordonnée de la souris par Xterm.js

Créé le 21 juil. 2017  ·  3Commentaires  ·  Source: xtermjs/xterm.js


Il semble qu'il y ait un peu de différence entre l' encodage des coordonnées de la souris par Xterm.js et le décodage de blessed.js lorsque la coordonnée est supérieure à 127. Lorsque la coordonnée est supérieure à 127 (7 bits), Xterm.js l'encode en utilisant deux caractères alors que béni .js n'en suppose qu'un seul. De plus, Xterm.js utilise au plus 11 bits pour l'encodage. Après avoir modifié la limite à 255 dans Xterm.js, la compatibilité est restaurée :)

Après avoir lu les spécifications, je ne sais pas qui a raison.

Je laisse les sections "Détails" et "Étape à reproduire" vides car je ne pense pas qu'elles soient pertinentes ici.

Faites-moi savoir si vous avez besoin de plus d'informations,

John.

Détails

  • Navigateur et version du navigateur :
  • Version du système d'exploitation :
  • version de xterm.js :

Étapes à reproduire



    1. 2.
aremouse-support typbug

Commentaire le plus utile

D'ailleurs, la spécification xterm note plusieurs protocoles de suivi de souris, qui devraient tous être pris en charge par xterm.js pour obtenir la meilleure couverture d'application :

  • X10 (ancienne norme avec prise en charge de portée limitée, les coordonnées sont limitées à 256-33)
  • 1005 : encodé en UTF-8 (essentiellement le même que X10 mais les coordonnées sont encodées en UTF-8, donc une plus grande plage possible)
  • 1006 : encodé SGR (coords en tant que paramètres SGR décimaux, le relâchement par rapport à la pression est codé par 'm' contre 'M')
  • 1015 : URXVT codé (presque le même que SGR, la libération est codée par des définitions de boutons séparées)

C'est à l'application de choisir l'un d'entre eux (je suppose que béni utilise X10 d'après votre description).

Tous les 3 commentaires

Dans ce genre de cas, je pense qu'il est préférable de voir ce que font les autres émulateurs de terminaux tels que iTerm2, Terminal.app, gnome-terminal, konsole, etc.

D'ailleurs, la spécification xterm note plusieurs protocoles de suivi de souris, qui devraient tous être pris en charge par xterm.js pour obtenir la meilleure couverture d'application :

  • X10 (ancienne norme avec prise en charge de portée limitée, les coordonnées sont limitées à 256-33)
  • 1005 : encodé en UTF-8 (essentiellement le même que X10 mais les coordonnées sont encodées en UTF-8, donc une plus grande plage possible)
  • 1006 : encodé SGR (coords en tant que paramètres SGR décimaux, le relâchement par rapport à la pression est codé par 'm' contre 'M')
  • 1015 : URXVT codé (presque le même que SGR, la libération est codée par des définitions de boutons séparées)

C'est à l'application de choisir l'un d'entre eux (je suppose que béni utilise X10 d'après votre description).

Voir bug mc et premier commentaire 2662 et bug 2956 .

tl;dr : IMO implémente la valeur par défaut (fonctionne jusqu'aux coordonnées 223 ; la coordonnée est toujours codée sur un seul octet même en UTF-8, c'est-à-dire que le flux n'est pas valide en UTF-8) et le mode SGR 1006, oubliez l'autre deux :)

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

tandatle picture tandatle  ·  3Commentaires

Mlocik97-issues picture Mlocik97-issues  ·  3Commentaires

fabiospampinato picture fabiospampinato  ·  4Commentaires

Tyriar picture Tyriar  ·  4Commentaires

albinekb picture albinekb  ·  4Commentaires