<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 鍵盤應(yīng)用程序設(shè)計(jì)

          鍵盤應(yīng)用程序設(shè)計(jì)

          作者: 時(shí)間:2012-04-16 來源:網(wǎng)絡(luò) 收藏

          使用的編碼系統(tǒng)不能只做簡單的解釋。這些碼可能是一個(gè)字節(jié)或兩個(gè)字節(jié),在碼中是字符碼還是硬件控制碼之間不存在簡單的對(duì)應(yīng)關(guān)系。甚至組合鍵入碼并不都生成惟一的碼,必須特別小心將它們區(qū)分。無論是ASCII碼還是擴(kuò)展碼都不是以一種能優(yōu)化測(cè)試和錯(cuò)檢的方式加以一致地編號(hào)的。因此,輸入例程可能比較雜亂一些。
          當(dāng)程序同時(shí)接受鼠標(biāo)和控制時(shí),鍵盤輸入例程必須擴(kuò)展成通用“事件循環(huán)”處理程序。程序不再只是等下一次擊鍵且做出響應(yīng)。而是當(dāng)確定有一個(gè)鍵入碼后才調(diào)用鍵盤輸入例程。,否則它一直監(jiān)視鼠標(biāo)位置及按鈕狀態(tài)。

          通用鍵盤輸入例程
          本例是使用一些標(biāo)志判斷例程在某一時(shí)刻是否接受某類輸入。這些標(biāo)志使一個(gè)程序可按手頭任務(wù)的需要調(diào)用輸入例程。
          中斷號(hào)16h 的功能0在緩沖區(qū)中無碼時(shí)等待鍵入,鼠標(biāo)軟件不能以這種方式準(zhǔn)止其運(yùn)行,不須不斷地查詢鼠標(biāo)驅(qū)動(dòng)程序,尋找鼠標(biāo)坐標(biāo)和按鈕狀態(tài)變化。
          例8-13 中調(diào)用鍵盤輸入函數(shù)之前先調(diào)用中斷16h的功能1(101鍵選用功能11h),查明是否有鍵入碼,若沒有,跳過功能0的調(diào)用控制轉(zhuǎn)向鼠標(biāo)輸入碼。在鍵盤緩沖區(qū)中有字符時(shí),功能1和功能11h清除處理器的0標(biāo)志。

          例8-13的流程

          Ctrl + Break例程
          在鍵盤中斷探測(cè)到〈Ctrl + Break〉組合時(shí),中斷設(shè)置一個(gè)標(biāo)志,指示需要啟動(dòng)〈Ctrl + Break〉例程。一般情況下,只有標(biāo)準(zhǔn)DOS輸入輸出功能能探測(cè)到Ctrl + Break(除功能6和功能7中斷21h功能1至C)。
          例8-14是使用匯編語言說明一個(gè)Ctrl + Break例程。它使用中斷21h的功能4Ch終止一個(gè)程序。

          DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY




          關(guān)鍵詞: 鍵盤 應(yīng)用程序

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();