bob@uhmanoa.UUCP (Bob Cunningham) (09/16/86)
I'm looking for ways to automatically identify a fairly wide variety of terminals...a technique which if it failed could then fall into a routine that asked the user what was being used. So, I'm collecting ideas on how to identify various terminals by sending various sorts of escape or control sequences. Here is my preliminary list of terminal responses to the ANSI "Device Attributes" code which is: ESC [ P 0 c or, because the ANSI spec allows the zero to be dropped: ESC [ P c Except as noted, most of these terminals also respond in the same way to the older DEC "identify" command sequence: ESC Z Note: "ESC" means the escape character, spaces appear below for clarity only, an actual space would be coded "SP". response string terminal ESC / Z vt52 (response to ESC Z only) ESC [ = 1 ; 1 c Concept (one graphics page) ESC [ = 1 ; 2 c Concept (two graphics pages) ESC [ ? 1 0 c la100 or la120 ESC [ ? 1 2 ; 7 0 ; 102 c DEC PRO 350 in vt125 mode ESC [ ? 1 3 c lqp02 ESC [ ? 1 ; 0 c vt100, no options ESC [ ? 1 ; 1 c vt100, STP ESC [ ? 1 ; 1 1 c vt100, AC option? ESC [ ? 1 ; 2 c vt100, AVO (usual vt100) ESC [ ? 1 ; 3 c vt100, AVO & STP ESC [ ? 1 ; 4 c vt100, GPO ESC [ ? 1 ; 5 c vt100, GPO & STP ESC [ ? 1 ; 6 c vt100, GPO & AVO ESC [ ? 1 ; 7 c vt100, GPO, STP & AVO ESC [ ? 2 6 c ln03 ESC [ ? 6 2 ; 1 ; 2 ; 6 ; 7 ; 8 c vt220 ESC [ ? 6 c vt102 ESC [ ? 7 c vt131 ESC [ ? 8 c TeleVideo 970 (some of those are from Mike Cooper's qterm program, others I've come across myself.) The TeleVideo 910 thru 950 models don't understand the ANSI DA or ESC Z inquiry, but it doesn't seem to affect them to send it. One way to check for those terminals as a group would be to send "ESC ?" which should return two characters indicating cursor row/column...whie being a benign string (should be ignored) by most ANSI-type terminals. -- Bob Cunningham cunninghamr%haw.sdscnet@LLL-MFE.ARPA ihnp4!islenet!uhmanoa!bob