mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:27:44 +00:00
LibVT: Implement Device Status Report (cursor position report)
This commit is contained in:
parent
8286f8b996
commit
2663739db1
2 changed files with 14 additions and 1 deletions
|
@ -704,6 +704,12 @@ void Terminal::execute_escape_sequence(u8 final)
|
||||||
case 'f':
|
case 'f':
|
||||||
HVP(params);
|
HVP(params);
|
||||||
break;
|
break;
|
||||||
|
case 'n':
|
||||||
|
if (params.size() == 1 && params[0] == 6)
|
||||||
|
DSR();
|
||||||
|
else
|
||||||
|
dbg() << "Unknown CSIxn command";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
dbgprintf("Terminal::execute_escape_sequence: Unhandled final '%c'\n", final);
|
dbgprintf("Terminal::execute_escape_sequence: Unhandled final '%c'\n", final);
|
||||||
break;
|
break;
|
||||||
|
@ -806,6 +812,12 @@ void Terminal::RI()
|
||||||
CUU({});
|
CUU({});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Terminal::DSR()
|
||||||
|
{
|
||||||
|
// Device Status Report (cursor position query)
|
||||||
|
emit_string(String::format("\033[%d;%dR", m_cursor_row + 1, m_cursor_column + 1));
|
||||||
|
}
|
||||||
|
|
||||||
void Terminal::on_char(u8 ch)
|
void Terminal::on_char(u8 ch)
|
||||||
{
|
{
|
||||||
#ifdef TERMINAL_DEBUG
|
#ifdef TERMINAL_DEBUG
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/String.h>
|
|
||||||
#include <AK/NonnullOwnPtrVector.h>
|
#include <AK/NonnullOwnPtrVector.h>
|
||||||
|
#include <AK/String.h>
|
||||||
#include <AK/Vector.h>
|
#include <AK/Vector.h>
|
||||||
#include <LibVT/Position.h>
|
#include <LibVT/Position.h>
|
||||||
|
|
||||||
|
@ -178,6 +178,7 @@ private:
|
||||||
void NEL();
|
void NEL();
|
||||||
void IND();
|
void IND();
|
||||||
void RI();
|
void RI();
|
||||||
|
void DSR();
|
||||||
|
|
||||||
TerminalClient& m_client;
|
TerminalClient& m_client;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue