新聞中心
linux中的鍵盤輸入讀取技術(shù)是一項(xiàng)非常實(shí)用而且常用的技術(shù),它是用來讀取鍵盤輸入的另一種方法,從而讓用戶可以使用軟件來實(shí)現(xiàn)實(shí)時(shí)的輸入和輸出任務(wù)。

創(chuàng)新互聯(lián)基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供托管服務(wù)器 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
鍵盤輸入讀取技術(shù)在Linux系統(tǒng)中實(shí)現(xiàn)很容易,只需要使用相關(guān)的標(biāo)準(zhǔn)庫和相關(guān)的結(jié)構(gòu)位就可以實(shí)現(xiàn)。
在Linux系統(tǒng)中,鍵盤輸入讀取技術(shù)要做到效率最高,就必須使用非阻塞的方法讀取輸入,那就是使用select函數(shù)。select函數(shù)會(huì)監(jiān)測是否有新的輸入,有了新輸入就會(huì)有相應(yīng)的一些回調(diào)函數(shù)來讀取這些輸入。
具體實(shí)現(xiàn)如下:
首先,定義一個(gè)標(biāo)準(zhǔn)的POSIX描述符,來監(jiān)測終端的輸入情況
int m_MouseFd = 0;
m_MouseFd = open("/dev/input/mice", O_RDONLY);
然后創(chuàng)建一個(gè)新的結(jié)構(gòu)體,它保存著可用文件描述符的集合,以及可讀寫的狀態(tài)。
fd_set m_ReadFds;
FD_ZERO(&m_ReadFds);
FD_SET(m_MouseFd, &m_ReadFds);
然后就是使用select函數(shù),它會(huì)不斷的檢查m_ReadFds中的文件描述符是否可讀
int maxfd = m_MouseFd + 1;
struct timeval timeout;
timeout.tv_sec = 0;
timeout.hv_usec = 0;
int ret = select(maxfd, &m_ReadFds, NULL, NULL, &timeout);
最后,判斷m_MouseFd文件描述符是否可讀,如果可讀,那就可以讀取鍵盤輸入了
if (FD_ISSET(m_MouseFd, &m_ReadFds))
{
// 讀取鍵盤的輸入
read(m_MouseFd, buf, size);
}
以上就是在Linux系統(tǒng)中實(shí)現(xiàn)鍵盤輸入讀取技術(shù)的基本步驟,在實(shí)際開發(fā)中,可以根據(jù)自己的需要來改變代碼實(shí)現(xiàn),讓鍵盤輸入讀取技術(shù)成為你的實(shí)時(shí)輸入輸出工具。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁題目:輸入Linux實(shí)現(xiàn)鍵盤輸入讀取技術(shù)(linux讀取鍵盤)
網(wǎng)頁地址:http://www.dlmjj.cn/article/dhphhsg.html


咨詢
建站咨詢
