Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
Ocultar el cursor en el modo Xterm Tektronix 4014

Escribí el siguiente programa para probar el modo Xterm Tektronix 4014:

 #define _BSD_SOURCE #include <stdio.h> #include <assert.h> #include <unistd.h> #define GS ((char)0x1D) #define ESC ((char)0x1B) #define FF ((char)0x0C) static void xy (int x, int y, char* restrict xy) { xy[3] = (x % 32) + 64; // x low xy[2] = (x >> 5) + 32; // x high xy[1] = (y % 32) + 96; // y low xy[0] = (y >> 5) + 32; // y high assert (x == 32 * (xy[2] - 32) + xy[3] - 64); assert (y == 32 * (xy[0] - 32) + xy[1] - 96); } static void enter_graphic () { printf("%c", GS); } static void leave_graphic () { printf("\n"); } static char pt[] = { ESC, 0, 0, 0, 0, 0, 0 }; /* This function is NOT threadsafe! (but why should it be ...) */ static void line_to (int x, int y, char pattern) { pt[1] = pattern ? pattern : '`'; xy(x, y, pt + 2); printf("%s", pt); } static void clear () { printf("%c%c", ESC, FF); } static void randgrph (int dx, int dy) { int x, y; enter_graphic (); for (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++j) { x = (x + 7) % 200; y = (y + 39) % 200; line_to(x + dx, y + dy, 'b'); } } leave_graphic(); } int main (void) { int i, j; for (i = 0; i < 200; ++i) { for (j = 0; j < 200; ++j) { clear(); randgrph(i, j); usleep(1000000/25); } } }

Esto parece que funciona bien. xy crea un par de coordenadas y line_to dibuja una línea. Esto borrará la pantalla, dibujará algunas líneas de puntos, en un bucle. Al menos en Xterm, parece "animado" (supongo que un Tektronix real no sería lo suficientemente rápido, pero es solo para probar).

Sin embargo: siempre muestra el cursor de texto. ¿Cómo puedo evitar que lo haga? No pude encontrar una secuencia de control Tek para ocultar el cursor de texto, solo hay posibilidades de ocultar el cursor gráfico, que de todos modos no se muestra en xterm.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

La solución fue que el terminal de control debe configurarse para que no haga eco de la entrada. Esto se puede hacer con noecho() de libncurses .

over 4 years ago · Santiago Trujillo Denunciar

0

La secuencia VT100 ESC [ ? 2 5 l podría funcionar.

over 4 years ago · Santiago Trujillo Denunciar

0

Los escapes VT100 no se aplican a la pantalla Tek4014. Tek4014 tiene solo dos modos de cursor:

  • normal (la flecha)
  • modo GIN de gráficos (también conocido como cursor en forma de cruz).

El cursor de gráficos se activa mediante una secuencia de escape escape control Z y se desactiva mediante un clic del mouse, por ejemplo, la acción gin-press utilizada en el recurso de translations .

Para referencia:

  • Modo Tektronix 4014 (secuencias de control XTerm)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda