CN106249976A - 一种用于数字示波器触摸屏的多点触控方法 - Google Patents

一种用于数字示波器触摸屏的多点触控方法 Download PDF

Info

Publication number
CN106249976A
CN106249976A CN201610670522.1A CN201610670522A CN106249976A CN 106249976 A CN106249976 A CN 106249976A CN 201610670522 A CN201610670522 A CN 201610670522A CN 106249976 A CN106249976 A CN 106249976A
Authority
CN
China
Prior art keywords
touch
touch screen
coordinate
function
lifting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610670522.1A
Other languages
English (en)
Inventor
向前
刘洪庆
吴恒奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 41 Institute
Original Assignee
CETC 41 Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201610670522.1A priority Critical patent/CN106249976A/zh
Publication of CN106249976A publication Critical patent/CN106249976A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种用于数字示波器触摸屏的多点触控方法,数字示波器通过USB接口外接有触摸屏,触摸屏为电容触摸屏,数字示波器采用Windows7操作系统,可自动识别触摸屏,免驱动安装,若系统不能识别触摸屏,可安装触摸屏厂家提供的驱动程序。本发明通过Windows的消息函数接收触控点参数,并根据算法对用户操作手势进行判断,实现波形水平缩放及滑动、垂直缩放及平移的功能,为用户提供了更加友好、便捷的操作方式,并提高了产品的亮点。

Description

一种用于数字示波器触摸屏的多点触控方法
技术领域
本发明涉及数字示波器领域,具体涉及一种用于数字示波器触摸屏的多点触控方法。
背景技术
在数字示波器中,为了方便用户使用,提供友好的操作界面,常采用外接触摸屏的方式。触摸屏主要包括电阻式和电容式两种。电阻式触摸屏是通过压力感应进行工作的。将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压,电信号经过转换电路送到处理器,通过运算转化为屏幕上的X、Y坐标值。电阻式触摸屏的成本较为低廉,若将其设计成多点触控,当两点同时受压时,屏幕的压力变得不平衡,导致触控出现误差,因而多点触控的实现程度较难。电容式触摸屏是利用人体的电流感应进行工作的。当手指触摸时,由于人体电场,手指和触摸屏表面形成一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流,控制器通过对电容屏四个角上的电极电流比例的精确计算,得到触摸点的位置。电容屏通过将屏幕分块,在每一个区域里设置一组独立工作的互电容模块,可以独立检测到各区域的触控情况,经过处理后即实现了多点触控。
目前国内的示波器,提供触摸屏操作的产品较少,主要是以键盘配合菜单的操作方式。即使有部分的示波器产品提供了触摸屏的操作方式,也基本仅限于单点触摸的工作方式,诸如波形水平及垂直缩放、水平滑动、垂直平移的功能均未提供。
发明内容
针对现有的数字示波器外接触摸屏只能单点触摸的问题,本发明提供了一种用于数字示波器触摸屏的多点触控方法。
本发明采用以下的技术方案:
一种用于数字示波器触摸屏的多点触控方法,数字示波器通过USB接口外接有触摸屏,触摸屏的多点触控方法包括:
步骤1:初始化,通过系统函数GetSystemMetrics(SM_DIGITIZER)检测触摸屏是否接入示波器,若电容触摸屏接入示波器,则通过系统函数GetSystemMetrics(SM_MAXIMUMTOUCHES)得到触摸屏支持的触控输入数量;
步骤2:功能注册,在需要响应多点触控的窗口类中,通过系统函数RegisterTouchWindow()进行触控操作注册,得到触控操作时的WM_TOUCH消息;
步骤3:消息响应,添加WM_TOUCH消息响应函数,得到WM_TOUCH消息中传递的触控点数量及触控点数据结构信息,从触控点数据结构信息中得到当前的触摸状态,触摸状态包括按下、移动和抬起三个操作状态,当检测到TOUCHEVENTF_DOWN时,记录当前为按下状态;当检测到TOUCHEVENTF_MOVE时,记录当前为移动状态;当检测到TOUCHEVENTF_UP时,记录当前为抬起状态,并同时记录各状态的坐标值;
步骤4:判断触控点数据结构信息是否为抬起状态,若为抬起状态,则执行步骤5;否则执行步骤3;
步骤5:判断得到的触控点数量是否为1,若触控点数量为1,则为单点移动操作,执行步骤6;若触控点数量不为1,则为两点缩放操作,执行步骤7;
步骤6:单点移动,判断按下状态到抬起状态过程中的X方向及Y方向移动的距离,若X方向移动的距离大于Y方向移动的距离,则为水平滑动,若抬起时的X坐标大于按下时的X坐标,则向右移动,反之则向左移动;若X方向移动的距离小于Y方向移动的距离,则为垂直移动,若抬起时的Y坐标小于按下时的Y坐标,则向上平移,反之则向下平移;
步骤7:两点缩放,分别计算两个触控点的X方向及Y方向移动的距离,分别记为X1、Y1和X2、Y2,若X1大于Y1并且X2大于Y2,则执行水平缩放,即改变示波器的时基,若第一个触控点对应的抬起时的X坐标小于其按下时的X坐标,则减小示波器的时基,执行水平放大功能,反之则增大示波器的时基,执行水平压缩功能;若X1小于Y1并且X2小于Y2,则执行垂直缩放,即改变示波器的垂直量程,若第一个触控点对应的抬起时的Y坐标小于其按下时的Y坐标,则减小示波器的垂直量程,执行垂直放大功能,反之则增大示波器的垂直量程,执行垂直压缩功能。
优选地,所述触摸屏为电容触摸屏。
本发明具有的有益效果是:
本发明提供的用于数字示波器触摸屏的多点触控方法,通过Windows的消息函数接收触控点参数,并根据算法对用户操作手势进行判断,实现波形水平缩放及滑动、垂直缩放及平移的功能,为用户提供了更加友好、便捷的操作方式,并提高了产品的亮点。
附图说明
图1为用于数字示波器触摸屏的多点触控方法的原理框图。
具体实施方式
下面结合附图对本发明进行具体的说明:
结合图1,一种用于数字示波器触摸屏的多点触控方法,数字示波器通过USB接口外接有触摸屏,触摸屏为电容触摸屏,数字示波器采用Windows7操作系统,可自动识别触摸屏,免驱动安装,若系统不能识别触摸屏,可安装触摸屏厂家提供的驱动程序。
触摸屏的多点触控方法包括:
步骤1:初始化,通过系统函数GetSystemMetrics(SM_DIGITIZER)检测触摸屏是否接入示波器,函数GetSystemMetrics(SM_DIGITIZER)为系统自带的函数,若电容触摸屏接入示波器,则通过系统函数GetSystemMetrics(SM_MAXIMUMTOUCHES)得到触摸屏支持的触控输入数量,函数GetSystemMetrics(SM_MAXIMUMTOUCHES)为系统自带的函数;
步骤2:功能注册,在需要响应多点触控的窗口类中,通过系统函数RegisterTouchWindow()进行触控操作注册,函数RegisterTouchWindow()为系统自带函数,得到触控操作时的WM_TOUCH消息;
步骤3:消息响应,添加WM_TOUCH消息响应函数,得到WM_TOUCH消息中传递的触控点数量及触控点数据结构信息,从触控点数据结构信息中得到当前的触摸状态,触摸状态包括按下、移动和抬起三个操作状态,当检测到TOUCHEVENTF_DOWN时,记录当前为按下状态;当检测到TOUCHEVENTF_MOVE时,记录当前为移动状态;当检测到TOUCHEVENTF_UP时,记录当前为抬起状态,并同时记录各状态的坐标值;
步骤4:判断触控点数据结构信息是否为抬起状态,若为抬起状态,则执行步骤5;否则执行步骤3;
步骤5:判断得到的触控点数量是否为1,若触控点数量为1,则为单点移动操作,执行步骤6;若触控点数量不为1,则为两点缩放操作,执行步骤7;
步骤6:单点移动,当到达抬起状态时,表示触控操作结束,判断按下状态到抬起状态过程中的X方向及Y方向移动的距离,若X方向移动的距离大于Y方向移动的距离,则为水平滑动,即改变示波器的水平延迟位置,若抬起时的X坐标大于按下时的X坐标,则向右移动,反之则向左移动;若X方向移动的距离小于Y方向移动的距离,则为垂直移动,即改变示波器的垂直偏移,若抬起时的Y坐标小于按下时的Y坐标,则向上平移,反之则向下平移;
步骤7:两点缩放,当到达抬起状态时,表示触控操作结束,分别计算两个触控点的X方向及Y方向移动的距离,分别记为X1、Y1和X2、Y2,若X1大于Y1并且X2大于Y2,则执行水平缩放,即改变示波器的时基,若第一个触控点对应的抬起时的X坐标小于其按下时的X坐标,则减小示波器的时基,执行水平放大功能,反之则增大示波器的时基,执行水平压缩功能;若X1小于Y1并且X2小于Y2,则执行垂直缩放,即改变示波器的垂直量程,若第一个触控点对应的抬起时的Y坐标小于其按下时的Y坐标,则减小示波器的垂直量程,执行垂直放大功能,反之则增大示波器的垂直量程,执行垂直压缩功能。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (2)

1.一种用于数字示波器触摸屏的多点触控方法,其特征在于,数字示波器通过USB接口外接有触摸屏,触摸屏的多点触控方法包括:
步骤1:初始化,通过系统函数GetSystemMetrics(SM_DIGITIZER)检测触摸屏是否接入示波器,若电容触摸屏接入示波器,则通过系统函数GetSystemMetrics(SM_MAXIMUMTOUCHES)得到触摸屏支持的触控输入数量;
步骤2:功能注册,在需要响应多点触控的窗口类中,通过系统函数RegisterTouchWindow()进行触控操作注册,得到触控操作时的WM_TOUCH消息;
步骤3:消息响应,添加WM_TOUCH消息响应函数,得到WM_TOUCH消息中传递的触控点数量及触控点数据结构信息,从触控点数据结构信息中得到当前的触摸状态,触摸状态包括按下、移动和抬起三个操作状态,当检测到TOUCHEVENTF_DOWN时,记录当前为按下状态;当检测到TOUCHEVENTF_MOVE时,记录当前为移动状态;当检测到TOUCHEVENTF_UP时,记录当前为抬起状态,并同时记录各状态的坐标值;
步骤4:判断触控点数据结构信息是否为抬起状态,若为抬起状态,则执行步骤5;否则执行步骤3;
步骤5:判断得到的触控点数量是否为1,若触控点数量为1,则为单点移动操作,执行步骤6;若触控点数量不为1,则为两点缩放操作,执行步骤7;
步骤6:单点移动,判断按下状态到抬起状态过程中的X方向及Y方向移动的距离,若X方向移动的距离大于Y方向移动的距离,则为水平滑动,若抬起时的X坐标大于按下时的X坐标,则向右移动,反之则向左移动;若X方向移动的距离小于Y方向移动的距离,则为垂直移动,若抬起时的Y坐标小于按下时的Y坐标,则向上平移,反之则向下平移;
步骤7:两点缩放,分别计算两个触控点的X方向及Y方向移动的距离,分别记为X1、Y1和X2、Y2,若X1大于Y1并且X2大于Y2,则执行水平缩放,即改变示波器的时基,若第一个触控点对应的抬起时的X坐标小于其按下时的X坐标,则减小示波器的时基,执行水平放大功能,反之则增大示波器的时基,执行水平压缩功能;若X1小于Y1并且X2小于Y2,则执行垂直缩放,即改变示波器的垂直量程,若第一个触控点对应的抬起时的Y坐标小于其按下时的Y坐标,则减小示波器的垂直量程,执行垂直放大功能,反之则增大示波器的垂直量程,执行垂直压缩功能。
2.根据权利要求1所述的一种用于数字示波器触摸屏的多点触控方法,其特征在于,所述触摸屏为电容触摸屏。
CN201610670522.1A 2016-08-15 2016-08-15 一种用于数字示波器触摸屏的多点触控方法 Pending CN106249976A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610670522.1A CN106249976A (zh) 2016-08-15 2016-08-15 一种用于数字示波器触摸屏的多点触控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610670522.1A CN106249976A (zh) 2016-08-15 2016-08-15 一种用于数字示波器触摸屏的多点触控方法

Publications (1)

Publication Number Publication Date
CN106249976A true CN106249976A (zh) 2016-12-21

Family

ID=57591994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610670522.1A Pending CN106249976A (zh) 2016-08-15 2016-08-15 一种用于数字示波器触摸屏的多点触控方法

Country Status (1)

Country Link
CN (1) CN106249976A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688432A (zh) * 2017-09-04 2018-02-13 中国电子科技集团公司第四十研究所 一种基于触控技术的电子测量仪器人机交互系统架构
CN108088435A (zh) * 2017-10-20 2018-05-29 沈阳美行科技有限公司 一种识别触控的导航方法及装置
CN108444073A (zh) * 2018-02-23 2018-08-24 海信(山东)空调有限公司 空调控制界面的操作反馈方法、控制器及空调
CN108563467A (zh) * 2018-03-23 2018-09-21 北京轩宇信息技术有限公司 一种符合安全保密的带触摸屏pad及实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096488A (zh) * 2009-12-09 2011-06-15 腾讯科技(深圳)有限公司 一种基于触摸屏的多触点输入方法及装置
CN102707114A (zh) * 2012-06-13 2012-10-03 郑州麦科信电子技术有限公司 数字示波器波形操控方法
CN103592486A (zh) * 2012-08-17 2014-02-19 固纬电子实业股份有限公司 触控式示波器及其波形显示触控操作方法
CN103941064A (zh) * 2014-03-26 2014-07-23 深圳麦科信仪器有限公司 触控示波器波形显示缩放或延迟窗口的调出方法及装置
CN104569529A (zh) * 2013-10-20 2015-04-29 西安群丰电子信息科技有限公司 数字示波信号显示装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096488A (zh) * 2009-12-09 2011-06-15 腾讯科技(深圳)有限公司 一种基于触摸屏的多触点输入方法及装置
CN102707114A (zh) * 2012-06-13 2012-10-03 郑州麦科信电子技术有限公司 数字示波器波形操控方法
CN103592486A (zh) * 2012-08-17 2014-02-19 固纬电子实业股份有限公司 触控式示波器及其波形显示触控操作方法
CN104569529A (zh) * 2013-10-20 2015-04-29 西安群丰电子信息科技有限公司 数字示波信号显示装置
CN103941064A (zh) * 2014-03-26 2014-07-23 深圳麦科信仪器有限公司 触控示波器波形显示缩放或延迟窗口的调出方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688432A (zh) * 2017-09-04 2018-02-13 中国电子科技集团公司第四十研究所 一种基于触控技术的电子测量仪器人机交互系统架构
CN108088435A (zh) * 2017-10-20 2018-05-29 沈阳美行科技有限公司 一种识别触控的导航方法及装置
CN108444073A (zh) * 2018-02-23 2018-08-24 海信(山东)空调有限公司 空调控制界面的操作反馈方法、控制器及空调
CN108563467A (zh) * 2018-03-23 2018-09-21 北京轩宇信息技术有限公司 一种符合安全保密的带触摸屏pad及实现方法

Similar Documents

Publication Publication Date Title
US20080012835A1 (en) Hover and touch detection for digitizer
CN104657062A (zh) 图形编辑方法以及电子装置
CN106249976A (zh) 一种用于数字示波器触摸屏的多点触控方法
TW201011605A (en) Method capable of preventing mistakenly triggering a touch panel
JP2010055612A (ja) 多点タッチセンサーシステム
CN103207718A (zh) 一种互电容式触摸屏及其触摸感应方法
JP2010055613A (ja) 多点タッチセンサーシステムのオペレーション方法
CN102103461A (zh) 在笔记本电脑触控板上实现快捷键模式的方法
CN103164067A (zh) 判断触摸输入的方法及电子设备
CN105022561A (zh) 触摸屏控制装置、方法和移动终端
CN101498984B (zh) 电脑光标控制系统及控制光标移动的方法
CN101458576B (zh) 输入装置和方法以及笔记本电脑
CN101419533A (zh) 一种触控板的自动卷动控制方法及其控制模块
CN103257724B (zh) 一种非接触式鼠标及其操作方法
CN103576997A (zh) 表面电容式触控面板的触控识别方法
JP6255321B2 (ja) 情報処理装置とその指先操作識別方法並びにプログラム
CN102681711B (zh) 触控面板及其多点检测方法
CN104375697A (zh) 一种移动设备
CN104375698A (zh) 一种触控设备
CN101593052A (zh) 一种笔记本电脑
TWI502456B (zh) 互電容式觸控螢幕及其觸控感應方法
US20130141374A1 (en) Touchpad operating as a hybrid tablet
CN104375639A (zh) 一种空中感应设备
CN204270260U (zh) 一种移动设备
CN205193752U (zh) 一种触摸终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161221