- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
做一个支持图形界面的操作系统(下)
让你自己的操作系统支持鼠标 副标题:做一个支持图形界面的操作系统(下) 作者:谢煜波 文章来源:本站原创 点击数: 240 更新时间:2004-10-7 pdf 格式:/Soft/Class9/Class16/200410/67.html源代码:/Soft/Class9/Class16/200410/66.html转载请注明原作者及出处
让你自己的操作系统支持鼠标
——做一个支持图形界面的操作系统(下)
Version 0.01
( 对应 pyos 版本 2004_10_06_15_00 )
?
哈尔滨工业大学 谢煜波
( email:xieyubo@126.com 网址: )
( QQ哈工大紫丁香 BBS ID:iamxiaohan )
?
前言
在上篇中,我们已经了解了怎样显示一个图形界面,包括怎样操作显卡,怎样显示图片,怎样显示中文汉字及英文字符。然而,作为一个完整的图形界面,不光需要显示信息,还需要接受用户输入,而在图形界面中,最重要的输入手段就是通过鼠标进行输入,在这一篇中我们将描述一下怎么样让你自己的操作系统支持鼠标。
由于鼠标存在很多的接口协议,这里我们只对最常用的PS/2协议进行描述。本文主旨在于引导对此感兴趣而又不知怎么下手的朋友,亲自动手进行实验,因此,不会详细描述协议的完整内容,如果你需要了解整个协议内容,你应当去寻找相关文献进行阅读,也可以参考一个本文的参考文献。
本文所描述的内容均基于我自己对此问题的理解,其中定然存在偏差及不当之处,因此,千万别将此文中所描述的内容作为“标准”,如果你一旦发现其中存在的问题,非常欢迎您及时与我联系,我也会在纯C论坛上()及时对其中出现的问题进行反馈。
本次我同样将以pyos为基础进行实验,下面我们先来看看这次实验的最终成果:
这是pyos启动后,等待用户登陆的界面
?
这是用户登陆后的界面,相当于windows的桌面
?
用鼠标的右键可以拖动应用程序图标
?
单击图标可以打开应用程序,这个应用程序是一个推箱子游戏
?
用I,J,K,L四个键可以玩游戏,Esc键或者用鼠标单击窗口标题栏的关闭按钮可以关闭它
?
用鼠标右键拖动窗口的标题栏可以拖动整个窗口,就像windows中一样
?
单击左下角的“关机”按钮,可以退出pyos
?
这是关机后,pyos退出后的界面
?
上面就是本实验的最终实验结果,希望通过阅读此篇实验报告之后,你能完成一个比这更好的实验:)。
本次实验对也是对前几次实验的一个综合,其中用到了《操作系统引导探究》、《保护模式下的8259A芯片编程及中断处理探究(上下)》、《编写操作系统之键盘交互的实现》、《做一个支持图形界面的操作系统(上)》这几篇实验报告中所描述的内容。因此,如果你想更好的理解本实验的内容,可以在纯C论坛上找到上面几篇实验报告进行参考,本篇实验报告将不会对以前实验报告中已提到的内容重复论述。
SwordLea建议支持符合windows标准的bmp图片格式,pineapple帮助我找了到了windows下的图标,hotice指导使用PhotoShop, and so on~~:)
言归正传,下面开始进行我们的实验。
?
i8042 键盘控制器编程控制鼠标
现在我们用的鼠标,大多是支持PS/2协议的鼠标,这样的鼠标也被称为PS/2 鼠标,PS/2协议其实支持两种设备,一种是键盘,一种是鼠标,它是由IBM公司制定的,协议的本身定义了键盘与鼠标同主机进行通迅的规则,其中包括了大量的物理及电器方面的信息,比如鼠标连接线的插头的管脚(针)数,每个管脚(针)的用途,电平是多少等,不过幸运的是,我们并不需要对这样的硬件细节有详细的了解,就可以完成我们的操作系统,我们需要了解的就是怎样初始化鼠标,以及怎样从鼠标中获得信息。
这里,我们首先来看看怎样初始化鼠标。根据PS/2协议,鼠标是由键盘的控制器(i8042)进行控制的,键盘控制器(i8042)总共有两个通道,一个通道由键盘使用,另一个通道由鼠标使用,我们对鼠标进行操作也是通过i8042芯片来完成的,因此,现在的重点就是了解并熟悉怎样对i8042进行编程,来完成对鼠标的控制。
i8042支持两种工作模式——AT模式及PS/2模式,这都是由IBM所定义的一些规范,i8042在计算机启动时会自动检测用户是否使用的支持PS/2协议的键盘及鼠标,以决定是否工作在PS/2模式下,现在我们假设我们使用的都是PS/2键盘及鼠标,因此,现在i8042工作在PS/2模式下(请记住这一点,即i8042可以工作在AT模式或者PS/2模式下,并且现在假设其工作在PS/2模式下,这在后面将会用到)。
与i8042有关的I/O端口共有两个,一个是0x60端口,一个是0x64端口,
您可能关注的文档
- 基于Arduino 按键控制.doc
- 浅谈电子商务的法律体系框架.doc
- 单片机接收电脑四个字节,并判断返回一个确认值,+两个按键发送给电脑四个字节.docx
- linux下最全的快捷键大全.docx
- 49个按钮学Word(上).doc
- 用一条IO口实现两个按键功能.doc
- 第十一课第二框社会历史的主体导学案3.doc
- VB键盘常量大全 256个虚拟键.doc
- VC++6.0 一个简单的图片按钮示例.docx
- winkey+d 这是高手最常用的第一快捷组合键。.docx
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 附件14:项目《标价分离书》.xls VIP
- 喷塑规章制度管理.doc VIP
- 2025年高考真题——物理(甘肃卷)含答案.docx VIP
- DBJD25-60-2018 甘肃省建设工程施工机械台班费用定额(含税).docx
- 考研真题 中山大学化学学院化学(B)历年考研真题汇编.docx VIP
- 2025年甘肃高考化学真题试卷含答案.docx VIP
- Colorful七彩虹 主板Intel H610H610M-D EVO V21 说明书(系统 win10 win11)用户手册.pdf
- 新九年级暑假衔接讲义 20 作文(二)描写出彩(学生版+教师版)2025八升九语文统编版.docx VIP
- 2024年甘肃高考政治试卷(真题+答案).pdf VIP
- 模板7:CSCEC8B-CM- M10303《项目商务资料档案清单》.xls VIP
文档评论(0)