[terminal]終端仿真程序

  1 char * szCommAry[COMM_NUM]={   
  2     //屏幕屬性命令,23   
  3     "\x1b[12h",//禁止本端回顯,鍵盤數據僅送給主機   
  4     "\x1b[12l",//容許本端回顯,鍵盤數據送給主機和屏幕   
  5     "\x1b[?5h",//屏幕顯示爲白底黑字   
  6     "\x1b[?5l",//顯示爲黑底白字   
  7     "\x1b[?3h",//132列顯示   
  8     "\x1b[?3l",//80列顯示   
  9     "\x1b[?6h",//以用戶指定的滾動區域的首行行首爲參考原點   
 10     "\x1b[?6l",//以屏幕的首行行首爲參考原點   
 11     "\x1b[?7h",//當字符顯示到行末時,自動回到下行行首接着顯示;若是在滾動區域底行行末,則上滾一行再顯示   
 12     "\x1b[?7l",//當字符顯示到行末時,仍在行末光標位置顯示,覆蓋原有的字符,除非接收到移動光標的命令   
 13     "\x1b[?4h",//平滑滾動   
 14     "\x1b[?4l",//跳躍滾動   
 15     "\x1b[/0s",//不滾動   
 16     "\x1b[/1s",//平滑慢滾   
 17     "\x1b[/2s",//跳躍滾動   
 18     "\x1b[/3s",//平滑快滾   
 19     "\x1b[3h",//監督有效,顯示控制符,供程序員調試程序用   
 20     "\x1b[3l",//監督無效,執行控制符,正常運行程序   
 21     "\x1b[0$~",//禁止狀態行(VT300有效   
 22     "\x1b[1$~",//容許狀態行(VT300有效)   
 23     "\x1b[2$~",//主機可寫狀態行(VT300有效)   
 24     "\x1b[0$|",//主機可寫狀態行時,在主屏顯示數據(VT300有效)   
 25     "\x1b[1$|",//主機可寫狀態行時,在狀態行顯示數據(VT300有效)   
 26    
 27     //光標命令,14   
 28     "\x1b[?25h",//光標顯示   
 29     "\x1b[?25l",//光標消隱   
 30     "\x1b[/0j",//閃爍塊光標   
 31     "\x1b[/1j",//閃爍線光標   
 32     "\x1b[/2j",//穩態塊光標   
 33     "\x1b[/3j",//穩態線光標   
 34     "\x1bH",//在當前列上設置製表位   
 35     "\x1b[g",//清除當前列上的製表位   
 36     "\x1b[0g",//清除當前列上的製表位   
 37     "\x1b[3g",//清除全部列上的製表位   
 38     "\x1b\x45",//光標下移1行   
 39     "\x1b\x4d",//光標上移1行   
 40     "\x1b\x37",//保存終端當前狀態   
 41     "\x1b\x38",//恢復上述狀態   
 42    
 43     //行屬性和字符屬性命令,4   
 44     "\x1b#3",//設置當前行爲倍寬倍高(上半部分)   
 45     "\x1b#4",//設置當前行爲倍寬倍高(下半部分)   
 46     "\x1b#5",//設置當前行爲單寬單高   
 47     "\x1b#6",//設置當前行爲倍寬單高   
 48    
 49     //編緝命令,22   
 50     "\x1b[A",    
 51     "\x1b[B",   
 52     "\x1b[C",   
 53     "\x1b[D",   
 54     "\x1b[4h",//插入方式:新顯示字符使光標位置後的原來顯示字符右移,移出邊界的字符丟失。   
 55     "\x1b[4l",//替代方式:新顯示字符替代光標位置字符顯示   
 56     "\x1b[K",//清除光標至行末字符,包括光標位置,行屬性不受影響。   
 57     "\x1b[0K",//清除光標至行末字符,包括光標位置,行屬性不受影響。   
 58     "\x1b[1K",//清除行首至光標位置字符,包括光標位置,行屬性不受影響。   
 59     "\x1b[2K",//清除光標所在行的全部字符   
 60     "\x1b[J",//清除從光標至屏末字符,整行被清的行屬性變成單寬單高   
 61     "\x1b[0J",//清除從光標至屏末字符,整行被清的行屬性變成單寬單高   
 62     "\x1b[1J",//清除從屏首至光標字符,整行被清的行屬性變成單寬單高   
 63     "\x1b[2J",//清除整個屏幕,行屬性變成單寬單高,光標位置不變   
 64     "\x1b[?K",//清除光標至行末的"可清除"字符,不影響其它字符和行屬性   
 65     "\x1b[?0K",//清除光標至行末的"可清除"字符,不影響其它字符和行屬性   
 66     "\x1b[?1K",//清除行首至光標位置的"可清除"字符,不影響其它字符和行屬性   
 67     "\x1b[?2K",//清除光標所在行的全部"可清除"字符,不影響其它字符和行屬性   
 68     "\x1b[?J",//清除從光標至屏末的"可清除"字符,不影響其它字符和行屬性   
 69     "\x1b[?0J",//清除從光標至屏末的"可清除"字符,不影響其它字符和行屬性   
 70     "\x1b[?1J",//清除從屏首至光標的"可清除"字符,不影響其它字符和行屬性   
 71     "\x1b[?2J",//清除整個屏幕中的"可清除"字符,不影響其它字符和行屬性   
 72    
 73     //鍵盤16   
 74     "\x1b[2h",//鎖存鍵盤數據(不超過15個)暫停向主機發送,直到開放爲止。   
 75     "\x1b[2l",//容許鍵盤向主機發送數據。   
 76     "\x1b[?8h",//鍵盤連發有效   
 77     "\x1b[?8l",//鍵盤連發無效   
 78     "\x1b[5h",//擊鍵聲有效   
 79     "\x1b[5l",//擊鍵聲無效   
 80     "\x1b[?1h",//光標鍵產生"應用"控制序列。見鍵盤代碼一節。   
 81     "\x1b[?1l",//光標鍵產生ANSI標準的控制序列。見鍵盤代碼一節。   
 82     "\x1b=",//副鍵盤產生"應用"控制序列。見鍵盤代碼一節。   
 83     "\x1b>",//副鍵盤產生數字等字符序列,PF鍵不變。見鍵盤代碼一節。   
 84     "\x1b[20h",//接收LF、FF或VT控制碼後,光標移至下一行行首;Return鍵發送CR和LF控制碼。   
 85     "\x1b[20l",//接收LF、FF或VT控制碼後,光標移至下一行當前列;Return鍵發送CR控制碼。   
 86     "\x1b[?67h",//做爲退格鍵發送BS。   
 87     "\x1b[?67l",//做爲刪除鍵發送DEL。   
 88     "\x1b[/2h", // 頂排功能鍵做爲應用程序功能使用CTRL功能鍵做爲本端功能鍵使用   
 89     "\x1b[/2l",//頂排功能鍵做爲本端功能鍵使用CTRL功能鍵做爲應用程序功能使用   
 90    
 91        
 92     //打印參數配置3   
 93     // ""   
 94 //  "\x1b\x5b\x35\x69",  //一、五、9 型終端打開並口,關閉用\x1b\x5b\x34\x69   
 95     "\x9b\x35\x69", //二、10 型終端打開並口,關閉用\x9b\x34\x69   
 96     "\x1b[5i",  //三、4 型終端打開並口,關閉用\x1b[4i   
 97    
 98     //狀態報告8   
 99     "\x1b[c",//主設備屬性,詢問 CSI c或CSI 0 c ,//應答 ESC [ ? 1;2c   
100     "\x1b[0c",   
101     "\x1b[>c", //輔助設備屬性  ,詢問 CSI > c或 CSI > 0 c    你配置如何?//應答  CSI > Pp;Pv;Po c    
102     "\x1b[>0c",   
103     "\x1b[5n",//設備狀態    ,//詢問   CSI 5 n 設備狀態正常否?//應答    CSI 0 n 設備狀態正常,CSI 3 n  設備不正常   
104     "\x1b[6n",//光標位置,//詢問   CSI 6 n 如今光標在何處?//應答    CSI Pl;Pc R 光標在Pl行Pc列   
105     "\x1b[?15n",//打印機狀態,//詢問    CSI ? 15 n  打印機狀態如何?//應答    CSI ? 13 n  無打印機(沒開),//CSI ? 10 n   打印機準備好,CSI ? 11 n   打印機未準備好(缺紙、脫機等)   
106     "\x1b[?25n",//自定義鍵狀態    ,//詢問   CSI ? 25 n  自定義功能鍵狀態如何?//應答 CSI ? 20 n  自定義鍵容許,CSI ? 21 n   自定義鍵鎖定   
107     "\x1b[H",//光標移動   
108     "\x1b[m",//字符屬性   
109     "\x1b(B",//指定G0字符集爲ASCII   
110     "\x1b(0",//指定G0字符集爲DEC特殊圖形字符集   
111     "\x1b)B",//指定G1字符集爲ASCII   
112     "\x1b)0",//指定G1字符集爲DEC特殊圖形字符集   
113    
114     //輔口操做   10   
115         //1 型終端   
116     "\x1b[/50h\x1b[/53l\x1b[/54l\x1b!;;;Y", //打開終端輔口1   
117     "\x1b[/50h\x1b[/53l\x1b[/54l\x1b!3;0;0;1Z",  //打開終端輔口2   
118     "\x1b[/50h\x1b[/53l\x1b[/54l\x1b!;;;X",//打開終端輔口3   
119     "\x1b[/53h\x1b[/50l",//關閉終端輔口   
120    
121     "\x1b[/|",//開始發送輔口數據   
122     "\x1b[/51h",//開始發送輔口數據   
123     "\x1b[/M",//關輔口   
124    
125     "\x1b\x25K",//開輔口,發送標誌到輔口,發送該串   
126     "\x1b\x25\x42",//開輔口,發送標誌到輔口,發送該串   
127     "\x1b\x25\x43"//開輔口,發送標誌到輔口,發送該串   
128    
129 };   
130    
131 char * szCommAry1[COMM_NUM1]={   
132     //屏幕屬性  1   
133     "\x1b[\xff\x72",//開窗    CSI Pt;Pb r 設置滾動區域,參數Pt:頂行行號,Pb:末行行號   
134                        
135     //光標      6   
136     "\x1b[\xff\x48",//光標定位  CSI Pl;Pc H或CSI Pl;Pc f光標移動到Pl行Pc列   
137     "\x1b[\xff\x66",//光標定位   
138     "\x1b[\xff\x41",//光標上移Pn行   
139     "\x1b[\xff\x42",//光標下移Pn行   
140     "\x1b[\xff\x43",//光標右移Pn行   
141     "\x1b[\xff\x44",//光標左移Pn行   
142    
143     //編輯      5   
144     "\x1b[\xff\x4c",//插入行   
145     "\x1b[\xff\x4d",//刪除行   
146     "\x1b[\xff\x50",//字符刪除   
147     "\x1b[\xff\x40",//字符插入   
148     "\x1b[\xff\x58",//字符清除   
149    
150     // 打印機   2   
151     "\x1b[\x2f\xff\x74",//打印機型號   
152     "\x1b[\x2f\xff\x78",//圖像放大係數   
153    
154     "\x1b[/\xffM",//打開輔口   
155     "\x1b[/\xff|",   
156     //字符屬性函數    1   
157     "\x1b[\xff\x6d"//CSI Ps;Ps;...m 設置字符顯示屬性,Ps表明某種字符屬性,見表3.1.3.3-2   
158    
159 };  

from: http://read.pudn.com/downloads73/sourcecode/windows/12055/WINCE-VT100/vt100sc/ExecComm.cpp__.htm程序員

相關文章
相關標籤/搜索