CN103076887A - 分散控制系统操作员键盘支持鼠标功能的实现方法 - Google Patents

分散控制系统操作员键盘支持鼠标功能的实现方法 Download PDF

Info

Publication number
CN103076887A
CN103076887A CN 201310004094 CN201310004094A CN103076887A CN 103076887 A CN103076887 A CN 103076887A CN 201310004094 CN201310004094 CN 201310004094 CN 201310004094 A CN201310004094 A CN 201310004094A CN 103076887 A CN103076887 A CN 103076887A
Authority
CN
China
Prior art keywords
mouse
button
keyboard
key
function
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
CN 201310004094
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.)
Shanghai instrument and meter for automation company limited
Original Assignee
Shanghai Automation Instrumentation Co Ltd
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 Shanghai Automation Instrumentation Co Ltd filed Critical Shanghai Automation Instrumentation Co Ltd
Priority to CN 201310004094 priority Critical patent/CN103076887A/zh
Publication of CN103076887A publication Critical patent/CN103076887A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及一种分散控制系统操作员键盘支持鼠标功能的实现方法,在原键盘上增加上移、下移、左移、右移、鼠标左键、鼠标右键六个功能键,约定功能键值对应鼠标的移动和点击功能,键盘USB接口中使用ARMCortex-M3内核的芯片,实现通过USB接口与上位机通信,所有按键均经过按键扫描、消抖处理、按键确认、释放处理4个状态转移处理后将信息通过USB接口送上位机,上位机中监控软件处理信息,实现相应的鼠标操作。此方法能够满足操作员键盘对尺寸和功耗的要求,增强操作员键盘功能,提高工业自动化能力,并有效降低成本。

Description

分散控制系统操作员键盘支持鼠标功能的实现方法
技术领域
本发明涉及一种分散控制系统技术领域,特别涉及一种分散控制系统操作员键盘支持鼠标功能的实现方法。
背景技术
随着工业控制现场中分散控制系统(DCS)的发展,需要特定的DCS操作员键盘对系统进行控制。该键盘使操作员能对系统的操作更加直观,操作方法更加简捷,以降低对操作员的操作技能要求,进一步减少误操作的可能,从而提高整个生产线的自动化能力。DCS操作员键盘正是基于这个目的产生的。该键盘在功能上除了兼容标准PC键盘的功能外,增加了DCS功能扩展区和用户自定义扩展区,如逻辑开、逻辑关、手动、自动、报警、输出步长等等,一旦有按键动作,键盘立刻响应并将按键编码发给主机,主机根据接收到的按键编码调用相应的子函数来完成响应功能。
同时该键盘支持目前广泛流行的USB接口的标准PC键盘通讯协议。USB协议专门为人机交互设备提供了接口描述,即HID设备类。用户可以按照HID设备类的协议设计通用键盘,也可以根据自己的需要设计特殊的键盘,以满足不同的应用场合。USB通信协议的设备一旦接入主机USB接口,主机调用底层驱动自动完成USB设备的枚举,实现方便快捷的即插即用。
现在根据用户需求,要求在操作员键盘上集成鼠标功能。通常实现此功能要在键盘上集成一个滚轮鼠标来实现。而由于操作员键盘的尺寸和功耗限制,集成一个鼠标是不现实的。
发明内容
本发明是针对现有的操作员键盘上无法集成鼠标功能的问题,提出了一种分散控制系统操作员键盘支持鼠标功能的实现方法,以满足操作员键盘对尺寸和功耗的要求,增强操作员键盘功能,提高工业自动化能力,并有效降低成本。
本发明的技术方案为:一种分散控制系统操作员键盘支持鼠标功能的实现方法,具体包括如下步骤:
1)在原分散控制系统操作员键盘上增加六个功能键,分别为上移,下移,左移,右移,鼠标左键,鼠标右键,约定功能键值对应鼠标的移动和点击功能,键盘USB接口中增加ARM Cortex-M3内核的芯片,实现通过USB接口与上位机通信;
2)ARM Cortex-M3内核的芯片内引入状态转移法和定时器中断,定时器每10ms中断调用键盘任务来处理按键信息,键盘任务将按键状态分为按键扫描、消抖处理、按键确认、释放处理4种,并将按键处理过程转化为这4种状态转移处理,即所有按键均经过按键扫描、消抖处理、按键确认、释放处理4个状态转移处理,先对按键进行扫描,若无按键按下,则每隔10ms扫描一次;若有按键按下,记录下按键所处键盘的位置代码,转向消抖处理;所按下按键若通过消抖处理,则确认其位置代码,进入到按键确认阶段,将位置代码转换为按键HID码并发送;否则释放其位置代码,转到按键扫描处重新扫描;发送完其HID码的按键再进行消抖处理看释放否;若按键未释放则继续等待,若已释放则转向按键扫描处重新扫描;
3)上位机对鼠标键值的处理及功能实现:上位机接收USB通信接口信息后通过监控软件首先对键盘事件进行响应处理,调用对应信息处理函数,在对应的信息处理函数中对接收的相应的键码值进行具体处理,获取鼠标位置,根据约定移动鼠标到相应位置或按下、释放鼠标,实现操作动作。
所述六个功能键分别为鼠标左键、鼠标右键、鼠标上移、鼠标下移、鼠标左移、鼠标右移,约定对应键码值分别的PageUp、PageDown、UpArrow、DownArrow、LeftArrow 、RightArrow。
本发明的有益效果在于:本发明分散控制系统操作员键盘支持鼠标功能的实现方法,不仅增强键盘功能,使其集成鼠标功能,进一步提高DCS系统自动化的能力,同时还极大降低了成本,并具有较强的经济效益。
附图说明
图1为本发明分散控制系统操作员键盘与上位机通讯示意图;
图2为本发明键盘主程序流程图;
图3为本发明键盘任务处理函数流程图;
图4为本发明按键状态转移图。
具体实施方式
分散控制系统操作员键盘支持鼠标功能的实现方法,如图1所示,即在原键盘3上增加六个特殊功能键4(上移,下移,左移,右移,鼠标左键,鼠标右键),约定特殊键值对应鼠标的移动和点击功能,并通过和上位机1监控软件相结合来实现。这个方法经济有效,在原有的框架下通过简单的修改软件就完成了这个功能。具体包括三部分:键盘3和上位机1的USB通信接口2;键盘3的任务处理;上位机1对鼠标键值的处理及功能实现。
(1)对于键盘和上位机的USB通信接口,使用具有USB接口的MCU为ARM Cortex-M3内核的芯片,实现USB通信。
如图2所示键盘主程序流程图,键盘是HID类设备的一种,遵循着USB设备启动过程。即每次设备接入总线,先进入设备检测状态,总线对设备进行总线复位。其次是设备枚举过程,在这里USB设备将被枚举为标准的HID类键盘。主机通过默认端点0发送SETUP包,得到设备描述符,然后给设备分配新的地址,分配成功后,主机将通过新的设备地址向设备依次发送标准USB请求来获取设备的配置信息,即获得设备描述符、配置描述符、接口描述符、端点描述符、HID描述符和报表描述符。通过设备的这些描述符,主机就知道了设备的详细信息,并根据设备的配置情况对设备的端点进行操作。这些操作包括初始化端点数目,分配各端点所需使用的Packet Buffer;初始化所使用的端点,配置端点的传输类型、传输方向、Packet Buffer地址和初始状态。在需要发送数据或接收数据的时候,使能端点;并在该端点的中断回调函数中,处理数据,如果需要则使能下一次传输。以上便是实现USB通信的步骤。
(2)键盘任务的实现,如图3所示键盘任务处理函数流程图和图4所示按键状态转移图。
ARM Cortex-M3内核的芯片引入状态转移法和定时器中断。键盘任务处理函数中将按键的所有状态分为4种,即按键扫描、消抖处理、按键确认、释放处理。采用Switch…case结构,并按键处理过程转化为这4种状态转移处理。主程序每10ms中断调用该函数一次,则可实现按键任务处理。即所有按键均经过按键扫描、消抖处理、按键确认、释放处理4个状态转移处理的实现原理。先对按键进行扫描,若无按键按下,则每隔10ms扫描一次。若有按键按下,记录下按键所处键盘的位置代码,转向消抖处理。所按下按键若通过消抖处理,则确认其位置代码,进入到按键处理阶段,将位置代码转换为按键HID码并经USB通信接口发送至上位机。否则释放其位置代码,转到按键扫描处重新扫描。发送完其HID码的按键再进行消抖处理看释放否。若按键未释放则继续等待,若已释放则转向按键扫描处重新扫描。
实现鼠标功能的六个按键分别为鼠标左键、鼠标右键、鼠标上移、鼠标下移、鼠标左移、鼠标右移,约定对应键码值分别的PageUp、PageDown、UpArrow、DownArrow、LeftArrow 、RightArrow。如果其中某一按键被按下,就会按照之前的按键实现原理,经过键盘任务处理函数的状态转移法处理后,确定的按键HID码经USB通信接口发送至上位机。
(3)上位机对鼠标键值的处理及功能实现。
上位机监控软件用VC开发,VC中键盘事件处理主要是通过对相应的消息的响应,这些事件有如:WM_KEYDOWN(表示键盘的键被按下时事件)、WM_KEYUP(表示键盘的键被放开时的事件)等,它们分别对应OnKeyDown、OnKeyUp等消息处理函数。使用MSDN库函数OnKeyDown、OnKeyUp。当我们在键盘上按下某个键时先调用OnKeyDown函数再调用OnKeyUp函数。
在OnKeyDown函数中,使用Switch…case结构,对相应键码值进行具体处理。使用GetCursorPos(该函数获得鼠标光标位置,以屏幕坐标表示),SetCursorPos(该函数把光标移到屏幕的指定位置),::PostMessage(Wnd3,WM_LBUTTONDOWN,0,x,y)(发送鼠标左键按下消息);::PostMessage(Wnd3,WM_LBUTTONUP,0,x,y)(发送鼠标左键释放)等等函数实现获取鼠标位置,移动鼠标到相应位置(上移、下移、左移、右移),鼠标左(右)键按下及释放的功能。

Claims (2)

1.一种分散控制系统操作员键盘支持鼠标功能的实现方法,其特征在于,具体包括如下步骤:
1)在原分散控制系统操作员键盘上增加六个功能键,分别为上移,下移,左移,右移,鼠标左键,鼠标右键,约定功能键值对应鼠标的移动和点击功能,键盘USB接口中使用ARM Cortex-M3内核的芯片,实现通过USB接口与上位机通信;
2)ARM Cortex-M3内核的芯片内引入状态转移法和定时器中断,定时器每10ms中断调用键盘任务来处理按键信息,键盘任务将按键状态分为按键扫描、消抖处理、按键确认、释放处理4种,并将按键处理过程转化为这4种状态转移处理,即所有按键均经过按键扫描、消抖处理、按键确认、释放处理4个状态转移处理,先对按键进行扫描,若无按键按下,则每隔10ms扫描一次;若有按键按下,记录下按键所处键盘的位置代码,转向消抖处理;所按下按键若通过消抖处理,则确认其位置代码,进入到按键确认阶段,将位置代码转换为按键HID码并经USB通信接口发送至上位机;否则释放其位置代码,转到按键扫描处重新扫描;发送完其HID码的按键再进行消抖处理看释放否;若按键未释放则继续等待,若已释放则转向按键扫描处重新扫描;
3)上位机对鼠标键值的处理及功能实现:上位机接收USB通信接口信息后通过监控软件首先对键盘事件进行响应处理,调用对应信息处理函数,在对应的信息处理函数中对接收的相应的键码值进行具体处理,获取鼠标位置,根据约定移动鼠标到相应位置或按下、释放鼠标,实现操作动作。
2.根据权利要求1所述分散控制系统操作员键盘支持鼠标功能的实现方法,其特征在于,所述六个功能键分别为鼠标左键、鼠标右键、鼠标上移、鼠标下移、鼠标左移、鼠标右移,约定对应键码值分别的PageUp、PageDown、UpArrow、DownArrow、LeftArrow 、RightArrow。
CN 201310004094 2013-01-07 2013-01-07 分散控制系统操作员键盘支持鼠标功能的实现方法 Pending CN103076887A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201310004094 CN103076887A (zh) 2013-01-07 2013-01-07 分散控制系统操作员键盘支持鼠标功能的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201310004094 CN103076887A (zh) 2013-01-07 2013-01-07 分散控制系统操作员键盘支持鼠标功能的实现方法

Publications (1)

Publication Number Publication Date
CN103076887A true CN103076887A (zh) 2013-05-01

Family

ID=48153443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201310004094 Pending CN103076887A (zh) 2013-01-07 2013-01-07 分散控制系统操作员键盘支持鼠标功能的实现方法

Country Status (1)

Country Link
CN (1) CN103076887A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138147A (zh) * 2015-08-26 2015-12-09 苏州市博得立电源科技有限公司 基于消抖电路的无线鼠标控制装置
CN107220190A (zh) * 2017-05-25 2017-09-29 无锡英斯特微电子有限公司 一种与主机驱动实现双向信息交互的自定义usb鼠标和键盘的系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138147A (zh) * 2015-08-26 2015-12-09 苏州市博得立电源科技有限公司 基于消抖电路的无线鼠标控制装置
CN107220190A (zh) * 2017-05-25 2017-09-29 无锡英斯特微电子有限公司 一种与主机驱动实现双向信息交互的自定义usb鼠标和键盘的系统及方法
CN107220190B (zh) * 2017-05-25 2024-03-08 无锡英斯特微电子有限公司 一种与主机驱动实现双向信息交互的自定义usb鼠标和键盘的系统及方法

Similar Documents

Publication Publication Date Title
CN106708407B (zh) 防止触摸按键误触发的方法、装置及移动终端
CN106775084A (zh) 一种触摸屏的防误触方法、装置及移动终端
CN101498973B (zh) 一种以多指手势进行触控操作的触控解译装置与方法
KR20140001120A (ko) 단일 스크린과 다중 전경 처리를 위한 태스크 방법 및 그 전자 장치
CN103620542A (zh) 基于触摸屏的物理按键模拟方法及装置
CN106990908B (zh) 一种局部触摸屏蔽方法、装置、系统、设备及存储介质
WO2014019124A1 (zh) 触摸事件上报方法、装置及移动终端
CN105912241A (zh) 人机交互方法、装置及终端
CN203366247U (zh) 一种按键复用的多功能鼠标
CN102819391B (zh) 一种多场景下具有并行性的多点触摸手势反馈系统及方法
CN106502470A (zh) 防止触摸按键误触发的方法、装置及终端
CN102929425A (zh) 一种触摸按键控制方法及装置
CN111078104B (zh) 一种云桌面上的多点触控设备的重定向方法及计算机设备
CN104626165A (zh) 示教器按键反应灵敏度优化方法
CN103076887A (zh) 分散控制系统操作员键盘支持鼠标功能的实现方法
CN103677372A (zh) 触控显示方法及其电子装置
CN103157282A (zh) 进行触控游戏的方法及相关娱乐系统
CN100592264C (zh) 键盘损坏自修复方法
CN103677373A (zh) 触控显示方法及其电子装置
CN201812253U (zh) 一种ps/2转usb键盘鼠标的装置
CN103729133A (zh) 触控显示方法及其电子装置
CN111124519A (zh) 基于输入响应优化安卓应用程序启动速度的方法及系统
CN103488319B (zh) 一种虚拟触摸实现方法和系统
CN100432927C (zh) 一种使视窗类操作系统拥有多个激活窗口的方法
CN103513953A (zh) 一种虚拟数控机床

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHANGHAI AUTOMATION INSTRUMENTATION CO., LTD.

Free format text: FORMER OWNER: SHANGHAI AUTOMATIC INDUSTRUMENT AND METER CO LTD

Effective date: 20150612

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150612

Address after: Zhabei District Shanghai City, No. 191 West Guangzhong road 200072 No. 7

Applicant after: Shanghai instrument and meter for automation company limited

Address before: 200233, No. 41 Rainbow Road, Shanghai, Xuhui District

Applicant before: Shanghai Automatic Industrument and Meter Co., Ltd.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130501