Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

104
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

0

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

over 4 years ago · Santiago Trujillo Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda