程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 2 curses庫IO處理--終端模式設置

2 curses庫IO處理--終端模式設置

編輯:關於C語言

2.2 終端模式設置

=================


2.2.1 ECHO模式

---------------

   * 函數

     int echo() / int noecho()

   * 說明

     1. ECHO模式即回顯模式,ECHO模式用來決定用戶的輸入是否立即回顯


2.2.2 CBREAK模式

-----------------

   * 函數

     int cbreak() / int nocbreak()

   * 說明

     1. CBREAK模式也被成為立即輸入模式,在此模式下,除了DELETE或者CTRL等仍然被視為特殊控制字符外,所有的輸入字符都被一一立即讀取出來.

     2. 默認情況下CBREAK模式是打開的

     3. 在舊版本的curses中,必須使用crmode()和nocrmode()取代cbreak()和nocbreak()


2.2.3 NEWLINE模式

------------------

   * 函數

     int nl() / int nonl()

   * 說明

     NEWLINE模式決定輸入時回車是否為\r\n.輸入時\r\n是否和起來作為一個回車鍵


2.2.4 功能鍵模式

-----------------

   * 函數

     int keypad(WINDOW *win,int flag)

     * 參數說明

       1. win指向需要設置功能鍵模式的窗口

       2. flag為TRUE/FALSE用來指定模式的開啟或關閉

   * 說明

     1. 一般情況下,方向鍵與功能鍵這些特殊字符是無法被wgetch()之類的函數讀取出來的.開啟功能鍵模式之後,特殊字符會被轉化為curses.h內部定義的一些特殊鍵.

     2. curses.h內部定義的特殊鍵一般以KEY_開頭,列表如下

        * KEY_MIN         curses中定義的最小的鍵值

        * KEY_BREAK       break按鍵

        * KEY_DOWN        方向鍵下

        * KEY_UP          方向鍵上

        * KEY_LEFT        方向鍵左

        * KEY_RIGHT       方向鍵右

        * KEY_HOME        home鍵

        * KEY_BACKSPACE   退格鍵

        * KEY_F0          功能鍵F0

        * KEY_F(n)        功能鍵Fn

        * KEY_DL          行刪除鍵

        * KEY_IL          行插入建

        * KEY_DC          字符刪除鍵

        * KEY_IC          字符插入鍵

        * KEY_NPAGE       下一頁

        * KEY_PPAGE       上一頁

        * KEY_END         end鍵

        * KEY_MAX         curses定義的最大鍵值


2.2.5 RAW模式

--------------

   * 函數

     int raw() / int noraw()

   * 說明

     * 用戶的輸入會立即被接受,同時任何特殊字符將不再起作用,取而代之的是產生一個相應的信號

     * 如果同時設置CBREAK和RAW模式,僅有RAW模式其作用


2.2.6 延遲模式

---------------

   * 函數

     int halfdelay(int tenth)

     * 參數說明

       1. tenth指定半延時的時間間隔,單位是10ms

     int nodelay(WINDOW *win,bool bf)

     * 參數說明

       1. win指向需要設置無延遲模式窗口的指針,bf決定開啟或關閉該模式

   * 說明

     * 半延遲模式與cbrak模式非常類似,所有用戶輸如立即被接受,但不同點在於如果一段時間內用戶沒有輸入,則輸入函數立即返回ERR

     * 使用nocbreak()函數可以取消終端的半延時模式

     * 無延遲模式主要用來控制終端的字符輸入. 它使得終端輸入函數由阻塞調用變成非阻塞調用


本文出自 “暗日” 博客,請務必保留此出處http://darksun.blog.51cto.com/3874064/1281961

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved