浏览代码

Add SI and SO control codes

SI and SO allows change the G0 and G1 selection. This implementation is not
full vt100 compatible, but it is complatible with linux virtual terminal
implementation. For full vt100 compatibility we need remake a lot of stuff
relate to the different charmaps.
---
 st.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero 12 年之前
父节点
当前提交
034dc71fb8
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      st.c

+ 5 - 2
st.c

@@ -1814,9 +1814,12 @@ tputc(char *c, int len) {
 		csireset();
 		csireset();
 		term.esc = ESC_START;
 		term.esc = ESC_START;
 		return;
 		return;
-	case '\016':	/* XXX: SO */
-	case '\017':	/* XXX: SI */
+	case '\016':	/* SO */
+		term.c.attr.mode |= ATTR_GFX;
 		break;
 		break;
+	case '\017':	/* SI */
+		term.c.attr.mode &= ~ATTR_GFX;
+		return;
 	case '\032':	/* SUB */
 	case '\032':	/* SUB */
 	case '\030':	/* CAN */
 	case '\030':	/* CAN */
 		csireset();
 		csireset();