2012-11-27 68 views
1

我用JavaScript實現VT100終端仿真器和VT100規格(從man terminfoinfocmp)告訴我,smkx=\E[?1h\E=是進入鍵盤傳送模式的代碼和rmkx=\E[?1l\E>是代碼離開'鍵盤傳輸'模式。我無法真正理解鍵盤傳輸模式是什麼。鍵盤發送模式

http://vt100.net/dec/ek-vt220-tm-001.pdf

7.4.4.1鍵盤發送模式 - 鍵盤代碼和其他一些特殊代碼在的 8051所發送的信號變爲PORT通過串行線路輸出發送從8051到驅動程序,通過鍵盤電纜,顯示器和視頻電纜連接到CPU。內 的8051 UART控制傳輸」

我得到這些代碼,而分別進入和離開vim,我可以放心地忽略這些代碼或者我需要處理?在後一種情況下,那我該怎麼辦?

回答

4

這兩個字符串每個都包含兩個序列;它們控制着微妙不同的東西:

其中第一項,

CSI ? 1h 
CSI ? 1l 

控制DEC私人模式編號1,DECCKM,光標鍵模式。此模式確定四個箭頭鍵(上,下,左,右)是否將發送SS3或CSI前綴序列。

第二序列對,

ESC = 
ESC > 

稱爲DECKPAM,小鍵盤的應用模式,並DECKPNM,小鍵盤數字模式。這決定了數字鍵盤是發送控制序列還是正常數字(即認爲它與Numlock功能類似)。

0

smkx/rmkx控制鍵盤是否將發送號碼或逃避代碼。此外,它是「鍵盤,發送模式」而不是「鍵盤發送模式」