一种单显示多笔交互方法技术

技术编号:4002449 阅读:244 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种单显示多笔交互方法,属于人机交互领域。本方法为:1)计算机系统中过滤出若干目标交互设备,并获取每个目标交互设备的信息对ID和I/O?data;2)隐藏系统光标,并绘制每个目标交互设备的光标;3)对I/O?data信息进行封装,并将ID作为附加数据发送到目标消息队列中;4)根据ID对封装后的消息进行分发,并更新光标显示;5)对消息进行冲突检测与消解;6)生成目标交互设备的原语,并根据原语生成目标交互设备的手势消息类型,发送到应用程序的目标消息队列;7)应用程序根据接收的ID数据和手势消息类型,驱动相应的目标交互设备。本发明专利技术在提供多人多笔交互的同时,也定义了潜在的冲突检测与消解方法,且操作简单、易于实现。

【技术实现步骤摘要】

本专利技术属于人机交互领域,具体涉及到。
技术介绍
随着计算机的普及,其应用已经渗透到我们日常生活的各个方面,但在一些比较 贫困的学校中,还会出现十几个儿童围在一台计算机面前的场景。在较发达的地区,多人 共享一台计算机的情况还是很常见的。在美国公立学校,共享比率达到了 3.8比1。即使 没有资源上的限制,面对面的合作所带来的社交方面的益处也是人们共享计算机的主要 原因之一。在多人共享计算机的情况下,计算机只能由一个人操作时,旁观者由于没有计 算机的控制权,很容易失去兴趣和注意力。为此目前已经有研究单显示的多人交互技术: SDG Toolkit是给开发人员提供的编写单屏幕多人交互应用的开发包。它从界面层到消息 响应层,提供相应的控件和API,方便开发人员使用;CoSearch是基于Microsoft Windows Multipoint SDK开发的网络查询应用,支持多个用户使用多个鼠标在同一设备上联合查 询,每个用户都可以控制自己的查询和参与他人的查询,查询结果在同一显示设备上;Udai Singh Pawar等人将单显示多人交互应用到教学中,开发了多人学习英文单词的应用,大大 提高了学生们的学习兴趣与学习单词的效率。但是上述研究主要使用是基于鼠标的多人交 互,不适合对电脑使用不熟悉的用户群体,特别是儿童用户使用电脑进行交互。现有的一种 解决方案是采用多触控技术,即使用支持多点触摸控制的特殊显示设备(如多触控桌面) 来支持多个用户同时在一台设备上进行操作。然而,该技术需要特殊的硬件设备支持,成本 比较高,对于普通用户来讲还难以接受。综上所述,由于笔式交互技术简单便于操作的特 性,更适合非专业用户以及儿童使用,以及笔式交互设备在装备改造上相对便宜和易于实 现的优势,因此,本专利提出了一种多笔交互方法,基于该方法和技术,可以使多个用户分 别使用笔与软件进行交互。
技术实现思路
本项专利技术解决了在单显示计算机设备上实现多人使用笔设备同时操作的难题,使 得在强调协同合作,如儿童教学等相关环境下的多人合作成为可能,极大地提高这些环境下的用户体验。为实现上述目的,单显示多笔交互方法实现了如下特性1.支持多用户同时进行操作2.有区别的显示各个笔设备到显示设备上3.支持差异化操作4.支持冲突检测与解决5.支持在已有的应用程序基础上实现单显示多笔交互6.支持SDK开发7.采用驱动式支持方式实现单显示多笔交互的支持本专利技术的技术方案为,其步骤为1)计算机系统从识别出的各输入设备中过滤出若干目标交互设备;2)计算机系统对每个目标交互设备的I/O端口进行监听,获得每个目标交互设备 的信息对Device ID和I/O data ;其中,Device ID为目标交互设备的ID,I/O data为目 标交互设备输入信息;3)计算机系统隐藏系统光标,并根据目标交互设备的信息绘制每个目标交互设备 的光标;4)将每个目标交互设备的I/O data信息封装为Windows操作系统所能识别的消 息,并将Device ID作为附加数据发送到应用程序的目标消息队列中;5)根据Device ID对步骤4)封装后的消息进行分发,并提取光标位置信息更新目 标交互设备的光标显示;6)根据预定义的冲突检测规则对消息进行冲突检测,如果存在冲突则利用预定义 的冲突消解规则对冲突消息进行消解;7)根据步骤6)处理后的消息生成目标交互设备的原语;8)根据原语生成目标交互设备的手势消息类型,发送到应用程序的目标消息队 列;9)应用程序根据接收的Device ID数据和手势消息类型,驱动相应的目标交互设备。进一步的,所述预定义的冲突检测规则包括a)资源竞争检测,即测试所有目标 交互设备对系统资源的请求,如果在同一时刻有两个以上的目标交互设备同时请求一个系 统资源,则判定为存在资源竞争冲突;b)操作冲突检测,即测试所有目标交互设备的当前 操作,如果检测到在同一时刻有两个以上的目标交互设备进行相互对立的操作,则判定为 存在操作冲突。进一步的,所述预定义的冲突消解规则包括a)资源竞争冲突消解,即根据设备 的DevicelD顺序执行目标交互设备的资源请求;b)操作冲突消解,即将相互对立的并行操 作分解,按Device ID顺序串行依次执行各个目标交互设备的当前操作请求。进一步的,绘制目标交互设备的光标的方法为1)载入初始注册信息;其中初始注册信息包括光标资源的位置、各个状态的光 标资源的定义;2)对每一个目标交互设备,分配与其状态相对应的光标资源,并在显示设备上绘 制出该设备的光标。进一步的,采用不规则Windows窗口绘制方法绘制光标。进一步的,所述步骤5)中,进行消息分发的方法为首先将每个目标交互设备从 输入开始到输入结束时间内的消息存储到一光标记录表中,然后根据Device ID对消息进 行分类,最后从光标记录表中提取分类后的消息进行分发。进一步的,所述步骤6)中,将每个目标交互设备的I/O data信息封装为计算机系 统所能识别的消息的方法为首先从I/O data中分解出目标交互设备的设备类型信息、坐 标类型信息、坐标位置信息,然后将其封装成PEN_DEVICE_INFO结构;最后将封装后的PEN_DEVICE_INF0结构按照计算机系统的消息格式封装为Windows操作系统所能识别的消息; 其中PEN_DEVICE_INFO结构包括目标交互设备输入类型、目标交互设备的光标位置绝对 值、目标交互设备的光标位置变化值。进一步的,所述原语包括点击原语和笔划原语;对于点击原语,将其直接发送到应 用程序的目标消息队列中;对于笔划原语,利用分类器和设定的手势集合,识别出手势消息 类型后发送到应用程序的目标消息队列中。进一步的,通过连续两次调用GetRawInputDevicelnfo函数以读取输入设备的 RIDI_DEVICENAME,通过输入设备的RIDI_DEVICENAME值过滤出所述目标交互设备。进一步的,所述目标交互设备包括手写板、手写屏、鼠标。实现本方法的具体模块结构如图1所示,包含设备驱动层,消息处理层,应用层。 这三层之间的关系是设备驱动层在硬件层面上识别各个笔式输入设备的消息,过滤成对 应于各个设备自身的消息,该驱动工作在操作系统对应驱动基础之上,对笔设备消息起到 过滤作用,并将过滤之后的消息传递到下一层;消息处理层负责做两件事情,首先它会屏蔽 操作系统自身的光标绘制,从而根据设备驱动层传来的消息绘制各个笔设备的光标,此外 的功能是对设备驱动层过滤后的消息做合成,已使得下一层即应用层能够识别消息。在这 一层合成后的消息与普通的windows操作系统笔设备消息的区别是,它带有附加信息,用 于在应用层识别不同的笔设备标识;应用层有两个功能,其一是将上层的消息分发到目标 消息队列之前,进行冲突检测和冲突消解,之后将正确的消息发送到目标消息队列,以驱动 实际的应用程序运行,其二是在上层合成后的消息的基础上识别出手势,将识别结果也以 更高级的消息(自定义级别)发送到具体的应用程序,驱动这些应用完成更高级的功能。本交互方法在单显示单笔设备或者单鼠标设备的计算系统上实现了对多笔设备 的支持,从而可以支持多人同时使用多个笔设备在单显示设备上进行交互。这是多传统的 计算本文档来自技高网
...

【技术保护点】
一种单显示多笔交互方法,其步骤为:1)计算机系统从识别出的各输入设备中过滤出若干目标交互设备;2)计算机系统对每个目标交互设备的I/O端口进行监听,获得每个目标交互设备的信息对DeviceID和I/Odata;其中,DeviceID为目标交互设备的ID,I/Odata为目标交互设备输入信息;3)计算机系统隐藏系统光标,并根据目标交互设备的信息绘制每个目标交互设备的光标;4)将每个目标交互设备的I/Odata信息封装为Windows操作系统所能识别的消息,并将DeviceID作为附加数据发送到应用程序的目标消息队列中;5)根据DeviceID对步骤4)封装后的消息进行分发,并提取光标位置信息更新目标交互设备的光标显示;6)根据预定义的冲突检测规则对消息进行冲突检测,如果存在冲突则利用预定义的冲突消解规则对冲突消息进行消解;7)根据步骤6)处理后的消息生成目标交互设备的原语;8)根据原语生成目标交互设备的手势消息类型,发送到应用程序的目标消息队列;9)应用程序根据接收的DeviceID数据和手势消息类型,驱动相应的目标交互设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:王丹力詹志征王宏安戴国忠
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1