键盘应用程序设计
键盘使用的编码系统不能只做简单的解释。这些码可能是一个字节或两个字节,在码中是字符码还是硬件控制码之间不存在简单的对应关系。甚至组合键入码并不都生成惟一的码,必须特别小心将它们区分。无论是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终止一个程序。
如何使用Quicktime从计算机录制音频
地产商跨界进军新能源汽车领域,开启向新能源汽车产业转型之路
一文详解CCIX规范
太阳能LED街灯解决方案
二阶RC滤波器的传递函数表
键盘应用程序设计
vivo游戏嘉年华广州站收官:花样宠粉,游戏服务深入玩家
销售AGILENT16339A,AGILENT16092A,
中国工程院院士最新论文:我国海洋监测仪器&传感器仍在“卡脖子”
一文读懂C51单片机指针变量
什么是JScript?
印度政府已禁用我国224款APP,并且数量将继续上涨
旷视科技欲重启IPO计划,获阿里注资
如何使用springboot+vue搭建个人网站2
苹果Mac欲采用Arm架构处理器 台积电或将因此受惠
GSMA公布2020 MWC上海最新信息
基于传感器网络的网络中心战构建模型研究
半导体试图尝试智能眼镜 关键技术还存在挑战
什么是Token通证经济
美光出货全球最先进的1β技术节点DRAM