#DOCUMENTATION by cg
class: VT100TerminalView
removed: #autoMargin:
comment/format in:8 methods
changed: #processStateGotCSI2:
--- a/VT100TerminalView.st Tue Sep 13 16:49:53 2016 +0200
+++ b/VT100TerminalView.st Tue Sep 13 16:50:00 2016 +0200
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"
COPYRIGHT (c) 1998 by eXept Software AG
All Rights Reserved
@@ -161,9 +163,8 @@
[see also:]
VT52TerminalView
TelnetTool
+ http://vt100.net/docs/vt220-rm/chapter4.html
"
-
-
! !
!VT100TerminalView methodsFor:'defaults'!
@@ -278,12 +279,6 @@
"Created: / 10.6.1998 / 14:49:30 / cg"
!
-autoMargin:aBoolean
- "set/clear autowrap at end of line (not yet implemented)"
-
- autoWrapFlag := aBoolean
-!
-
clearLines:arg
"Clear some part of the current line, as indicated by the first parameter:
0 - clear to EOL
@@ -856,11 +851,13 @@
!
processState0:char
- " change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char in initial state
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
char codePoint < 32 ifTrue:[
(char == Character esc) ifTrue:[
@@ -938,11 +935,13 @@
!
processStateGotCSI2:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after 'ESC [ ?' (CSI ?)
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
char == $; ifTrue: [
currentParam := (currentParam + 1) min: 8.
@@ -955,35 +954,47 @@
TraceCSI == true ifTrue:[ self traceCSI:char ].
(char == $l or:[char == $h]) ifTrue: [
- "/ (parameters at: 1) = 1 ifTrue: [app_cur_keys:(char == $h)].
- "/ (parameters at: 1) = 2 ifTrue: [mode132:(char == $h)].
- "/ (parameters at: 1) = 4 ifTrue: [smoothScroll:(char == $h)].
- "/ (parameters at: 1) = 5 ifTrue: [reverseVideo:(char == $h)].
- "/ (parameters at: 1) = 6 ifTrue: [decom:(char == $h)].
+ "/ (parameters at: 1) = 1 ifTrue: [app_cur_keys:(char == $h) "DECCKM"].
+ "/ (parameters at: 1) = 2 ifTrue: [vt52mode:(char == $l) "DECANM"].
+ "/ (parameters at: 1) = 3 ifTrue: [mode132:(char == $h) "DECCOLM"].
+ "/ (parameters at: 1) = 4 ifTrue: [smoothScroll:(char == $h) "DECSCLM"].
+ "/ (parameters at: 1) = 5 ifTrue: [reverseVideo:(char == $h) "DECSCNM"].
+ "/ (parameters at: 1) = 6 ifTrue: [originMode:(char == $h) "DECOM"].
+ "/ (parameters at: 1) = 8 ifTrue: [autoKbdRepeat:(char == $h) "DECARM"].
+ "/ (parameters at: 1) = 25 ifTrue: [cursorVisible:(char == $h) "DECTCEM"].
self endEntry.
- (parameters at: 1) = 7 ifTrue: [self autoMargin:(char == $h)].
+ (parameters at: 1) = 7 ifTrue: [self autoMargin:(char == $h) "DECAWM"].
^ #sequenceComplete
].
+ (char == $n) ifTrue: [
+ "/ (parameters at: 1) = 15 ifTrue: [ ... ]. -- What is the printer status?
+ "/ (parameters at: 1) = 25 ifTrue: [ ... ]. -- Are user-defined keys locked or unlocked?
+ "/ (parameters at: 1) = 26 ifTrue: [ ... ]. -- What is the keyboard language?
+ ].
^ #unknown
!
processStateGotCSI3:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after 'ESC ('
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
TraceCSI == true ifTrue:[ self traceCSI:char ].
^ #unknown
!
processStateGotCSI:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after 'ESC> [' (CSI)
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
char == $? ifTrue: [
state := #gotCSI2.
@@ -1129,11 +1140,13 @@
!
processStateGotESC:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after ESC
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
char == $[ ifTrue: [
"/ ESC-[
@@ -1213,11 +1226,13 @@
!
processStateGotReturn:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after CR
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
state := 0.
char == Character nl ifTrue:[
@@ -1238,11 +1253,13 @@
!
processStateGotXTERMCSI2:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after 'ESC ] ;'
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
char == (Character value:7) ifTrue: [
TraceCSI == true ifTrue:[ self traceCSI:char ].
@@ -1256,11 +1273,13 @@
!
processStateGotXTERMCSI:char
-" change state or processing character; return
- #waitForNextChar - state was changed and wait for next characters
- #sequenceComplete - command processed
- #unknown - unknown character for this state
-"
+ "next char after 'ESC ]'
+ change state or processing character;
+ return
+ #waitForNextChar - state was changed and wait for next characters
+ #sequenceComplete - command processed
+ #unknown - unknown character for this state
+ "
char == $; ifTrue:[
currentParam := (currentParam + 1) min: 8.