summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ansiesc.c3
-rw-r--r--src/include/ipxe/ansiesc.h6
2 files changed, 8 insertions, 1 deletions
diff --git a/src/core/ansiesc.c b/src/core/ansiesc.c
index 68e7061b3..ca9a73ce0 100644
--- a/src/core/ansiesc.c
+++ b/src/core/ansiesc.c
@@ -99,7 +99,8 @@ int ansiesc_process ( struct ansiesc_context *ctx, int c ) {
DBG ( "Too many parameters in ANSI escape "
"sequence\n" );
}
- } else if ( ( c >= 0x20 ) && ( c <= 0x2f ) ) {
+ } else if ( ( ( c >= 0x20 ) && ( c <= 0x2f ) ) ||
+ ( c == '?' ) ) {
/* Intermediate Byte */
ctx->function <<= 8;
ctx->function |= c;
diff --git a/src/include/ipxe/ansiesc.h b/src/include/ipxe/ansiesc.h
index e84545769..c1c74481d 100644
--- a/src/include/ipxe/ansiesc.h
+++ b/src/include/ipxe/ansiesc.h
@@ -124,6 +124,12 @@ struct ansiesc_context {
*/
#define ANSIESC_LOG_PRIORITY 'p'
+/** Show cursor */
+#define ANSIESC_DECTCEM_SET ( ( '?' << 8 ) | 'h' )
+
+/** Hide cursor */
+#define ANSIESC_DECTCEM_RESET ( ( '?' << 8 ) | 'l' )
+
/** @} */
extern int ansiesc_process ( struct ansiesc_context *ctx, int c );