* fhandler_console.cc (write_console): Check for VT100

graphics mode and transform wide characters in ASCII small
	letter range to corresponding graphics.
	(__vt100_conv): Table to transform small ASCII letters to line
	drawing graphics for use in VT100 graphics mode.
	(write_normal): Check for SO/SI control characters to
	enable/disable VT100 graphics mode.
	(base_chars): Enable SO/SI control characters for detection.
	(write): Check for ESC ( 0 / ESC ( B escape sequences to
	enable/disable VT100 graphics mode. Also detect ">" while
	parsing ESC [ sequences to distinguish specific requests.
	(char_command): Distinguish Secondary from Primary Device Attribute
	request to report more details about cygwin console terminal version.
	* fhandler.h (vt100_graphics_mode_active): New flag to indicate mode.
	(saw_greater_than_sign): New parse flag for ESC [ > sequences.
	(gotparen, gotrparen): New state values to parse ESC ( / ) sequences.

	* fhandler_console.cc (read): Allow combined Alt-AltGr modifiers
	to also produce an ESC prefix like a plain Alt modifier, e.g. to make
	Alt-@ work on a keyboard where @ is AltGr-q.
This commit is contained in:
Corinna Vinschen
2009-12-19 15:37:10 +00:00
parent d954168ddb
commit 8fd4bd2bf1
3 changed files with 127 additions and 11 deletions

View File

@@ -889,6 +889,8 @@ enum ansi_intensity
#define gotcommand 5
#define gettitle 6
#define eattitle 7
#define gotparen 8
#define gotrparen 9
#define MAXARGS 10
class dev_console
@@ -904,6 +906,8 @@ class dev_console
int nargs_;
unsigned rarg;
bool saw_question_mark;
bool saw_greater_than_sign;
bool vt100_graphics_mode_active;
bool alternate_charset_active;
bool metabit;