一種人機接口設備的數據傳輸方法及裝置的制造方法
【技術領域】
[0001] 本發明涉及數據傳輸技術領域,特別涉及一種人機接口設備的數據傳輸方法及裝 置。
【背景技術】
[0002] HID(Human Interface Device,人機接口設備)是USB設備中常用的設備類型,是 直接與人交互的USB設備。在USB設備中,HID的成本較低,另外HID并不一定要有人機交互功 能,只要符合HID類別規范的設備都是HID,例如藍牙HID。
[0003] 目前智能電視上使用的HID主要包括遙控器、鍵鼠(USB、藍牙)、游戲手柄、麥克風、 觸控屏等,其傳輸的數據主要包括兩種類型,一種是按鍵類、坐標類的小數據,另一種是語 音、版本升級、鍵值映射表類的大數據。對于按鍵和坐標類的小數據,1 inux內核已有成熟的 處理機制,實現應用程序與內核及驅動軟件的交互。
[0004] 但是,對于大數據的類型,HID設備在交互數據時,是按數據包進行傳輸的,也即, 應用程序與HID設備按約定的方式組包或分包傳輸的數據包,然而,組包或分包在現有技術 中并無統一規范,而是由各設備商自行約定,由于設備類型、廠商不同,對數據的處理及傳 輸方法也各不相同,因此需要應用程序根據這些差異進行適配,從而造成應用程序移植性 差,開發及維護成本高。
[0005] 也即,現有技術的不足在于,目前的HID設備的適配通用性差,從而造成應用程序 移植性差,開發及維護成本高。
【發明內容】
[0006] 本發明提供了一種人機接口設備的數據傳輸方法及裝置,用以提高HID的適配通 用性。
[0007] 本發明實施例中提供了 一種人機接口設備的數據傳輸方法,包括:
[0008] 在確定人機接口設備HID將傳輸至應用程序的數據后,將HID傳輸至應用程序的數 據按TTY串行設備協議進行組包后傳輸至應用程序;
[0009] 和/或,
[0010]在確定應用程序將傳輸至HID的數據后,將應用程序傳輸至HID的數據按TTY串行 設備協議進行分包后傳輸至HID。
[0011] 本發明實施例中提供了一種HID的數據傳輸裝置,包括:
[0012] 確定模塊,用于確定HID將傳輸至應用程序的數據,和/或,確定應用程序將傳輸至 HID的數據;
[0013]傳輸模塊,用于在確定人機接口設備HID將傳輸至應用程序的數據后,將HID傳輸 至應用程序的數據按TTY串行設備協議進行組包后傳輸至應用程序,和/或,在確定應用程 序將傳輸至HID的數據后,將應用程序傳輸至HID的數據按TTY串行設備協議進行分包后傳 輸至HID。
[0014] 本發明有益效果如下:
[0015] 在本發明實施例提供的技術方案中,在應用程序與HID進行數據交互時,先將這些 數據按TTY串行設備協議處理,具體的,也即將HID傳輸至應用程序的數據按TTY串行設備協 議進行組包后傳輸至應用程序;和/或,將應用程序傳輸至HID的數據按TTY串行設備協議進 行分包后傳輸至HID。
[0016] 在現有技術中,應用程序與HID設備需要按約定的方式進行組包或分包傳輸,然 而,組包或分包在現有技術中并無統一規范,而是由各設備商自行約定,由于設備類型、廠 商不同,對數據的處理及傳輸方法也各不相同,這樣在現有技術中不得不根據這些差異對 應用程序進行適配,從而造成應用程序移植性差。也即,現有技術的不足在于沒有一個統一 的標準來處理HID與應用程序的交互,這樣,在本發明實施例提供的技術方案中,采用了按 TTY串行設備協議進行處理的手段,而TTY設備是已有的一套成熟完整的支持架構,因此應 用程序只需采用通用訪問虛擬tty串口終端設備的方式即可訪問HID,完成與相應HID的數 據傳輸,同時還因為TTY設備是已有的一套成熟完整的支持架構,是業界都已熟知的標準, 所以對應用程序與HID之間的交互要求降低,不再需要按照約定的方式進行組包或分包傳 輸,有效的平滑了由設備類型、廠商不同造成的差異,當不需要為應用程序與HID交互數據 適配專有的組包或分包傳輸方案時,也相應的提高了應用程序的可移植性,降低了開發和 維護成本。
【附圖說明】
[0017] 此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,本發 明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0018] 圖1為本發明實施例中HID的數據傳輸方法實施流程示意圖;
[0019] 圖2為本發明實施例中報告描述符解析后得到結構模型示意圖;
[0020] 圖3為本發明實施例中某品牌鼠標的報告描述符實例示意圖;
[0021 ]圖4為本發明實施例中讀操作實施流程示意圖;
[0022] 圖5為本發明實施例中寫操作實施流程示意圖;
[0023] 圖6為本發明實施例中HID的數據傳輸裝置結構示意圖。
【具體實施方式】
[0024]下面結合附圖對本發明的【具體實施方式】進行說明。
[0025]本發明實施例中提出了一種基于TTY技術的HID數據處理及傳輸方案,在應用程序 與HID驅動軟件中間添加數據處理層,有效的平滑由設備類型、廠商不同造成的差異,提高 應用程序的可移植性,降低開發和維護成本。下面對本發明實施例中提供的HID的數據傳輸 方法的實施進行說明。
[0026]圖1為HID的數據傳輸方法實施流程示意圖,如圖所示,可以包括:
[0027]步驟101、確定HID將傳輸至應用程序的數據;
[0028]步驟102、在確定HID將傳輸至應用程序的數據后,將HID傳輸至應用程序的數據按 TTY串行設備協議進行組包后傳輸至應用程序;
[0029]和/或,
[0030]步驟103、確定應用程序將傳輸至HID的數據;
[0031]步驟104、在確定應用程序將傳輸至HID的數據后,將應用程序傳輸至HID的數據按 TTY串行設備協議進行分包后傳輸至HID。
[0032] 實施中,步驟101、102是HID傳輸數據至應用程序的實施,步驟103、104是應用程序 數據傳輸至HID的實施,本領域技術人員容易理解,二者之間并無必然的時序聯系,同時,它 們可以單獨實施也可以配合實施。
[0033]在現有技術中,應用程序與HID設備需要按約定的方式進行組包或分包傳輸,然 而,組包或分包在現有技術中并無統一規范,而是由各設備商自行約定,由于設備類型、廠 商不同,對數據的處理及傳輸方法也各不相同,這樣在現有技術中不得不根據這些差異對 應用程序進行適配,從而造成應用程序移植性差。也即,現有技術的不足在于沒有一個統一 的標準來處理HID與應用程序的交互,這樣,在本發明實施例提供的技術方案中,采用了按 TTY串行設備協議進行處理的手段,而TTY設備是已有的一套成熟完整的支持架構,因此應 用程序只需采用通用訪問虛擬tty串口終端設備的方式即可訪問HID,完成與相應HID的數 據傳輸,同時還因為TTY設備是已有的一套成熟完整的支持架構,是業界都已熟知的標準, 所以對應用程序與HID之間的交互要求降低,不再需要按照約定的方式進行組包或分包傳 輸,有效的平滑了由設備類型、廠商不同造成的差異,當不需要為應用程序與HID交互數據 適配專有的組包或分包傳輸方案時,也相應的提高了應用程序的可移植性,降低了開發和 維護成本。
[0034]下面對步驟101中的HID以及步驟102中的TTY技術的具體實施進行說明。
[0035]應用程序既可以是上層的應用程序,也可以是系統的應用程序等應用程序,實施 中,具體與HID交互數據的必然是數據處理設備中的某一應用程序,因此,只要是需要與HID 交互數據的應用程序均可采用本方案。由于APP是較為常見的應用程序形式,因此,實施例 中將主要以APP的實施為例進行說明。
[0036