新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 鍵盤應用程序設計

        鍵盤應用程序設計

        作者: 時間:2012-04-16 來源:網絡 收藏

        使用的編碼系統不能只做簡單的解釋。這些碼可能是一個字節或兩個字節,在碼中是字符碼還是硬件控制碼之間不存在簡單的對應關系。甚至組合鍵入碼并不都生成惟一的碼,必須特別小心將它們區分。無論是ASCII碼還是擴展碼都不是以一種能優化測試和錯檢的方式加以一致地編號的。因此,輸入例程可能比較雜亂一些。
        當程序同時接受鼠標和控制時,鍵盤輸入例程必須擴展成通用“事件循環”處理程序。程序不再只是等下一次擊鍵且做出響應。而是當確定有一個鍵入碼后才調用鍵盤輸入例程。,否則它一直監視鼠標位置及按鈕狀態。

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

        例8-13的流程

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

        DIY機械鍵盤相關社區:機械鍵盤DIY




        關鍵詞: 鍵盤 應用程序

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平阳县| 聂荣县| 肃南| 德兴市| 达拉特旗| 阿荣旗| 天峨县| 托里县| 太湖县| 沾化县| 江门市| 曲麻莱县| 尚义县| 松原市| 汉川市| 漯河市| 兴山县| 徐闻县| 郓城县| 营口市| 玛纳斯县| 合作市| 望谟县| 安义县| 固阳县| 斗六市| 龙海市| 万山特区| 辉县市| 靖远县| 中牟县| 夹江县| 莱州市| 灌阳县| 乌恰县| 大宁县| 蛟河市| 泰来县| 招远市| 永定县| 莱西市|