人機交互系統(tǒng)及方法
【專利摘要】本發(fā)明提供了一種人機交互系統(tǒng)及方法,在人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符,并在人機交互設(shè)備中存儲手勢操作到鍵盤消息的映射表,當人機交互設(shè)備檢測到用戶的手勢操作時,會從映射表中獲取手勢操作對應的鍵盤消息,然后將鍵盤消息發(fā)送給主機進行手勢對應的操作。本發(fā)明通過采用上述發(fā)送手勢對應的鍵盤消息的方法,實現(xiàn)了人機交互,從而不需要用戶對人機交互設(shè)備進行應用程序的開發(fā),并且對各種操作系統(tǒng)兼容,無需重新開發(fā),簡化了對人機交互設(shè)備的操作,降低了用戶使用的難度和門檻,提升了用戶體驗。
【專利說明】人機交互系統(tǒng)及方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及人機交互【技術(shù)領(lǐng)域】,更具體地說,涉及一種人機交互系統(tǒng)及方法 。
【背景技術(shù)】
[0002]隨著科技的進步,在許多公共和非公共的場所(如:教育、會議、展會、工業(yè)生產(chǎn)、平板電腦、手機等)隨處可見基于手勢識別的人機交互設(shè)備(如:觸摸屏、書寫板、電子白板等)的應用,這類人機交互設(shè)備為各行各業(yè)提供了更加穩(wěn)定、方便、直觀和自然的交互方式。
[0003]目前,基于手勢識別的人機交互設(shè)備實現(xiàn)交互的方法如圖1所示,主要包括:
[0004]步驟Sll:將人機交互設(shè)備通過USB (Universal Serial Bus,通用串行總線)接口與主機相連,為人機交互設(shè)備上電,使人機交互設(shè)備的MCU(Micro Control Unit,微控制單元)內(nèi)的觸摸屏程序運行;
[0005]步驟S12:檢測手勢操作;
[0006]步驟S13:判斷是否檢測到手勢操作,如果是,進入步驟S14,如果否,返回步驟S12 ;
[0007]步驟S14:將檢測到的手勢操作通過人機交互設(shè)備的USB接口發(fā)送給主機;
[0008]步驟S15:主機接收到人機交互設(shè)備發(fā)送的手勢操作后,根據(jù)手勢操作進行對應的處理。
[0009]基于手勢識別的人機交互設(shè)備在使用時常常會有進行各種手勢操作的需求,這就需要用戶自己使用人機交互設(shè)備開發(fā)應用程序(如:開發(fā)實現(xiàn)多點觸摸的應用程序),而用戶自己開發(fā)應用程序又需要具有一定的開發(fā)能力,能夠編寫USB接口的程序,或者需要學習廠商提供的SDK (Software Development Kit,軟件開發(fā)工具包)程序,使用SDK程序進行開發(fā)。
[0010]但是,上述兩種開發(fā)方法本身都較復雜,并且,由于系統(tǒng)兼容性的影響,在不同的操作系統(tǒng)下,需要重新進行應用程序的開發(fā),這些都造成設(shè)備的開發(fā)應用復雜,用戶使用的門檻和難度加大。
【發(fā)明內(nèi)容】
[0011]本發(fā)明提供了一種人機交互系統(tǒng)及方法,以簡化人機交互設(shè)備的開發(fā)應用,降低用戶使用的難度。
[0012]為實現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:
[0013]本發(fā)明提供了一種人機交互系統(tǒng),包括:人機交互設(shè)備和通過所述人機交互設(shè)備的USB接口與所述人機交互設(shè)備相連的主機;
[0014]其中,所述人機交互設(shè)備包括:映射表存儲單元、初始化管理單元、映射表讀取單元、臨時存儲單元、手勢操作檢測單元和鍵盤消息獲取單元;所述映射表存儲單元存儲有手勢操作到鍵盤消息的映射表,所述手勢操作到鍵盤消息的映射表中的每一個手勢操作均唯一對應一條鍵盤消息;所述初始化管理單元用于初始化所述人機交互設(shè)備,為所述人機交互設(shè)備的USB接口配置HID協(xié)議,并在所述人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符;所述映射表讀取單元用于從所述映射表存儲單元中讀取所述手勢操作到鍵盤消息的映射表,并將所述手勢操作到鍵盤消息的映射表發(fā)送給所述臨時存儲單元;所述臨時存儲單元用于接收所述映射表讀取單元發(fā)送的手勢操作到鍵盤消息的映射表,并臨時存儲所述手勢操作到鍵盤消息的映射表;所述手勢操作檢測單元用于檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元;所述鍵盤消息獲取單元用于接收所述手勢操作檢測單元發(fā)送的手勢操作的信息,根據(jù)所述手勢操作的信息從所述臨時存儲單元臨時存儲的手勢操作到鍵盤消息的映射表中獲取所述手勢操作對應的鍵盤消息,并將所述鍵盤消息通過所述人機交互設(shè)備的USB接口發(fā)送給所述主機;
[0015]所述主機包括:鍵盤消息查詢單元和手勢操作處理單元;所述鍵盤消息查詢單元用于在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述手勢操作處理單元;所述手勢操作處理單元用于接收所述鍵盤消息查詢單元發(fā)送的鍵盤消息,并根據(jù)所述鍵盤消息進行對應的手勢操作的處理。
[0016]優(yōu)選的,所述手勢操作檢測單元包括:檢測結(jié)果生成單元和檢測結(jié)果判斷單元;所述檢測結(jié)果生成單元用于檢測用戶的手勢操作,生成檢測結(jié)果,并將所述檢測結(jié)果發(fā)送給所述檢測結(jié)果判斷單元;所述檢測結(jié)果判斷單元用于接收所述檢測結(jié)果生成單元發(fā)送的檢測結(jié)果,根據(jù)所述檢測結(jié)果判斷是否檢測到手勢操作,如果是,則將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元,如果否,則觸發(fā)所述檢測結(jié)果生成單元繼續(xù)檢測用戶的手勢操作。
[0017]優(yōu)選的,所述鍵盤消息查詢單元包括:查詢結(jié)果生成單元、查詢結(jié)果判斷單元和鍵盤消息判斷單元;所述查詢結(jié)果生成單元用于在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,生成查詢結(jié)果,并將所述查詢結(jié)果發(fā)送給所述查詢結(jié)果判斷單元;所述查詢結(jié)果判斷單元用于接收所述鍵盤消息查詢單元發(fā)送的查詢結(jié)果,根據(jù)所述查詢結(jié)果判斷是否查詢到所述鍵盤消息獲取單元發(fā)送的鍵盤消息,如果是,則將查詢到的鍵盤消息發(fā)送給所述鍵盤消息判斷單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息;所述鍵盤消息判斷單元用于接收所述查詢結(jié)果判斷單元發(fā)送的鍵盤消息,根據(jù)所述鍵盤消息判斷所述鍵盤消息是否為所述手勢操作檢測單元檢測到的手勢操作所對應的鍵盤消息,如果是,則將所述鍵盤消息發(fā)送給所述手勢操作處理單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息。
[0018]優(yōu)選的,所述映射表存儲單元為所述人機交互設(shè)備的閃存或帶電可擦除可編程只讀存儲器。
[0019]優(yōu)選的,所述臨時存儲單元為所述人機交互設(shè)備的內(nèi)存儲器。
[0020]本發(fā)明還提供了一種人機交互方法,應用于以上任一項所述的人機交互系統(tǒng),所述人機交互方法包括:利用所述人機交互設(shè)備的初始化管理單元初始化所述人機交互設(shè)備,為所述人機交互設(shè)備的USB接口配置HID協(xié)議,并在所述人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符;利用所述人機交互設(shè)備的映射表讀取單元從所述人機交互設(shè)備的映射表存儲單元中讀取所述映射表存儲單元存儲的手勢操作到鍵盤消息的映射表,并將所述手勢操作到鍵盤消息的映射表發(fā)送給所述人機交互設(shè)備的臨時存儲單元;利用所述臨時存儲單元接收所述映射表讀取單元發(fā)送的手勢操作到鍵盤消息的映射表,并臨時存儲所述手勢操作到鍵盤消息的映射表;利用所述人機交互設(shè)備的手勢操作檢測單元檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述人機交互設(shè)備的鍵盤消息獲取單元;利用所述鍵盤消息獲取單元接收所述手勢操作檢測單元發(fā)送的手勢操作的信息,根據(jù)所述手勢操作的信息從所述臨時存儲單元臨時存儲的手勢操作到鍵盤消息的映射表中獲取所述手勢操作對應的鍵盤消息,并將所述鍵盤消息通過所述人機交互設(shè)備的USB接口發(fā)送給所述主機;利用所述主機的鍵盤消息查詢單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述主機的手勢操作處理單元;利用所述手勢操作處理單元接收所述鍵盤消息查詢單元發(fā)送的鍵盤消息,并根據(jù)所述鍵盤消息進行對應的手勢操作的處理。
[0021]優(yōu)選的,所述利用所述人機交互設(shè)備的手勢操作檢測單元檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述人機交互設(shè)備的鍵盤消息獲取單元包括:利用所述手勢操作檢測單元的檢測結(jié)果生成單元檢測用戶的手勢操作,生成檢測結(jié)果,并將所述檢測結(jié)果發(fā)送給所述手勢操作檢測單元的檢測結(jié)果判斷單元;利用所述檢測結(jié)果判斷單元接收所述檢測結(jié)果生成單元發(fā)送的檢測結(jié)果,根據(jù)所述檢測結(jié)果判斷是否檢測到手勢操作,如果是,則將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元,如果否,則觸發(fā)所述檢測結(jié)果生成單元繼續(xù)檢測用戶的手勢操作。
[0022]優(yōu)選的,所述利用所述主機的鍵盤消息查詢單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述主機的手勢操作處理單元包括:利用所述鍵盤消息查詢單元的查詢結(jié)果生成單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,生成查詢結(jié)果,并將所述查詢結(jié)果發(fā)送給所述鍵盤消息查詢單元的查詢結(jié)果判斷單元;利用所述查詢結(jié)果判斷單元接收所述鍵盤消息查詢單元發(fā)送的查詢結(jié)果,根據(jù)所述查詢結(jié)果判斷是否查詢到所述鍵盤消息獲取單元發(fā)送的鍵盤消息,如果是,則將查詢到的鍵盤消息發(fā)送給所述鍵盤消息查詢單元的鍵盤消息判斷單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息;利用所述鍵盤消息判斷單元接收所述查詢結(jié)果判斷單元發(fā)送的鍵盤消息,判斷所述鍵盤消息是否為所述手勢操作檢測單元檢測到的手勢操作所對應的鍵盤消息,如果是,則將所述鍵盤消息發(fā)送給所述手勢操作處理單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息。
[0023]與現(xiàn)有技術(shù)相比,本發(fā)明所提供的技術(shù)方案至少具有以下優(yōu)點:
[0024]本發(fā)明所提供的人機交互系統(tǒng)及方法,在人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符,并在人機交互設(shè)備中存儲手勢操作到鍵盤消息的映射表,當人機交互設(shè)備檢測到用戶的手勢操作時,會從映射表中獲取手勢操作對應的鍵盤消息,然后將鍵盤消息發(fā)送給主機進行手勢對應的操作。本發(fā)明通過采用上述發(fā)送手勢對應的鍵盤消息的方法,實現(xiàn)了人機交互,從而不需要用戶對人機交互設(shè)備進行應用程序的開發(fā),并且對各種操作系統(tǒng)兼容,無需重新開發(fā),簡化了對人機交互設(shè)備的操作,降低了用戶使用的難度和門檻,提升了用戶體驗。
【專利附圖】
【附圖說明】[0025]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0026]圖1為現(xiàn)有技術(shù)中基于手勢識別的人機交互設(shè)備實現(xiàn)交互的方法的流程圖;
[0027]圖2為本發(fā)明實施例一所提供的人機交互系統(tǒng)的結(jié)構(gòu)示意圖;
[0028]圖3為本發(fā)明實施例一所提供的人機交互系統(tǒng)的手勢操作檢測單元的結(jié)構(gòu)示意圖;
[0029]圖4為本發(fā)明實施例一所提供的人機交互系統(tǒng)的鍵盤消息查詢單元的結(jié)構(gòu)示意圖;
[0030]圖5為本發(fā)明實施例二所提供的人機交互方法的設(shè)備端的方法流程圖;
[0031]圖6為本發(fā)明實施例二所提供的人機交互方法的設(shè)備端的另一種方法流程圖;
[0032]圖7為本發(fā)明實施例二所提供的人機交互方法的主機端的方法流程圖;
[0033]圖8為本發(fā)明實施例二所提供的人機交互方法的主機端的另一種方法流程圖。
【具體實施方式】
[0034]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明的【具體實施方式】做詳細的說明。
[0035]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開的具體實施例的限制。
[0036]其次,本發(fā)明結(jié)合示意圖進行詳細描述,在詳述本發(fā)明實施例時,為便于說明,表示裝置結(jié)構(gòu)的剖面圖會不依一般比例作局部放大,而且所述示意圖只是示例,其在此不應限制本發(fā)明保護的范圍。此外,在實際制作中應包含長度、寬度及深度的三維空間尺寸。
[0037]實施例一
[0038]本實施例提供了一種人機交互系統(tǒng),如圖2所示,該系統(tǒng)包括:人機交互設(shè)備21和通過所述人機交互設(shè)備21的USB接口與所述人機交互設(shè)備21相連的主機22 ;
[0039]其中,所述人機交互設(shè)備21包括:映射表存儲單元216、初始化管理單元211、映射表讀取單元212、臨時存儲單元213、手勢操作檢測單元214和鍵盤消息獲取單元215 ;
[0040]所述映射表存儲單元216存儲有手勢操作到鍵盤消息的映射表,所述手勢操作到鍵盤消息的映射表中的每一個手勢操作均唯一對應一條鍵盤消息;
[0041]所述初始化管理單元211用于初始化所述人機交互設(shè)備21,為所述人機交互設(shè)備21的USB接口配置HID協(xié)議,并在所述人機交互設(shè)備21的USB描述符中添加鍵盤設(shè)備的描述符;
[0042]所述映射表讀取單元212用于從所述映射表存儲單元216中讀取所述手勢操作到鍵盤消息的映射表,并將所述手勢操作到鍵盤消息的映射表發(fā)送給所述臨時存儲單元213 ;
[0043]所述臨時存儲單元213用于接收所述映射表讀取單元212發(fā)送的手勢操作到鍵盤消息的映射表,并臨時存儲所述手勢操作到鍵盤消息的映射表;[0044]所述手勢操作檢測單元214用于檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元215 ;
[0045]所述鍵盤消息獲取單元215用于接收所述手勢操作檢測單元214發(fā)送的手勢操作的信息,根據(jù)所述手勢操作的信息從所述臨時存儲單元213臨時存儲的手勢操作到鍵盤消息的映射表中獲取所述手勢操作對應的鍵盤消息,并將所述鍵盤消息通過所述人機交互設(shè)備21的USB接口發(fā)送給所述主機;
[0046]所述主機22包括:鍵盤消息查詢單元221和手勢操作處理單元222 ;
[0047]所述鍵盤消息查詢單元221用于在所述主機22內(nèi)查詢所述鍵盤消息獲取單元215發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述手勢操作處理單元222 ;
[0048]所述手勢操作處理單元222用于接收所述鍵盤消息查詢單元221發(fā)送的鍵盤消息,并根據(jù)所述鍵盤消息進行對應的手勢操作的處理。
[0049]其中,映射表存儲單元216內(nèi)所存儲的手勢操作到鍵盤消息的映射表所表征的信息為用戶的手勢操作與鍵盤消息的對應關(guān)系,如:可以使“放大”這一手勢操作對應“Win+ ‘ + ’ ”這一鍵盤消息,“縮小”這一手勢操作對應“Win+ ”這一鍵盤消息等,并且,用戶可以根據(jù)自己的操作習慣設(shè)定哪種手勢操作對應哪條鍵盤消息,即手勢操作到鍵盤消息的映射表可以隨用戶的操作習慣而改變。另外,本實施例中,所述映射表存儲單元216優(yōu)選的可為所述人機交互設(shè)備21的閃存或帶電可擦除可編程只讀存儲器。
[0050]本實施例中,當將人機交互設(shè)備21與主機22通過USB接口連接后,給人機交互設(shè)備21通電,設(shè)備內(nèi)的程序開始運行工作。人機交互設(shè)備21的初始化管理單元211初始化人機交互設(shè)備21的各個功能模塊,為人機交互設(shè)備21的USB接口配置HID協(xié)議,使設(shè)備能夠直接被基于各種操作系統(tǒng)的主機識別,無需用戶去開發(fā)復雜的USB人機交互設(shè)備的驅(qū)動程序。初始化管理單元211還需在人機交互設(shè)備21的USB描述符中添加鍵盤設(shè)備的描述符,以使USB接口能夠發(fā)送鍵盤消息,人機交互設(shè)備21通過USB描述符向主機22匯報設(shè)備的各種各樣的屬性,主機22通過對USB描述符的訪問對設(shè)備進行類型識別、配置,并為其提供相應的客戶端驅(qū)動程序,鍵盤設(shè)備的描述符為每個鍵盤所代表的信息對應的代碼。
[0051]映射表讀取單元212從映射表存儲單元216中將手勢操作到鍵盤消息的映射表讀取出來,并存儲在臨時存儲單元213,這一功能將映射表從設(shè)備的外存儲器調(diào)入內(nèi)存儲器,能夠?qū)崿F(xiàn)更快的訪問速度。當鍵盤消息獲取單元215接收到手勢操作的信息,需要從手勢操作到鍵盤消息的映射表中獲取對應的鍵盤消息時,無需對映射表存儲單元216進行訪問,僅需訪問臨時存儲單元213即可,由于臨時存儲單元213具有存取速度快的特點,因此鍵盤消息獲取單元215能夠迅速的獲取手勢操作對應的鍵盤消息。本實施例中,所述臨時存儲單元213優(yōu)選的為所述人機交互設(shè)備21的內(nèi)存儲器。
[0052]為了保證設(shè)備程序的正確運行,如圖3所示,本實施例中所述手勢操作檢測單元214優(yōu)選的包括:檢測結(jié)果生成單元2141和檢測結(jié)果判斷單元2142 ;
[0053]所述檢測結(jié)果生成單元2141用于檢測用戶的手勢操作,生成檢測結(jié)果,并將所述檢測結(jié)果發(fā)送給所述檢測結(jié)果判斷單元2142 ;
[0054]所述檢測結(jié)果判斷單元2142用于接收所述檢測結(jié)果生成單元發(fā)送的檢測結(jié)果,根據(jù)所述檢測結(jié)果判斷是否檢測到手勢操作,如果是,則將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元215,如果否,則觸發(fā)所述檢測結(jié)果生成單元2141繼續(xù)檢測用戶的手勢操作。
[0055]手勢操作檢測單元214的檢測結(jié)果生成單元2141不斷的對人機交互設(shè)備21的周圍進行掃描檢測,得到一定的信號作為檢測結(jié)果,但是不一定每次得到的信號都是用戶的手勢操作產(chǎn)生的,可能沒有手勢操作,或者檢測到設(shè)備周圍其它的信號,因此最好能夠?qū)z測得到信號進行判斷,以明確檢測結(jié)果中是否包含手勢操作的信息,如果是,則繼續(xù)進行下一步的操作,如果否,則說明當前時刻設(shè)備周圍沒有手勢操作,需要檢測結(jié)果生成單元2141繼續(xù)進行檢測。通過上述過程,可避免人機交互設(shè)備對錯誤的信號產(chǎn)生誤操作,保證設(shè)備正確、順利、高效率的工作。
[0056]當鍵盤消息獲取單元215根據(jù)接收到的手勢操作,找出對應的鍵盤消息后,由于人機交互設(shè)備21的USB描述符中添加了鍵盤設(shè)備的描述符,因此人機交互設(shè)備21可通過自身的USB接口將鍵盤消息發(fā)送給主機22。
[0057]本實施例中,為保證主機22的工作正確、順利的進行,如圖4所示,所述鍵盤消息查詢單元221優(yōu)選的包括:查詢結(jié)果生成單元2211、查詢結(jié)果判斷單元2212和鍵盤消息判斷單元2213 ;
[0058]所述查詢結(jié)果生成單元2211用于在所述主機22內(nèi)查詢所述鍵盤消息獲取單元215發(fā)送的鍵盤消息,生成查詢結(jié)果,并將所述查詢結(jié)果發(fā)送給所述查詢結(jié)果判斷單元2212 ;
[0059]所述查詢結(jié)果判斷單元2212用于接收所述鍵盤消息查詢單元2211發(fā)送的查詢結(jié)果,根據(jù)所述查詢結(jié)果判斷是否查詢到所述鍵盤消息獲取單元215發(fā)送的鍵盤消息,如果是,則將查詢到的鍵盤消息發(fā)送給所述鍵盤消息判斷單元2213,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機22內(nèi)查詢所述鍵盤消息獲取單元215發(fā)送的鍵盤消息;
[0060]所述鍵盤消息判斷單元2213用于接收所述查詢結(jié)果判斷單元2212發(fā)送的鍵盤消息,根據(jù)所述鍵盤消息判斷所述鍵盤消息是否為所述手勢操作檢測單元214檢測到的手勢操作所對應的鍵盤消息,如果是,則將所述鍵盤消息發(fā)送給所述手勢操作處理單元222,如果否,則觸發(fā)所述查詢結(jié)果生成單元2211繼續(xù)在所述主機22內(nèi)查詢所述鍵盤消息獲取單元215發(fā)送的鍵盤消息。
[0061]本實施例通過將鍵盤消息查詢單元221細化為查詢結(jié)果生成單元2211、查詢結(jié)果判斷單元2212和鍵盤消息判斷單元2213,使鍵盤消息查詢單元221不止能夠在主機22內(nèi)查詢鍵盤消息,還能夠?qū)κ欠癫樵兊芥I盤消息、查詢到的鍵盤消息是否為用戶的手勢操作對應的鍵盤消息分別進行判斷,從而保證了主機端程序能夠更加正確、高效的對人機交互設(shè)備21發(fā)送的鍵盤消息進行處理。
[0062]本實施例所提供的人機交互系統(tǒng),通過在人機交互設(shè)備21的USB描述符中添加鍵盤設(shè)備的描述符,并在人機交互設(shè)備21內(nèi)存儲手勢操作到鍵盤消息的映射表,使人機交互設(shè)備21在檢測到手勢操作后,能夠?qū)⑹謩莶僮鲗逆I盤消息通過USB接口發(fā)送給主機22進行相應的操作,從而實現(xiàn)了在無需對人機交互設(shè)備21進行任何應用程序的開發(fā)的前提下,就能夠使設(shè)備實現(xiàn)多點觸摸等功能,簡化了人機交互設(shè)備21使用的開發(fā)操作,降低了用戶使用的門檻和難度,提升了用戶體驗。
[0063]實施例二
[0064]與實施例一相對應的,本實施例提供了一種人機交互方法,應用于實施例一所述的人機交互系統(tǒng),所述人機交互方法可分為設(shè)備端流程和主機端流程兩塊。其中,如圖5所示,設(shè)備端流程包括:
[0065]步驟S51:利用所述人機交互設(shè)備的初始化管理單元初始化所述人機交互設(shè)備,為所述人機交互設(shè)備的USB接口配置HID協(xié)議,并在所述人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符;
[0066]步驟S52:利用所述人機交互設(shè)備的映射表讀取單元從所述人機交互設(shè)備的映射表存儲單元中讀取所述映射表存儲單元存儲的手勢操作到鍵盤消息的映射表,并將所述手勢操作到鍵盤消息的映射表發(fā)送給所述人機交互設(shè)備的臨時存儲單元;
[0067]需要說明的是,本實施例中手勢操作到鍵盤消息的映射表可以在人機交互設(shè)備出廠前由技術(shù)人員燒錄進設(shè)備內(nèi),也可以在人機交互設(shè)備使用時,由用戶根據(jù)自身的操作習慣等進行設(shè)定。
[0068]步驟S53:利用所述臨時存儲單元接收所述映射表讀取單元發(fā)送的手勢操作到鍵盤消息的映射表,并臨時存儲所述手勢操作到鍵盤消息的映射表;
[0069]步驟S54:利用所述人機交互設(shè)備的手勢操作檢測單元檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述人機交互設(shè)備的鍵盤消息獲取單元;
[0070]本實施例中,如圖6所示,上述步驟S54優(yōu)選的可以包括以下步驟:
[0071]步驟S541:利用所述手勢操作檢測單元的檢測結(jié)果生成單元檢測用戶的手勢操作,生成檢測結(jié)果,并將所述檢測結(jié)果發(fā)送給所述手勢操作檢測單元的檢測結(jié)果判斷單元;
[0072]步驟S542:利用所述檢測結(jié)果判斷單元接收所述檢測結(jié)果生成單元發(fā)送的檢測結(jié)果,根據(jù)所述檢測結(jié)果判斷是否檢測到手勢操作,如果是,則將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元(即進入步驟S55),如果否,則觸發(fā)所述檢測結(jié)果生成單元繼續(xù)檢測用戶的手勢操作(即返回步驟S541)。
[0073]通過上述步驟S541和步驟S542的進行,能夠保證人機交互設(shè)備正確、順利、高效的進行工作。
[0074]步驟S55:利用所述鍵盤消息獲取單元接收所述手勢操作檢測單元發(fā)送的手勢操作的信息,根據(jù)所述手勢操作的信息從所述臨時存儲單元臨時存儲的手勢操作到鍵盤消息的映射表中獲取所述手勢操作對應的鍵盤消息,并將所述鍵盤消息通過所述人機交互設(shè)備的USB接口發(fā)送給所述主機;
[0075]如圖7所示,主機端流程包括:
[0076]步驟S71:利用所述主機的鍵盤消息查詢單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述主機的手勢操作處理單元;
[0077]如圖8所示,上述步驟S71優(yōu)選的可以包括以下步驟:
[0078]步驟S711:利用所述鍵盤消息查詢單元的查詢結(jié)果生成單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,生成查詢結(jié)果,并將所述查詢結(jié)果發(fā)送給所述鍵盤消息查詢單元的查詢結(jié)果判斷單元;
[0079]步驟S712:利用所述查詢結(jié)果判斷單元接收所述鍵盤消息查詢單元發(fā)送的查詢結(jié)果,根據(jù)所述查詢結(jié)果判斷是否查詢到所述鍵盤消息獲取單元發(fā)送的鍵盤消息,如果是,則將查詢到的鍵盤消息發(fā)送給所述鍵盤消息查詢單元的鍵盤消息判斷單元(即進入步驟S713),如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息(即返回步驟S711);
[0080]步驟S713:利用所述鍵盤消息判斷單元接收所述查詢結(jié)果判斷單元發(fā)送的鍵盤消息,判斷所述鍵盤消息是否為所述手勢操作檢測單元檢測到的手勢操作所對應的鍵盤消息,如果是,則將所述鍵盤消息發(fā)送給所述手勢操作處理單元(即進入步驟S72),如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息(即返回步驟S711)。
[0081 ] 通過上述步驟S711、步驟S712和步驟S713的進行,能夠保證主機正確、順利、高效的進行工作。
[0082]步驟S72:利用所述手勢操作處理單元接收所述鍵盤消息查詢單元發(fā)送的鍵盤消息,并根據(jù)所述鍵盤消息進行對應的手勢操作的處理。
[0083]本實施例所提供的方法中,在人機交互設(shè)備上電后,首先要在人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符,使人機交互設(shè)備能夠通過自身的USB接口向主機發(fā)送鍵盤消息。且人機交互設(shè)備內(nèi)存儲有手勢操作到鍵盤消息的映射表,使人機交互設(shè)備在檢測到周圍有用戶的手勢操作后,能夠查詢該映射表,得到手勢操作對應的鍵盤消息,并通過提前配置好的USB接口將該鍵盤消息發(fā)送給主機,從而使主機能夠根據(jù)該反映了手勢操作的信息的鍵盤消息,進行相應的操作。
[0084]由于設(shè)備是通過發(fā)送鍵盤消息來進行手勢操作的執(zhí)行的,因此用戶使用設(shè)備時,無需開發(fā)應用程序,降低了對客戶使用的門檻和難度,提升了用戶體驗,且節(jié)約了用戶開發(fā)所需的成本。
[0085]并且,上述方法適用于多種操作系統(tǒng)中,人機交互設(shè)備用于不同的操作系統(tǒng)時,用戶不必重新開發(fā)應用程序,利用設(shè)備直接發(fā)送操作系統(tǒng)或相關(guān)軟件常用的鍵盤消息即可實現(xiàn)所需的操作,從而簡化了使用設(shè)備的操作,節(jié)省了開發(fā)成本,對提高操作系統(tǒng)的兼容性有助益。
[0086]下面舉例對此進行說明。當人機交互設(shè)備應用于Mac OS操作系統(tǒng)中時,由于MacOS操作系統(tǒng)的多點手勢的協(xié)議是不開放給普通的USB人機交互設(shè)備的,因此現(xiàn)有技術(shù)中基于Mac OS操作系統(tǒng)的人機交互設(shè)備要想實現(xiàn)多點手勢的功能,就需要用戶自己開發(fā)應用程序,操作復雜,難度高。本實施例中通過發(fā)送手勢操作對應的鍵盤消息,可實現(xiàn)基于Mac OS操作系統(tǒng)的人機交互設(shè)備的多點手勢的各項操作的效果。
[0087]例如:人機交互設(shè)備識別到“放大”的手勢操作,通過USB接口發(fā)送“Win+ ‘ + ’ ”的鍵盤消息,操作系統(tǒng)則對圖片進行放大處理;人機交互設(shè)備識別到“縮小”的手勢操作,通過USB接口發(fā)送“Win+ 的鍵盤消息,操作系統(tǒng)則對圖片進行縮小處理;人機交互設(shè)備識別到“向左旋轉(zhuǎn)”的手勢操作,通過USB接口發(fā)送“Win+ ‘L’ ”的鍵盤消息,操作系統(tǒng)則對圖片進行向左旋轉(zhuǎn)處理;人機交互設(shè)備識別到“向右旋轉(zhuǎn)”的手勢操作,通過USB接口發(fā)送“Win+ ‘R’”的鍵盤消息,操作系統(tǒng)則對圖片進行向右旋轉(zhuǎn)處理;其它手勢操作以此類推。
[0088]在Windows或Linux操作系統(tǒng)中,有些應用軟件開始設(shè)計時沒做多點手勢的處理,但提供了鍵盤快捷鍵的操作,如:“放大”為“Ctrl+ ‘ + 縮小”為“Ctrl+向左旋轉(zhuǎn)”為“Ctrl+L”,“向右旋轉(zhuǎn)”為“Ctrl+R”等,采用本實施所提供的人機交互方法,人機交互設(shè)備檢測到放大、縮小、向左旋轉(zhuǎn)、向右旋轉(zhuǎn)等手勢操作后,直接發(fā)送對應的鍵盤消息,這樣基于Windows或Linux操作系統(tǒng)的應用軟件就可以直接支持多點手勢,不需修改軟件。
[0089]本實施例所提供的人機交互方法應用于教育、會議等領(lǐng)域中的某些人機交互設(shè)備中,根據(jù)實際需要開發(fā)設(shè)備的功能時,可簡化開發(fā)過程,使編寫代碼等操作比較容易。
[0090]例如:一般在帶觸摸屏的電子白板的邊沿部分會留出一部分做快捷鍵使用,當用戶點擊其中一部分區(qū)域時,觸摸屏就需要發(fā)送點擊此區(qū)域的消息給電子白板的應用軟件。本實施例中,用戶可以根據(jù)實際需要隨時設(shè)置這些留出的邊沿部分的區(qū)域大小和快捷鍵對應的鍵盤消息,處理手勢操作發(fā)送為鍵盤消息,電子白板軟件可以十分方便的獲取到手勢操作對應的鍵盤消息,向?qū)某绦虼a也比較容易寫。
[0091]雖然本發(fā)明已以較佳實施例披露如上,然而并非用以限定本發(fā)明。任何熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的方法和技術(shù)內(nèi)容對本發(fā)明技術(shù)方案作出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護的范圍內(nèi)。
【權(quán)利要求】
1.一種人機交互系統(tǒng),其特征在于,包括:人機交互設(shè)備和通過所述人機交互設(shè)備的USB接口與所述人機交互設(shè)備相連的主機; 其中,所述人機交互設(shè)備包括:映射表存儲單元、初始化管理單元、映射表讀取單元、臨時存儲單元、手勢操作檢測單元和鍵盤消息獲取單元; 所述映射表存儲單元存儲有手勢操作到鍵盤消息的映射表,所述手勢操作到鍵盤消息的映射表中的每一個手勢操作均唯一對應一條鍵盤消息; 所述初始化管理單元用于初始化所述人機交互設(shè)備,為所述人機交互設(shè)備的USB接口配置HID協(xié)議,并在所述人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符; 所述映射表讀取單元用于從所述映射表存儲單元中讀取所述手勢操作到鍵盤消息的映射表,并將所述手勢操作到鍵盤消息的映射表發(fā)送給所述臨時存儲單元; 所述臨時存儲單元用于接收所述映射表讀取單元發(fā)送的手勢操作到鍵盤消息的映射表,并臨時存儲所述手勢操作到鍵盤消息的映射表; 所述手勢操作檢測單元用于檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元; 所述鍵盤消息獲取單元用于接收所述手勢操作檢測單元發(fā)送的手勢操作的信息,根據(jù)所述手勢操作的信息從所述臨時存儲單元臨時存儲的手勢操作到鍵盤消息的映射表中獲取所述手勢操作對應的鍵盤消息,并將所述鍵盤消息通過所述人機交互設(shè)備的USB接口發(fā)送給所述主機; 所述主機包括:鍵盤消息查詢單元和手勢操作處理單元; 所述鍵盤消息查詢單元用于在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述手勢操作處理單元; 所述手勢操作處理單元用于接收所述鍵盤消息查詢單元發(fā)送的鍵盤消息,并根據(jù)所述鍵盤消息進行對應的手勢操作的處理。
2.根據(jù)權(quán)利要求1所述的人機交互系統(tǒng),其特征在于,所述手勢操作檢測單元包括:檢測結(jié)果生成單元和檢測結(jié)果判斷單元; 所述檢測結(jié)果生成單元用于檢測用戶的手勢操作,生成檢測結(jié)果,并將所述檢測結(jié)果發(fā)送給所述檢測結(jié)果判斷單元; 所述檢測結(jié)果判斷單元用于接收所述檢測結(jié)果生成單元發(fā)送的檢測結(jié)果,根據(jù)所述檢測結(jié)果判斷是否檢測到手勢操作,如果是,則將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元,如果否,則觸發(fā)所述檢測結(jié)果生成單元繼續(xù)檢測用戶的手勢操作。
3.根據(jù)權(quán)利要求1所述的人機交互系統(tǒng),其特征在于,所述鍵盤消息查詢單元包括:查詢結(jié)果生成單元、查詢結(jié)果判斷單元和鍵盤消息判斷單元; 所述查詢結(jié)果生成單元用于在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,生成查詢結(jié)果,并將所述查詢結(jié)果發(fā)送給所述查詢結(jié)果判斷單元; 所述查詢結(jié)果判斷單元用于接收所述鍵盤消息查詢單元發(fā)送的查詢結(jié)果,根據(jù)所述查詢結(jié)果判斷是否查詢到所述鍵盤消息獲取單元發(fā)送的鍵盤消息,如果是,則將查詢到的鍵盤消息發(fā)送給所述鍵盤消息判斷單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息; 所述鍵盤消息判斷單元用于接收所述查詢結(jié)果判斷單元發(fā)送的鍵盤消息,根據(jù)所述鍵盤消息判斷所述鍵盤消息是否為所述手勢操作檢測單元檢測到的手勢操作所對應的鍵盤消息,如果是,則將所述鍵盤消息發(fā)送給所述手勢操作處理單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息。
4.根據(jù)權(quán)利要求1所述的人機交互系統(tǒng),其特征在于,所述映射表存儲單元為所述人機交互設(shè)備的閃存或帶電可擦除可編程只讀存儲器。
5.根據(jù)權(quán)利要求1所述的人機交互系統(tǒng),其特征在于,所述臨時存儲單元為所述人機交互設(shè)備的內(nèi)存儲器。
6.一種人機交互方法,應用于權(quán)利要求1~5任一項所述的人機交互系統(tǒng),其特征在于,所述人機交互方法包括: 利用所述人機交互設(shè)備的初始化管理單元初始化所述人機交互設(shè)備,為所述人機交互設(shè)備的USB接口配置HID協(xié)議,并在所述人機交互設(shè)備的USB描述符中添加鍵盤設(shè)備的描述符; 利用所述人機交互設(shè)備的映射表讀取單元從所述人機交互設(shè)備的映射表存儲單元中讀取所述映射表存儲單元存儲的手勢操作到鍵盤消息的映射表,并將所述手勢操作到鍵盤消息的映射表發(fā)送給所述人機交互設(shè)備的臨時存儲單元; 利用所述臨時存儲單元接收所述映射表讀取單元發(fā)送的手勢操作到鍵盤消息的映射表,并臨時存儲所述手勢操作到鍵盤消息的映射表; 利用所述人機交互設(shè)備的手勢操作檢測單元檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述人機交互設(shè)備的鍵盤消息獲取單元; 利用所述鍵盤消息獲取單元接收所述手勢操作檢測單元發(fā)送的手勢操作的信息,根據(jù)所述手勢操作的信息從所述臨時存儲單元臨時存儲的手勢操作到鍵盤消息的映射表中獲取所述手勢操作對應的鍵盤消息,并將所述鍵盤消息通過所述人機交互設(shè)備的USB接口發(fā)送給所述主機; 利用所述主機的鍵盤消息查詢單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述主機的手勢操作處理單元; 利用所述手勢操作處理單元接收所述鍵盤消息查詢單元發(fā)送的鍵盤消息,并根據(jù)所述鍵盤消息進行對應的手勢操作的處理。
7.根據(jù)權(quán)利要求6所述的人機交互方法,其特征在于,所述利用所述人機交互設(shè)備的手勢操作檢測單元檢測用戶的手勢操作,并將檢測到的手勢操作的信息發(fā)送給所述人機交互設(shè)備的鍵盤消息獲取單元包括: 利用所述手勢操作檢測單元的檢測結(jié)果生成單元檢測用戶的手勢操作,生成檢測結(jié)果,并將所述檢測結(jié)果發(fā)送給所述手勢操作檢測單元的檢測結(jié)果判斷單元; 利用所述檢測結(jié)果判斷單元接收所述檢測結(jié)果生成單元發(fā)送的檢測結(jié)果,根據(jù)所述檢測結(jié)果判斷是否檢測到手勢操作,如果是,則將檢測到的手勢操作的信息發(fā)送給所述鍵盤消息獲取單元,如果否,則觸發(fā)所述檢測結(jié)果生成單元繼續(xù)檢測用戶的手勢操作。
8.根據(jù)權(quán)利要求6所述的人機交互方法,其特征在于,所述利用所述主機的鍵盤消息查詢單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,并將查詢到的鍵盤消息發(fā)送給所述主機的手勢操作處理單元包括: 利用所述鍵盤消息查詢單元的查詢結(jié)果生成單元在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息,生成查詢結(jié)果,并將所述查詢結(jié)果發(fā)送給所述鍵盤消息查詢單元的查詢結(jié)果判斷單元; 利用所述查詢結(jié)果判斷單元接收所述鍵盤消息查詢單元發(fā)送的查詢結(jié)果,根據(jù)所述查詢結(jié)果判斷是否查詢到所述鍵盤消息獲取單元發(fā)送的鍵盤消息,如果是,則將查詢到的鍵盤消息發(fā)送給所述鍵盤消息查詢單元的鍵盤消息判斷單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所述鍵盤消息獲取單元發(fā)送的鍵盤消息; 利用所述鍵盤消息判斷單元接收所述查詢結(jié)果判斷單元發(fā)送的鍵盤消息,判斷所述鍵盤消息是否為所述手勢操作檢測單元檢測到的手勢操作所對應的鍵盤消息,如果是,則將所述鍵盤消息發(fā)送給所述手勢操作處理單元,如果否,則觸發(fā)所述查詢結(jié)果生成單元繼續(xù)在所述主機內(nèi)查詢所 述鍵盤消息獲取單元發(fā)送的鍵盤消息。
【文檔編號】G06F3/0488GK103530059SQ201310528633
【公開日】2014年1月22日 申請日期:2013年10月30日 優(yōu)先權(quán)日:2013年10月30日
【發(fā)明者】劉偉高, 左春生, 徐翱, 劉軍剛, 張勇, 張靜 申請人:廣州視睿電子科技有限公司