mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
dm: video: support more escape sequences
The EFI subsystems needs to know the size of the terminal. If the environment variable stdout = serial,vidconsole this size cannot be read from the video console. So the EFI subsystem sends escape sequences to read the size. With this patch we get support for the following escape sequences: ESC "7" Save cursor position ESC "8" Restore cursor position Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
committed by
Anatolij Gustschin
parent
5cb4860f3d
commit
662f381aad
@@ -43,20 +43,22 @@ enum color_idx {
|
||||
* Drivers must set up @rows, @cols, @x_charsize, @y_charsize in their probe()
|
||||
* method. Drivers may set up @xstart_frac if desired.
|
||||
*
|
||||
* @sdev: stdio device, acting as an output sink
|
||||
* @xcur_frac: Current X position, in fractional units (VID_TO_POS(x))
|
||||
* @ycur: Current Y position in pixels (0=top)
|
||||
* @rows: Number of text rows
|
||||
* @cols: Number of text columns
|
||||
* @x_charsize: Character width in pixels
|
||||
* @y_charsize: Character height in pixels
|
||||
* @sdev: stdio device, acting as an output sink
|
||||
* @xcur_frac: Current X position, in fractional units (VID_TO_POS(x))
|
||||
* @ycur: Current Y position in pixels (0=top)
|
||||
* @rows: Number of text rows
|
||||
* @cols: Number of text columns
|
||||
* @x_charsize: Character width in pixels
|
||||
* @y_charsize: Character height in pixels
|
||||
* @tab_width_frac: Tab width in fractional units
|
||||
* @xsize_frac: Width of the display in fractional units
|
||||
* @xsize_frac: Width of the display in fractional units
|
||||
* @xstart_frac: Left margin for the text console in fractional units
|
||||
* @last_ch: Last character written to the text console on this line
|
||||
* @escape: TRUE if currently accumulating an ANSI escape sequence
|
||||
* @escape_len: Length of accumulated escape sequence so far
|
||||
* @escape_buf: Buffer to accumulate escape sequence
|
||||
* @last_ch: Last character written to the text console on this line
|
||||
* @escape: TRUE if currently accumulating an ANSI escape sequence
|
||||
* @escape_len: Length of accumulated escape sequence so far
|
||||
* @col_saved: Saved X position, in fractional units (VID_TO_POS(x))
|
||||
* @row_saved: Saved Y position in pixels (0=top)
|
||||
* @escape_buf: Buffer to accumulate escape sequence
|
||||
*/
|
||||
struct vidconsole_priv {
|
||||
struct stdio_dev sdev;
|
||||
@@ -77,6 +79,8 @@ struct vidconsole_priv {
|
||||
*/
|
||||
int escape;
|
||||
int escape_len;
|
||||
int row_saved;
|
||||
int col_saved;
|
||||
char escape_buf[32];
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user