TWI695297B - 鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體 - Google Patents

鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體 Download PDF

Info

Publication number
TWI695297B
TWI695297B TW105113622A TW105113622A TWI695297B TW I695297 B TWI695297 B TW I695297B TW 105113622 A TW105113622 A TW 105113622A TW 105113622 A TW105113622 A TW 105113622A TW I695297 B TWI695297 B TW I695297B
Authority
TW
Taiwan
Prior art keywords
key
gesture
keyboard
command
sensor
Prior art date
Application number
TW105113622A
Other languages
English (en)
Other versions
TW201738695A (zh
Inventor
姚秉洋
Original Assignee
姚秉洋
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 姚秉洋 filed Critical 姚秉洋
Priority to TW105113622A priority Critical patent/TWI695297B/zh
Priority to CN201710208144.XA priority patent/CN107402707A/zh
Priority to US15/581,734 priority patent/US10365726B2/en
Publication of TW201738695A publication Critical patent/TW201738695A/zh
Application granted granted Critical
Publication of TWI695297B publication Critical patent/TWI695297B/zh

Links

Images

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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/021Arrangements integrating additional peripherals in a keyboard, e.g. card or barcode reader, optical scanner
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose keyboards
    • 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/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

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)
  • Multimedia (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一種鍵盤手勢指令之產生方法,應用於相互連接的一實體鍵盤、一螢幕、一感應器及一電算裝置,該實體鍵盤包含複數按鍵,該感應器用以偵測並取得一操作位置影像,該鍵盤手勢指令之產生方法包含:載入一指令條件定義表,該指令條件定義表包含複數個手勢指令,每個該手勢指令包含複數個指令條件及對應的一定義值;讀取該感應器取得之該操作位置影像;將該操作位置影像轉換為一操作位置資料,該操作位置資料包括被參考的該按鍵的一相對位置資料;根據多組連續的該操作位置資料識別一手勢事件;取得該手勢事件之複數偵測值並與該些定義值比對;若該些偵測值與其中一個該手勢指令之所有該些指令條件之該定義值相符,停止該手勢事件之追蹤;及執行相符之該手勢指令。

Description

鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體
本發明是關於一種電腦、行動裝置或抬頭顯示裝置/頭戴顯示裝置/虛擬實境裝置等電算裝置之鍵盤操作方法,特別是關於一種利用實體鍵盤及感應器進行鍵盤手勢操作指令之產生方法及其電腦程式產品。
美國專利Patent No. 8,928,590 B1(發明者Tarek)之「GESTURE KEYBOARD METHOD AND APPARATUS」,其中揭露一種可捕捉操作手勢的鍵盤,其利用裝設在鍵盤上的一對相機鏡頭捕捉使用者在手勢操作範圍(即,相機鏡頭的可視範圍)內的操作手勢,經由手勢辨識後,即可與系統互動。
先前技術的手勢操作範圍約在鍵盤上方4英吋處,其操作手勢與實體鍵盤上的按鍵並無任何相對應的關係,其利用攝像鏡頭所拍攝的影像由於缺乏以按鍵位置作為參考依據,在影像辨識時缺乏參考依據易有手勢(即指令)誤判的問題,因此,實有必要改善先前技術以提出一種利用實體鍵盤上的按鍵位置作為參考依據以將手勢操作轉換為對應的手勢指令,以操作電算裝置上之應用程式,避免手勢誤判的問題。
有鑑於此,本發明提出一種鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體,其目的在於,利用實體鍵盤與攝像鏡頭產生手勢指令,以操控電算裝置上所執行的應用程式。
本發明一實施例提出一種鍵盤手勢指令之產生方法,應用於相互連接的一實體鍵盤、一螢幕、一感應器及一電算裝置,該實體鍵盤包含複數按鍵,響應該些按鍵的擊鍵而輸出一按鍵掃描碼至該電算裝置,該感應器用以偵測並取得一操作位置影像,該鍵盤手勢指令之產生方法包含:載入一指令條件定義表,該指令條件定義表包含複數個手勢指令,每個該手勢指令包含複數個指令條件及對應的一定義值;讀取該感應器取得之該操作位置影像;將該操作位置影像轉換為一操作位置資料,該操作位置資料包括被參考的該按鍵的一相對位置資料;根據多組連續之該操作位置資料識別一手勢事件;取得該手勢事件之複數偵測值並與該些定義值比對;若該些偵測值與其中一個該手勢指令之所有該些指令條件之該定義值相符,停止該手勢事件之追蹤;及,執行相符之該手勢指令。
本發明復提出一種電腦程式產品,適於儲存於一電腦可讀取媒體,當電腦載入該電腦程式並執行後,可完成前述之該鍵盤手勢指令之產生方法。
本發明又再提出一種非暫態電腦可讀取媒體,儲存一電腦程式,該電腦程式包含電腦可執行之複數指令,用以執行前述之該鍵盤手勢指令之產生方法。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者瞭解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。
本發明係使用於但不限定於個人電腦(PC/Mac)、筆記型電腦(Laptop/Notebook/Portable Computer)、智慧手機(Smartphone)、平板電腦(Tablet PC)、智慧電視(Smart TV)、抬頭顯示裝置(Head-Up Display)/頭戴顯示裝置(Head-Mounted Display)/虛擬實境裝置(Virtual Reality Display)、電視遊樂器(Video Game Console,或TV Game Console)…等等電算裝置(Computing Device),係通訊連接實體鍵盤10、20、30、40、50與螢幕76a、76b、76c。所述通訊連接的方式可為無線通訊或有線通訊方式。實體鍵盤10、20、30、40、50與螢幕76a、76b、76c可設置於電算裝置外部而與電算裝置連接,或者可內置於電算裝置中。
本說明書之圖式係用以說明本發明之功能及技術特徵,並非用以限定本發明之外觀造型。以下將分別說明實體鍵盤10、20、30、40、50之多個實施例及螢幕鍵盤68a、68b、68c、68d之多個實施例,此些不同實施例之實體鍵盤10、20、30、40、50可和此些不同實施例之螢幕鍵盤68a、68b、68c、68d任意配合。
請參閱第1圖。第1圖為本發明第一實施例實體鍵盤之示意圖。本實施例之實體鍵盤10包括基座11、複數按鍵12、光源模組13、第一感應器14、第二感應器15以及控制模組16。基座11具有容置空間111用以容設複數按鍵12。第1圖所示之實體鍵盤10透過多個區域的開孔以容置不同功能之該些按鍵12,其為習知常用之技術手段,在此便不加以贅述。
光源模組13設置於基座11,用以向複數按鍵12提供光源。如第1圖中所示,在基座11上方較長邊的中央位置外側邊,設置可容設光源模組13之固定座112。光源模組13是朝向複數按鍵12設置,以提供複數按鍵12所需的光源。在本實施例中,為能向所有按鍵12提供光源,光源模組13所設置之高度會高於所有按鍵之高度,以使得光源模組13所發出的光源,能夠照射到所有按鍵12,亦或是使所有按鍵12位在的區域產生足夠的環境亮度。另外,光源模組13可為一LED元件,且可發出可見光。在其他實施態樣中,光源模組亦可為發出紅外線光之LED元件,本發明不以此為限。
第一感應器14及第二感應器15亦設置於基座11並朝向複數按鍵12。在本實施例中,第一感應器14及第二感應器15同樣設置於固定座112上,並朝向複數按鍵12。第一感應器14用以偵測複數按鍵12之環境亮度,第二感應器15用以偵測並取得操作位置影像。在本實施例中,固定座112係設置於基座11上方較長邊的中央位置外側邊,其是為了使光源模組13、第一感應器14及第二感應器15能夠左右對稱得向複數按鍵12提供光源或進行偵測,但本發明不以此為限。在其他實施態樣中,固定座112可設置於基座11的任一側邊的任一位置,只能要夠提供複數按鍵12光源,並偵測或照射複數按鍵12即可。另外,本實施例中的光源模組13、第一感應器14及第二感應器15皆設置於一個固定座112,但本發明亦不以此為限。光源模組13、第一感應器14及第二感應器15亦可分別設置於基座11的任一位置,或二二一組設置於基座11的任一位置。或第一感應器14設置於基座11的任一位置,光源模組13及第二感應器15設置於一個固定座112。
在本實施例中,第一感應器14為光度感應器,或稱環境光感應器(Ambient Light Sensor)。第一感應器14可偵測複數按鍵12所在環境的環境亮度。第一感應器14是為了判斷複數按鍵12所在的環境亮度是否充足,以使第二感應器15可偵測並取得所需資料。
在本實施例中,第二感應器15為攝像鏡頭,而第二感應器15偵測並取得的操作位置影像即為拍攝到的手指與按鍵12影像,此影像由控制模組16傳送至電算裝置64a(如第5圖所示)端,由電算裝置64a端的影像分析模組58進行分析影像,以轉換成操作位置資料其係使用者的手指與該些按鍵12之一相對位置資料。由於第二感應器15需要能夠拍攝到所有按鍵12才能正確判斷使用者的手指與該些按鍵12之相對位置資料,因此第二感應器15所設置之位置要高於任一按鍵12的表面。
控制模組16設置於基座11之容置空間111中,並電連接複數按鍵12、光源模組13、第一感應器14及第二感應器15。控制模組16可位於基座11之容置空間111中的任一位置,本發明不以此為限。當控制模組16接收並判斷第一感應器14偵測到之環境亮度等於或大於預設環境亮度時,即會啟動第二感應器15並接收第二感應器15之操作位置影像。當控制模組16判斷第一感應器14偵測到之環境亮度小於預設環境亮度時,控制模組16開啟光源模組13向複數按鍵12提供光源。
在此,預設環境亮度即為使得第二感應器15能夠清楚偵測並取得操作位置影像的環境亮度。預設環境亮度可事先設定後預存於控制模組16中,以利進行後續比對判斷。控制模組16所接收的操作位置影像,須交由電算裝置64a端進行分析。
當控制模組16要開始取得操作位置影像前,先判斷第一感應器14偵測到之環境亮度是否等於或大於預設環境亮度,若是,則表示第二感應器15可清楚偵測並取得操作位置影像。此時,則啟動第二感應器15開始拍攝並偵測取得操作位置影像。當控制模組16判斷第一感應器14偵測到之環境亮度小於預設環境亮度時,即表示此時第二感應器15所拍攝的影像可能會過暗而無法偵測並取得操作位置影像。因此,控制模組16即會開啟光源模組13向複數按鍵12提供光源,以改善複數按鍵12區域的環境亮度。
藉此,上述實體鍵盤可透過自動補光技術解決當環境光源不足,且應用在抬頭顯示裝置、頭戴顯示裝置或虛擬實境裝置(VR)時,即使在未開燈光的黑暗環境中,使用者藉由本實施例之自動補光技術仍可利用實體鍵盤10輸入資料。
在本實施例中,當第二感應器15已啟動並持續拍攝、偵測並取得操作位置影像時,控制模組16可得知操作位置影像是否包含手指與複數按鍵12之相對位置資料(詳見後述第5圖之說明)。當操作位置影像未包含手指與複數按鍵12之相對位置資料時,即代表使用者已沒有在繼續操作實體鍵盤10,此時控制模組16關閉第二感應器15,停止繼續拍攝、偵測並取得操作位置影像。藉此,可在使用者未操作實體鍵盤10,或持續一段時間未操作實體鍵盤10時主動關閉第二感應器15,以節省電源。
另外,當光源模組13為啟動狀態,此時第一感應器14持續偵測環境亮度,當第一感應器14偵測到之環境亮度大於預設環境亮度時,控制模組16關閉該光源模組13。在此,是當環境亮度已被改善,例如使用者打開室內燈光,第一感應器14偵測到之環境亮度已大於預設環境亮度,即不需要光源模組13之光源進行輔助。此時,控制模組16主動關閉該光源模組13,以節省電源。
接著請參閱第2圖,第2圖為本發明第二實施例實體鍵盤之示意圖。本實施例中與第一實施例相同之元件及結構以相同之元件符號表示且不再贅述。本實施例與第一實施例不同之處在於,本實施例之實體鍵盤20的光源模組為複數個光源模組23,且複數光源模組23是設置於基座11之容置空間111中,並位於複數按鍵12之下方,且可朝向複數按鍵12提供光源。本實施例中複數個光源模組23為複數個LED元件231設置於一個電路板232上並置於按鍵12下方。在其他實施態樣中,複數個光源模組亦可為在每一個按鍵背面設置LED元件,或是於基座之容置空間的側邊設置複數個LED元件,並配合導光板、反射片等元件,使光源由容置空間朝向按鍵12方向射出。
在本實施例中,當控制模組16判斷第一感應器14偵測到之環境亮度小於預設環境亮度時,控制模組16陸續開啟複數光源模組23的至少一個,直到控制模組16判斷第一感應器14偵測到之環境亮度等於或大於預設環境亮度或是複數光源模組23全部開啟。也就是說,當控制模組16判斷現在環境亮度不足時,可先控制一個或多個光源模組23開啟,以提供光源。接著,控制模組16持續接收並判斷第一感應器14偵測到之環境亮度,若仍不足,則再開啟 一個或多個光源模組23。一直到控制模組16判斷第一感應器14偵測到之環境亮度已等於或大於預設環境亮度,才停止再開啟光源模組23。或者控制模組16陸續開啟光源模組23直到所有的光源模組23皆已被開啟。
藉此,可透過控制模組16進行判斷,開啟足夠提供所需環境亮度之光源模組23即可,而不需要每一次在環境亮度不足時就一次開啟所有的光源模組23。如此,在本實施例之實體鍵盤20可在需要時開啟足夠之光源模組23,又可達到節約省電之功效。
請參閱第3圖,第3圖為本發明第三實施例實體鍵盤之示意圖。本實施例之實體鍵盤30包括第一鍵盤31、第二鍵盤32、第一光源模組33、第二光源模組34、第一感應器35、第二感應器36、第三感應器37以及控制模組38。第一鍵盤31包括具有第一容置空間312之第一基座311及複數第一按鍵313,複數第一按鍵313設置於第一容置空間312中。第二鍵盤32包括具有第二容置空間322之第二基座321及複數第二按鍵323,複數第二按鍵323設置於第二容置空間322中。在本實施例中,第一鍵盤31及第二鍵盤32為將一般實體鍵盤之按鍵,分成可成組使用之左右鍵盤,但本發明不以此為限。第一鍵盤及第二鍵盤亦可為文字符號鍵盤與數字鍵盤之組合。
第一光源模組33設置於第一基座311,用以向複數第一按鍵313提供第一光源。如第3圖所示,在第一基座311上方較長邊的中央位置外側邊,設置可容設第一光源模組33之第一固定座314。第一光源模組33是朝向複數第一按鍵313設置,以提供複數第一按鍵313所需的光源。在本實施例中,為能向所有第一按鍵313提供光源,第一光源模組33所設置之高度會高於所有按鍵之高度,以使得第一光源模組33所發出的光源,能夠照射到所有第一按鍵313,亦或是使所有第一按鍵313位在的區域產生足夠的環境亮度。
同樣地,第二光源模組34設置於第二基座321,用以向複數第二按鍵323提供第二光源。如第3圖所示,在第二基座321上方較長邊的中央位置外側邊,設置可容設第二光源模組34之第二固定座324。第二光源模組34是朝向複數第二按鍵323設置,以提供複數第二按鍵323所需的光源。在本實施例中,為能向所有第二按鍵323提供光源,第二光源模組34所設置之高度會高於所有按鍵之高度,以使得第二光源模組34所發出的光源,能夠照射到所有第二按鍵323,亦或是使所有第二按鍵323位在的區域產生足夠的環境亮度。
第一感應器35設置於第一基座311,用以偵測複數第一按鍵313之環境亮度。如第3圖所示,第一感應器35則設置於此第一固定座314上,並朝向複數第一按鍵313。由於第一感應器35不一定要朝向所有按鍵,僅需單點偵測,故,在另一些實施例中,第一感應器35亦可設置於第一基座311或第二基座321的其他位置,例如任意按鍵旁的平面空間(低於按鍵高度)。另外,第一鍵盤31與第二鍵盤32的距離一般來說不可能太遠,兩者的環境亮度通常不會有太大的差異,因此,本實施例以透過一個第一感應器35(僅偵測第一鍵盤31之環境亮度)讓控制模組16同時控制第一光源模組33與第二光源模組34。
在本實施例中,第一感應器35為光度感應器,或稱環境光感應器(Ambient Light Sensor)。第一感應器35可偵測複數第一按鍵313所在環境的環境亮度。在另一些實施例中,第一感應器35設置在第二鍵盤32之第二基座321,以偵測複數第二按鍵323所在環境的環境亮度。第一感應器35是為了判斷複數第一按鍵313(當設置於第一鍵盤31時)或複數第二按鍵323(當設置於第二鍵盤32時)所在的環境亮度是否充足,以使第二感應器36及第三感應器37可偵測並取得所需資料。
第二感應器36設置於第一基座311並朝向複數第一按鍵313。在本實施例中,第二感應器36與第一光源模組33一起設置於第一固定座314上,並朝向複數第一按鍵313。第二感應器36用以偵測並取得第一操作位置影像。在本實施例中,第一固定座314係設置於第一基座311上方側的中央位置外側邊,其是為了使第一光源模組33及第二感應器36能夠左右對稱得向複數第一按鍵313提供光源或進行偵測,但本發明不以此為限。在其他實施態樣中,第一固定座314可設置於第一基座311的任一側邊的任一位置,只能要夠提供複數第一按鍵313光源,並偵測或照射複數第一按鍵313即可。另外,本實施例中的第一光源模組33及第二感應器36皆設置於一個第一固定座314,但本發明亦不以此為限。第一光源模組33及第二感應器36亦可分別設置於第一基座311的任一位置。
第三感應器37設置於第二基座321並朝向複數第二按鍵323。在本實施例中,第三感應器37與第二光源模組34一起設置於第二固定座324上,並朝向複數第二按鍵323。第三感應器37用以偵測並取得第二操作位置影像。在本實施例中,第二固定座324係設置於第二基座321上方側的中央位置外側邊,其是為了使第二光源模組34及第三感應器37能夠左右對稱得向複數第二按鍵323提供光源或進行偵測,但本發明不以此為限。在其他實施態樣中,第二固定座324可設置於第二基座321的任一側邊的任一位置,只能要夠提供複數第二按鍵323光源,並偵測或照射複數第二按鍵323即可。另外,本實施例中的第二光源模組34及第三感應器37皆設置於一個第二固定座324,但本發明亦不以此為限。第二光源模組34及第三感應器37亦可分別設置於第二基座321的任一位置。
在本實施例中,第二感應器36及第三感應器37為攝像鏡頭。而第二感應器36及第三感應器37偵測並取得的操作位置影像即分別為拍攝到的第一影像與第二影像,此第一影像與第二影像由控制模組38傳送至電算裝置64a端,由電算裝置64a端的影像分析模組58進行分析影像,以轉換成操作位置資料其係使用者的手指與複數第一按鍵313或複數第二按鍵323之相對位置資料。由於第二感應器36需要能夠拍攝到所有第一按鍵313才能正確判斷使用者的手指與複數第一按鍵313之第一相對位置資料。第三感應器37需要能夠拍攝到所有第二按鍵323才能正確判斷使用者的手指與複數第二按鍵323之第二相對位置資料。因此第二感應器36所設置之位置要高於任一第一按鍵313的表面,第三感應器37所設置之位置要高於任一第二按鍵323的表面。
控制模組38設置於第二容置空間322中,並電連接複數第一按鍵313、複數第二按鍵323、第一光源模組33、第二光源模組34、第一感應器35、第二感應器36及第三感應器37。在此,雖然控制模組38位於第二容置空間322,但本發明不以此為限。但在其他實施態樣中,控制模組亦可設置於第一容置空間中。另外,本實施例之按制模組38雖然是設置於第二容置空間322中,但其可透過無線模組控制第一鍵盤31中各元件的開啟或關閉,以及接收在第一鍵盤31中各元件所偵測取得之資料。在其他實施態樣中,亦可使用有線方式連接第一鍵盤及第二鍵盤,本發明不以此為限。另外,在一些實施態樣中,亦可於第一鍵盤中設置一個第一控制模組,於第二鍵盤中設置一個第二控制模組,以分別控制第一鍵盤及第二鍵盤中之各元件的運作。
當控制模組38判斷第一感應器35偵測到之環境亮度等於或大於一預設環境亮度時,啟動第二感應器36及第三感應器37並接收第二感應器36之第一操作位置影像與第三感應器37之第二操作位置影像。當控制模組38判斷第一感應器35偵測到之環境亮度小於預設環境亮度時,控制模組38開啟第一光源模組33向複數第一按鍵313提供第一光源、開啟第二光源模34組向複數第二按鍵323提供第二光源或同時開啟第一光源模組33及第二光源模34。
在此,預設環境亮度即為使得第二感應器36及第三感應器37能夠清楚偵測並取得操作位置影像的環境亮度。預設環境亮度可事先設定後預存於控制模組38中,以利進行後續比對判斷。控制模組38所接收的操作位置影像,須交由電算裝置64a端進行分析。
當控制模組38要開始取得第一操作位置影像及第二操作位置影像前,先判斷第一感應器35偵測到之環境亮度是否等於或大於預設環境亮度,若是,則表示第二感應器36及第三感應器37可清楚偵測並取得操作位置影像。此時,則啟動第二感應器15開始拍攝並偵測取得第一操作位置影像及第二操作位置影像。當控制模組38判斷第一感應器35偵測到之環境亮度小於預設環境亮度時,即表示此時第二感應器36或第三感應器37所拍攝的影像可能會過暗而無法偵測並取得第一操作位置影像或第二操作位置影像。因此,控制模組38即會開啟第一光源模組33向複數第一按鍵313提供光源、開啟第二光源模組34向複數第二按鍵323提供光源或同時開啟第一光源模組33及第二光源模組34,以改善複數第一按鍵313及複數第二按鍵323區域的環境亮度。
藉此,上述結構可運用在左右分離式的實體鍵盤,並透過自動補光技術解決當環境光源不足,且應用在抬頭顯示裝置、頭戴顯示裝置或虛擬實境裝置(VR)時,即使在未開燈光的黑暗環境中,使用者藉由本實施例之自動補光技術仍可利用實體鍵盤30輸入資料。
在本實施例中,當第二感應器36及第三感應器37已啟動並持續拍攝、偵測並取得第一操作位置影像及第二操作位置影像後,控制模組38可得知第一操作位置影像是否包含手指與複數第一按鍵313之第一相對位置資料,以及第二操作位置影像是否包含手指與複數第二按鍵323之第二相對位置資料。此相對位置資料可由電算裝置64a端分析後傳回至控制模組38,詳細可參閱後面關於第5圖的說明,雖然並非本實施例之裝置,但原理大致相同。當第一操作位置影像及第二操作位置影像皆未包含手指與複數第一按鍵313之第一相對位置資料及手指與複數第二按鍵323之第二相對位置資料時,即代表使用者已沒有在繼續操作實體鍵盤30,此時控制模組38關閉第二感應器36及第三感應器37,停止繼續拍攝、偵測並取得第一操作位置影像及第二操作位置影像。藉此,可在使用者未操作實體鍵盤30,或持續一段時間未操作實體鍵盤30時主動關閉第二感應器36及第三感應器37,以節省電源。
另外,當第一光源模組33或第二光源模組34為啟動狀態,且第一感應器35偵測到之環境亮度等於或大於預設環境亮度時,控制模組38關閉該第一光源模組33或第二光源模組34。意即,當第一光源模組33為啟動狀態、第二光源模組34為啟動狀態或第一光源模組33及第二光源模組34皆為啟動狀態,此時第一感應器35持續偵測環境亮度,當第一感應器35偵測到之環境亮度大於預設環境亮度時,控制模組38關閉第一光源模組33及第二光源模組34。在此,是當環境亮度已被改善,例如使用者打開室內燈光,第一感應器35偵測到之環境亮度已大於預設環境亮度,即不需要第一光源模組33或第二光源模組34之光源進行輔助。此時,控制模組38主動關閉第一光源模組33及第二光源模組34,以節省電源。
接著請參閱第4圖,第4圖為本發明第四實施例實體鍵盤之示意圖。本實施例中與第三實施例相同之元件及結構以相同之元件符號表示且不再贅述。本實施例與第三實施例不同之處在於,本實施例之實體鍵盤40的第一光源模組為複數個第一光源模組43,且複數第一光源模組43是設置於第一基座311之第一容置空間312中,並位於複數第一按鍵313之下方,且可朝向複數第一按鍵313提供第一光源。且第二光源模組為複數個第二光源模組44,且複數第二光源模組44是設置於第二基座321之第二容置空間322中,並位於複數第二按鍵323之下方,且可朝向複數第二按鍵323提供第二光源。
本實施例中複數個第一光源模組43為複數個LED元件431設置於一個電路板432上並置於第一按鍵313下方。複數個第二光源模組44為複數個LED元件441設置於一個電路板442上並置於第二按鍵323下方。在其他實施態樣中,複數個光源模組亦可為在每一個按鍵背面設置LED元件,或是於基座之容置空間的側邊設置複數個LED元件,並配合導光板、反射片等元件,使光源由容置空間朝向按鍵方向射出。
另外,本實施例與第三實施例不同之處在於第一感應器45為二個,其中一個第一感應器45設置於第一基座311,且在本實施例中是與第二感應器36一起設置於第一固定座314。另一個第一感應器45則是設置於第二基座321。且在本實施例中是與第三感應器37一起設置於第二固定座324。
再者,第一鍵盤31及第二鍵盤32分別設置用來偵測複數第一按鍵313及複數第二按鍵323之第一感應器45,可以針對第一鍵盤31及第二鍵盤32分別偵測環境亮度,以各別得到各實體鍵盤的環境亮度值。如此,則可分別控制第一光源模組43及第二光源模組44的開啟或關閉,以得到所需的環境亮度,而不用同時開啟第一光源模組43及第二光源模組44,亦可達到節省電源之功效。
在本實施例中,當控制模組38判斷位於第一基座311之第一感應器45偵測到之環境亮度小於預設環境亮度時,控制模組38陸續開啟複數第一光源模組43的至少一個,直到控制模組38判斷第一感應器45偵測到之環境亮度等於或大於預設環境亮度或是複數第一光源模組43全部開啟。也就是說,當控制模組38判斷現在環境亮度不足時,可先控制一個第一光源模組43開啟(在此為控制一個LED元件431開啟),以提供光源。接著,控制模組38持續接收並判斷第一感應器45偵測到之環境亮度,若仍不足,則再開啟 一個第一光源模組43(在此為控制一個LED元件431之開啟)。一直到控制模組38判斷第一感應器45偵測到之環境亮度已等於或大於預設環境亮度,才停止再開啟第一光源模組43。或者控制模組38陸續開啟第一光源模組43直到所有的第一光源模組43皆已被開啟。在此雖以一次開啟一個LED元件431為舉例說明,但在其他實施態樣中,亦可將二個至多個LED元件431設定為一組,以一次開啟二至多個LED元件431。
同樣地,當控制模組38判斷位於第二基座321之第一感應器45偵測到之環境亮度小於預設環境亮度時,控制模組38陸續開啟複數第二光源模組44的至少一個,直到控制模組38判斷第一感應器45偵測到之環境亮度等於或大於預設環境亮度或是複數第二光源模組44全部開啟。也就是說,當控制模組38判斷現在環境亮度不足時,可先控制一個第二光源模組44開啟(在此為控制一個LED元件441開啟),以提供光源。接著,控制模組38持續接收並判斷第一感應器45偵測到之環境亮度,若仍不足,則再開啟 一個第二光源模組44(在此為控制一個LED元件441之開啟)。一直到控制模組38判斷第一感應器45偵測到之環境亮度已等於或大於預設環境亮度,才停止再開啟第二光源模組44。或者控制模組38陸續開啟第二光源模組44直到所有的第二光源模組44皆已被開啟。在此雖以一次開啟一個LED元件441為舉例說明,但在其他實施態樣中,亦可將二個至多個LED元件441設定為一組,以一次開啟二至多個LED元件441。
藉此,可透過控制模組38進行判斷,開啟足夠提供所需環境亮度之第一光源模組43或第二光源模組44即可,而不需要每一次在環境亮度不足時就一次開啟所有的第一光源模組43或第二光源模組44。如此,在本實施例之實體鍵盤40可在需要時開啟足夠之第一光源模組43或第二光源模組44,又可達到節約省電之功效。
另外,由於本實施例有二個第一感應器45分別設置於第一基座311及第二基座321,而可分別偵測複數第一按鍵313及第二按鍵323之環境亮度。因此,當第一光源模組43為啟動狀態,且位於第一基座311之第一感應器45偵測到之環境亮度等於或大於預設環境亮度時,控制模組38關閉第一光源模組43。或是當第二光源模組44為啟動狀態,且位於第二基座321之第一感應器45偵測到之環境亮度等於或大於預設環境亮度時,控制模組38關閉第二光源模組44。
意即,當第一光源模組43為啟動狀態、第二光源模組44為啟動狀態或第一光源模組43及第二光源模組44皆為啟動狀態,此時二個第一感應器45會持續偵測第一鍵盤31及第二鍵盤32的環境亮度。並分別依據各第一感應器45偵測到之環境亮度來關閉第一光源模組43或第二光源模組44。在此,是當環境亮度已被改善,例如使用者打開室內燈光,第一感應器45偵測到之環境亮度已大於預設環境亮度,即不需要第一光源模組33或第二光源模組34之光源進行輔助。此時,控制模組38主動關閉第一光源模組43或第二光源模組44,以節省電源。
請參閱第5圖,第5圖為本發明第一實施例之實體鍵盤與對應電算裝置之系統方塊圖。其中,控制模組16進一步包含微控制單元161(Micro Control Unit)、擊鍵判斷單元162及感應控制單元163。擊鍵判斷單元162電連接至對應於每一個按鍵12之接點(或稱按鍵接點),用以偵測接點因擊鍵而由常開狀態變化為通路狀態,據以產生按鍵掃描碼。微控制單元161透過鍵盤驅動程式(Keyboard Driver)將該按鍵掃描碼儲存至電算裝置64a端的鍵盤緩衝區(Keyboard Buffer)的第二緩衝區62,並發送中斷請求至電算裝置64a的處理器66。接著,電算裝置64a的處理器66響應中斷請求,並自第二緩衝區62讀取按鍵掃描碼,而可得知哪一個按鍵12被擊鍵,所謂的「擊鍵」包含按鍵的按壓(Key Down,產生Make Code)與釋放(Key Up,產生Break Code)。以上屬於本發明實體鍵盤擊鍵的作動流程部份。
感應控制單元163電連接至第一感應器14、第二感應該15及光源模組13。前述之預設環境亮度係儲存於感應控制單元163,當第一感應器14偵測到之環境亮度小於預設環境亮度時,由感應控制單元163開啟光源模組13以提供光源,當偵測到之環境亮度等於或大於預設環境亮度時,感應控制單元163啟動第二感應器15開始偵測取得操作位置影像。而第二感應器15偵測並取得的操作位置影像,係由微控制單元161透過鍵盤驅動程式56儲存至電算裝置64a端的鍵盤緩衝區的第一緩衝區60,並發送中斷請求至電算裝置64a的處理器66,以便電算裝置64a的處理器66響應中斷請求,並自第一緩衝區60讀取操作位置影像,接著,由電算裝置64a端設置的影像分析模組58進行分析影像資料,以進一步轉換成操作位置資料,在操作位置資料中包含被觸摸或接近的該些按鍵12的相對位置資料,即使用者的手指與按鍵12之相對位置資料。當操作位置影像因影像過暗而無法進行辨識分析時,影像分析模組通知微控制單元161,以便感應控制單元163開啟光源模組13以提供光源或是加強光源。當操作位置資料不包含手指與按鍵12之相對位置資料時,影像分析模組58通知微控制單元161,以便感應控制單元163關閉第二感應器15,停止繼續偵測並取得操作位置影像。
上述緩衝區採用先進先出(FIFO,First-in First-out)的佇列架構。在一些實施例中,操作位置影像儲存至專屬的第一緩衝區60後,不以發送中斷請求的方式通知電算裝置64a的處理器66,而是電算裝置64a的處理器66以輪詢(Polling)方式每隔一段時間自動讀取專屬儲存操作位置影像的第一緩衝區60。同樣地,按鍵掃描碼儲存至專屬的二緩衝區62後,也可由電算裝置64a的處理器66以輪詢方式每隔一段時間自動讀取專屬儲存按鍵掃描碼的第二緩衝區62。
請參閱第6圖,第6圖為本發明第五實施例實體鍵盤與對應電算裝置之系統方塊圖。本實施例的實體鍵盤50與第一實施例之實體鍵盤不同之處在於本實施例之實體鍵盤50不包括任何感應器,而其擊鍵判斷單元16之功能與作動流程如上述第一實施例所述,故不贅述。微控制單元161於此亦僅處理擊鍵判斷單元16所產生的按鍵掃描碼,作動流程亦同上述第一實施例的作動流程。而電算裝置64b與前述第一實施例電算裝置64a的差異,主要在於電算裝置64b設有第四感應器51,以及獨立於鍵盤驅動程式56之鍵盤緩衝區之外的第三緩衝區63。第四感應器51用以偵測並取得操作位置影像。在本實施例中,第四感應器51為攝像鏡頭,而第四感應器51偵測並取得的操作位置影像即為拍攝到的手指與按鍵12影像,將操作位置影像儲存至第三緩衝區63後,由影像分析模組58進行分析影像,以轉換成操作位置資料,操作位置資料包括被被參考的該些按鍵12的相對位置資料,即使用者的手指與該些按鍵12之一相對位置資料。第四感應器51可例如內建於筆記型電腦螢幕上方之攝像鏡頭,又例如HTC的虛擬實境裝置Vive設於前端下方的攝像鏡頭,皆可用來拍攝實體鍵盤50的操作位置影像。
請參閱第7圖,第7圖為本發明第六實施例實體鍵盤與對應電算裝置之系統方塊圖。本實施例的實體鍵盤50與第五實施例相同,不另贅述。而電算裝置64c與第五實施例電算裝置64b差異之處在於增設了第五感應器52及第三光源模組53,第五感應器52用以偵測複數按鍵12之環境亮度是否充足,以使第四感應器51可偵測並取得所需資料,於此第五感應器52為光度感應器,或稱環境光感應器。第三光源模組53可為一LED元件,且可發出可見光。在其他實施態樣中,第三光源模組53亦可為發出紅外線光之LED元件,本發明不以此為限。當處理器66接收並判斷第五感應器52偵測到之環境亮度等於或大於預設環境亮度時,即會啟動使第四感應器51並接收使第四感應器51之操作位置影像。當處理器66判斷第五感應器52偵測到之環境亮度小於預設環境亮度時,處理器66開啟第三光源模組53向複數按鍵12提供光源。
以下所述本發明鍵盤手勢指令之產生方法及其電腦程式產品和非暫態電腦可讀取媒體,即係利用上述該些實施例之實體鍵盤10、20、30、40、50及電算裝置64a、64b、64c據以實施。首先以第五實施例之實體鍵盤50及電算裝置64b來說明下述的鍵盤手勢指令之產生方法及其電腦程式產品。電腦程式產品除了包含前述鍵盤驅動程式56之外,還包含手勢指令產生模組57,而可被處理器66載入而執行(如第6圖所示)。手勢指令產生模組57包含指令條件定義表,用以判斷由多筆操作位置資料所構成的手勢事件對應為哪一個手勢指令。換言之,手勢指令產生模組57用以讀取多筆操作位置資料,以識別出手勢事件,而將此手勢事件與分別包含多個指令條件的多個手勢指令比對。若符合其中一個手勢指令的所有指令條件,則產生該手勢指令,以交由處理器66執行。
鍵盤手勢指令係用以操控電算裝置64b上所執行的應用程式(Application),例如:關閉視窗、捲動視窗內容、放大/縮小視窗內容、旋轉視窗內容…等。
手勢指令產生模組57所讀取的操作位置資料,係由影像分析模組58經由影像辨識分析操作位置影像後所產生。操作位置資料包括被參考的該些按鍵12的相對位置資料,即「使用者的手指與該些按鍵12之相對位置資料」。所謂的「手指與該些按鍵12之相對位置資料」,亦即手指所觸摸或接近但未碰觸(例如手指以極近的距離懸浮在按鍵12上方)的按鍵12的相對位置資料。「被觸摸(或接近但未碰觸)的按鍵12」可稱為「被利用的按鍵12」,或是「被參考的按鍵12」,因為鍵盤手勢實際上在操作時並不需要碰觸到實體鍵盤50之按鍵12,而手指觸摸或接近按鍵12的目的在於利用實體按鍵12的位置做為手勢辨識時位置的參考依據,以降低手勢辨識時的誤判問題。以下說明書中所稱「被參考」的按鍵12,即是指使用者以手勢操作時其手指所觸模或接近的按鍵12。
在一些實施例中,指令條件包含:起始數量、移動方向、區域、起始位置、移動距離、有效時間以及特殊條件,各個條件均預設有定義值(或稱條件值)以供手勢指令產生模組57與當下取得的偵測值比較。起始數量即「開始時被參考的按鍵12的數量」,因手勢指令可定義單指手勢操作與多指手勢操作,故需區分起始的被參考的按鍵12的數量。在一些實施例中,指令條件之起始數量僅定義為「單指手勢」與「多指手勢」兩種情況,故,手勢指令產生模組57僅需判斷單指或多指即可,例如:僅「按鍵J」的按鍵12被參考,則起始數量之偵測值為「1」,符合單指條件;若「按鍵J」與「按鍵K」的按鍵12同時被參考,則起始數量之偵測值為「2」,符合多指條件;若「按鍵J」、「按鍵K」與「按鍵L」的按鍵12同時被參考,則起始數量之偵測值為「3」,亦符合多指條件。在一些實施例中,指令條件之起始數量可定義為「單指手勢」、「雙指手勢」、「三指手勢」…等多種情況,例如:僅「按鍵J」的按鍵12被參考,則起始數量之偵測值為「1」,符合單指手勢的條件;若「按鍵J」與「按鍵K」的按鍵12同時被參考,則起始數量之偵測值為「2」,符合雙指手勢的條件;若「按鍵J」、「按鍵K」與「按鍵L」的按鍵12同時被參考,則起始數量之偵測值為「3」,符合三指手勢的條件,…以此類推。
移動方向即「手勢操作時移動的方向」,係以第一個被參考按鍵12為原點(即,起始位置),再以鄰近原點的「下一個被參考按鍵12」或「下兩個被參考按鍵12」來判斷移動方向。在一些實施例中,指令條件之移動方向定義以相鄰的兩個按鍵來判斷,以QWERTY排列的鍵盤佈局(Keyboard Layout)為例來說明(以下舉例皆同此鍵盤佈局,但本發明不限定於此),例如:「按鍵J」的按鍵12被參考,即「按鍵J」視為原點,緊接著,下一個被參考的為相鄰的「按鍵K」的按鍵12,則手勢指令產生模組取得偵測值為「向右移動」。在一些實施例中,指令條件之移動方向定義以連續同方向且相鄰的下兩個按鍵12來判斷,例如:「按鍵J」的按鍵12被參考,即「按鍵J」視為原點,緊接著,下一個被參考的為相鄰的「按鍵K」的按鍵12被參考,此時手勢指令產生模組57視第一段之偵測值為「向右移動」,手勢指令產生模組57繼續追蹤,再緊接著下一個被參考的為相鄰的「按鍵L」的按鍵12,即第二段之偵測值亦為「向右移動」,手勢指令產生模組57必須等到連續滑到第三個按鍵12(即,三個按鍵12被參考),且中間的兩段移動方向之偵測值相同,最後才能斷定其為「向右移動」。手勢指令產生模組57所追蹤的每一個手勢事件,在符合比對條件時後即中止追蹤,或者是,當超過預設的有效時間仍未移動至下一個按鍵(例如:預設有效時間為500毫秒),又或者是,發生擊鍵操作(產生按鍵掃描碼),以及,違反定義條件即中止追蹤(例如:下一個被參考的按鍵12並未相鄰前一個被參考的按鍵12,或,第二段的移動方向與第一段不同)。以上係單指移動判斷方向的說明,當多指移動時的方向判斷方式有兩種可能,在一些實施例中,當多個按鍵同時被參考,在手指移動時手勢指令產生模組57同時監控多個手勢事件,當其中任一指的手勢事件符合條件即可判斷其移動方向,例如:假設指令條件之移動方向定義以連續同方向且相鄰的下兩個按鍵12來判斷,當使用者以食指、中指與無名指分別同時觸摸/接近「按鍵J」、「按鍵K」與「按鍵L」的按鍵12,手勢指令產生模組視為三個原點,並且為三個手勢事件,緊接著若「按鍵K」、「按鍵L」與「按鍵;」的按鍵12同時被參考,此時第一段移動方向之偵測值為「向右」,繼續追蹤三個手勢事件,再緊接著若只剩「按鍵L」與「按鍵;」的按鍵12同時被參考,有可能是食指在中途離開,也有可能是無名指中途離開,不管如何,第二段移動方向之偵測值仍可視為「向右」,因為對手勢指令產生模組而言,以「按鍵J」的按鍵12為原點的手勢事件有符合「移動至連續同方向且相鄰的下兩個按鍵」,故斷定為符合條件;在一些實施例中,當多個按鍵同時被參考,手勢指令產生模組57將同方向的移動視為同一個手勢事件但有多個原點,當手指從原點移動至相鄰的下一個被參考的按鍵12時即可取得第一段移動方向之偵測值,緊接著再移動至相鄰的下一個被參考的按鍵12時即可取得第二段移動方向之偵測值,若兩段之偵測值相同手勢指令產生模組即可斷定移動方向。
區域係「手勢操作時在實體鍵盤50上的按鍵區」,以Windows的標準鍵盤為例來說明,區域之定義值包含:打字鍵區、功能鍵區、編輯鍵區、數字鍵區,以及全鍵盤(即,以上四區全部)。打字鍵區(Alphanumeric Keys)包含:數字鍵、英文字母鍵、移位鍵、符號鍵、空白鍵、退位鍵、大寫鎖定鍵、換行鍵(或稱輸入鍵)、控制鍵及轉換鍵。功能鍵區(Function Keys)包含十二個功能鍵,位在實體鍵盤50的第一列。數字鍵區(Numeric Keys)包含:數字鎖定鍵、數字鍵、運算符號鍵、換行鍵、小數點鍵,位在實體鍵盤50的最右端。編輯鍵區(Modifier Keys)包含:方向鍵、插入鍵、刪除鍵、歸位鍵、結束鍵、跳離鍵、上一頁鍵、下一頁鍵。當某一指令的區域條件限制在某一特定區域時,即表示發生在該特定區域的手勢事件才會被判斷有效,例如:「關閉視窗操作指令」限定在數字鍵區才有效,若在打字鍵區操作即無效。劃分區域以接收不同的手勢指令可有效提昇手勢指令產生模組57監聽手勢事件的效率、減少指令誤判,以及降低電算裝置64b的硬體資源耗用(如處理器66的運算資源)。
起始位置係指原點(第一個被參考的按鍵12)是否需由指定的特定按鍵開始,例如:從數字鍵區的前三列、從打字鍵區的中間兩排、從打字鍵區的兩外側,或是任意鍵。
移動距離即「同方向且連續被參考的按鍵12數量」,例如:大於等於(>=)三個按鍵。若移動距離的條件定義的太短(定義值太小),易造成手勢指令產生模組57的誤判,若移動距離的條件定義的太長(定義值太大),恐讓使用者認為不易操作(例如:手指已滑動到區域的邊緣但仍未達條件要求的距離)。
有效時間係指「滑過兩個相鄰按鍵12的最長間隔時間」,例如:當有效時間之預設定義值為500毫秒,當連續滑過兩個相鄰被參考的按鍵12的時間超過預設定義值時,即中止追蹤手勢事件。這裡所謂的「滑過」係指手指「連續觸摸」或是「連續接近」(不一定有碰觸到按鍵12)相鄰的按鍵12。在一些實施例中,有效時間可用兩組具有不同相對位置資料的操作位置資料所產生的間隔時間來判斷,同一組的操作位置資料是來自於同一張操作位置影像。假設影像分析模組58所分析得到的操作位置資料中,每隔300毫秒即得到一組具有不同的相對位置資料的操作位置資料,而有效時間的定義值若為500毫秒,則時間上連續的兩組操作位置資料即是在有效時間內。
至於特殊條件係適用於較複雜的條件組合,例如:兩組(即,兩手各有一指以上)反向移動、兩鍵向內拉近距離、兩鍵向外擴張距離…等。
以下係一實施例指令條件定義表之部份內容,其中之定義值係用以舉例說明,而非用以限定本發明。請參照表一,係為指令條件定義表。在「指令條件」欄位中的所有條件皆須比對符合才能產生對應的手勢指令,若條件的定義值為「無」或「任意鍵」則可略過比對;若條件的定義值為「橫向」,表示所取得的偵測值可「向左」或「向右」。在「執行」欄位中的內容,即是產生對應的手勢指令後,交由處理器66所執行的工作。其中,作用中視窗(Active Window)即當下正在使用中的視窗,而視窗之內容即視圖(View),例如:相片瀏覽程式的視窗內容是一張相片視圖,若放大、縮小或旋轉視窗內容,即表示放大、縮小或旋轉該相片。
表一
Figure 105113622-A0304-0001
以上表一的「內容放大指令」為例來說明其條件之定義值,此實施例內容放大指令之操作需要雙手至少各一隻手指,例如:左手食指與右手食指,故,起始數量>1;移動方向為橫向,亦即被參考的按鍵12須在同一列上;有效區域限打字鍵區,但是不包含空白鍵該列,也就是說只有字母鍵的三列以及上方的數字鍵列共四列可操作;起始位置從中間的TY兩排開始,也就是說起始按鍵須為「按鍵5」與「按鍵6」,或「按鍵T」與「按鍵Y」,或「按鍵G」與「按鍵H」,或是「按鍵B」與「按鍵N」,一共有四對可作為起始位置;移動距離>=3,亦即必須連續滑過相鄰的三個按鍵才開始作動;有效時間<=500ms,亦即所有被參考的按鍵12的間隔時間須小於等於500ms;特殊條件是兩鍵向外擴張距離,以「按鍵G」與「按鍵H」這一對按鍵來舉例,第一步驟是左食指「按鍵G」、右食指「按鍵H」,第二步驟是左食指「按鍵F」、右食指「按鍵J」,第三步驟是左食指「按鍵D」、右食指「按鍵K」,第四步驟是左食指「按鍵S」、右食指「按鍵L」,當作用中視窗之內容為一張相片時,在第一步驟時相片大小不變,第二步驟時相片大小還是不變,到第三步驟時因滿足移動距離的指令條件而將相片放大為原相片的25%,到第四步驟時繼續將相片放大而放大為原相片的50%。以上舉例的四個步驟係一氣呵成的連續動作,滑過按鍵12的間隔時間皆不超出有效時間的定義值。若使用者欲繼續放大相片,可在第四步驟之後,兩手指繼續向外擴張距離,或是從頭開始,重複第一步驟到第四步驟之操作。
參閱第8圖,本發明一實施例手勢指令產生之操作流程圖,其說明手勢指令產生模組57在載入指令條件後,讀取操作位置資料並連續比較預設定義值之操作流程,係包含:
步驟S101:載入指令條件定義表。手勢指令產生模組57包含指令條件定義表,而可將指令條件定義表載入(Load)至電算裝置64b的記憶體中。
步驟S102:讀取操作位置資料。手勢指令產生模組57所讀取的操作位置資料,係由影像分析模組58經由影像辨識分析操作位置影像後所產生。操作位置資料包括被觸摸或接近的該些按鍵12的相對位置資料,即「使用者的手指與該些按鍵12之相對位置資料」。詳細步驟說明參見第21圖之步驟S202至步驟S204。
步驟S103:是否移動。手勢指令產生模組57依據已讀取的操作位置資料判斷手指是否移動,以決定是否進行一個新手勢事件的連續比對。由操作位置影像經影像辨識分析後所轉換成的操作位置資料可包含從零至多個被參考的按鍵12,而利用「時間上連續的兩張操作位置影像」轉換出來的操作位置資料即可比對出手指是否有移動。手勢指令產生模組57依據被參考的按鍵12其相對位置以及時間上的先後順序來判斷手指是否在有效時間內連續滑過相鄰的兩個按鍵,若「在有效時間內連續滑過相鄰的兩個按鍵12」即視為其具有關聯,亦可說成「時間上連續的兩組操作位置資料有滑過相鄰的兩個按鍵12」,除了該兩組操作位置資料,另外包含其後連續的數組操作位置資料皆暫時視為「具有關聯」,具有關聯的多個連續操作位置資料被視為一個新的手勢事件。換言之,手勢指令產生模組57係根據多個連續的操作位置資料識別一手勢事件。此時開始追蹤該手勢事件,所謂的追蹤即取得「該些具有關聯的操作位置資料」之多個偵測值,用以連續比對各條件的定義值。若手指未移動跳回前一步驟S102以再次讀取新的操作位置資料,若手指有移動,則至步驟S104。
步驟S104:手勢事件之指令條件比對。在前一步驟當手勢指令產生模組57判斷手指有移動時,開始一個新手勢事件的連續比對,比對前先取得手勢事件的多個偵測值以便與指令條件的各定義值比較。例如:當「多組連續的操作位置資料」為一個新的手勢事件時,第一組操作位置資料其中被參考的按鍵12的所屬區域若為打字鍵區,則該手勢事件的區域偵測值為「打字鍵區」,而第一組操作位置資料其中被參考的按鍵12即為起始位置,第一組操作位置資料其中被參考的按鍵12數量若為一個,則該手勢事件的起始數量偵測值即為「1」…等等。
步驟S105:是否符合區域。手勢指令產生模組57以區域的偵測值與定義值比較,以縮小比對範圍,例如:當該手勢事件的區域偵測值為「打字鍵區」,之後的比對工作即可略過僅允許發生在數字鍵區、功能鍵區和編輯鍵區的手勢指令,而只比對允許發生在打字鍵區的手勢指令。若不符合即跳至步驟S115。若符合則跳至步驟S106。
步驟S106:是否符合起始位置。手勢指令產生模組57以該手勢事件的起始位置偵測值與定義值比較。若不符合即跳至步驟S115。若符合則跳至步驟S107。
步驟S107:是否符合移動方向。手勢指令產生模組57以該手勢事件的移動方向偵測值與定義值比較。若不符合即跳至步驟S115。若符合則跳至步驟S108。
步驟S108:是否符合起始數量。手勢指令產生模組57以該手勢事件的起始數量偵測值與定義值比較。若不符合即跳至步驟S115。若符合則跳至步驟S109。
步驟S109:是否符合移動距離。手勢指令產生模組57以該手勢事件的移動距離偵測值與定義值比較。若不符合即跳至步驟S115。若符合則跳至步驟S110。
步驟S110:是否符合特殊條件。手勢指令產生模組57以該手勢事件的特殊條件偵測值與定義值比較。若不符合即跳至步驟S115。若符合則跳至步驟S111。
步驟S111:是否在有效時間內。在一些實施例中,操作位置資料產生的間隔時間即在有效時間內,故,手勢指令產生模組57僅需檢核該手勢事件其中包含的操作位置資料是否為時間上連續的資料,即可確認是否在有效時間內。若不符合即跳至步驟S115。若符合則跳至步驟S112。
步驟S112:是否有按鍵掃描碼。手勢指令產生模組57檢查第二緩衝區62,若有按鍵掃描碼,即跳至步驟S115。若無按鍵掃描碼則至步驟S113。當手勢指令產生模組57在追蹤手勢事件的同時,若發生擊鍵操作(產生按鍵掃描碼),表示操作位置資料中手指觸摸/接近按鍵12的目的並不是要以手勢進行操作,而是要鍵入資料,故中止追蹤手勢事件。
步驟S113:產生手勢指令。當上述步驟S105至步驟S112所進行的條件比對皆為符合時,手勢指令產生模組57即產生手勢指令。
步驟S114:處理器66執行手勢指令。當產生手勢指令後,手勢指令產生模組57即把該手勢指令交由處理器66執行。
步驟S115:中止手勢事件之比對,即,停止該手勢事件之追蹤。
以上係一實施例手勢指令產生之操作流程,其中條件比對的步驟在其他不同的實施例中可有不同的先後順序,在其他不同的實施例中亦可有不同的指令條件用以比對,本發明並未限定比對流程的先後順序及指令條件需如上述。
在一些實施例中,電腦程式產品另外包含一螢幕虛擬鍵盤(On-Screen Virtual Keyboard)又稱為螢幕鍵盤(On-Screen Keyboard,英文簡稱OSK),微軟Windows作業系統中稱為「螢幕小鍵盤」。本實施例中的螢幕鍵盤係一種電腦程式安裝於電算裝置64b並由處理器66執行,用以顯示一鍵盤佈局、第一按鍵標記、第二按鍵標記以及手勢操作軌跡。
參閱第9圖至第13圖,本發明第七實施例螢幕鍵盤68a之示意圖。本實施例之螢幕鍵盤68a之顯示,係應用第五實施例中的電算裝置64b及實體鍵盤50進行說明。第9圖說明了本實施例螢幕鍵盤68a顯示於電算裝置64b內置或外接之螢幕76a,螢幕鍵盤68a執行後是位於作業系統桌面70的最頂層(即,視圖屬性設為「Topmost」),亦即,即使其他應用程式之視窗顯示在螢幕鍵盤68a的同一位置,仍不會蓋過螢幕鍵盤68a的顯示。螢幕鍵盤68a之鍵盤佈局(Keyboard Layout)係對應實體鍵盤50 (如第11圖所示)之佈局而繪製,以避免與實際按鍵位置差異過大,讓使用者不適應。螢幕鍵盤68a係電腦程式產品(Computer Program Product)之一部份。而作用中視窗78係一第三方應用程式,於此係以一記事本為例。
第10圖係螢幕鍵盤68a之放大示意圖,其說明了當使用者手指觸摸或「接近但未碰觸」實體鍵盤50之按鍵12時,第四感應器51偵測並取得操作位置影像,操作位置影像即為拍攝到的手指與按鍵12影像,影像分析模組58進行分析操作位置影像後轉換成操作位置資料,操作位置資料包括被觸摸或接近的該些按鍵12的相對位置資料,即使用者的手指與該些按鍵12之相對位置資料,處理器66再根據操作位置資料以轉換成對應的第一按鍵標記72,以便於螢幕鍵盤68a中顯示對應被參考的按鍵12的第一按鍵標記72,於此,第一按鍵標記72的標示位置包含:「按鍵a」、「按鍵s」、「按鍵d」、「按鍵f」、「按鍵j」、「按鍵k」、「按鍵l」、「按鍵;」及「空白鍵」。第11圖係對應第10圖,第11圖說明了使用者手指觸摸實體鍵盤50上的「按鍵A」、「按鍵S」、「按鍵D」、「按鍵F」、「按鍵J」、「按鍵K」、「按鍵L」、「按鍵;」及「空白鍵」之按鍵12。當使用者手指觸摸或接近按鍵12而未擊鍵時,此時手指的所在位置可稱為「手指待命位置」(Finger Standby Position)或「手指準備位置」(Finger Ready Position)。
第12圖說明了螢幕鍵盤68a上的「按鍵j」同時標示有第一按鍵標記72與第二按鍵標記74,亦即,使用者手指觸摸或接近實體鍵盤50上的「按鍵A」、「按鍵S」、「按鍵D」、「按鍵F」、「按鍵J」、「按鍵K」、「按鍵L」、「按鍵;」及「空白鍵」之按鍵12,同時亦按下了「按鍵J」之按鍵12。換句話說,「按鍵J」的按鍵12不僅產生被參考的操作位置資料,同時,亦被擊鍵而產生按鍵掃描碼(屬Make Code)。此情況發生在「按鍵J」的按鍵12被按壓下(產生Make Code),但是尚未釋放「按鍵J」的按鍵12 (尚未產生Break Code),在正常速度打字時,第二按鍵標記74於螢幕鍵盤68a上的存在時間(或稱顯示時間)相當的短,通常不到一秒鐘的時間,甚至低於十分之一秒,對人眼視覺來說算是「一閃而過」。
理論上,手指一定是先觸摸到按鍵12,接著才能按下按鍵12,若是以稍快的速度打字時,並且於按壓每一個按鍵的空檔時手指都不觸摸按鍵12的話,同一按鍵的操作位置資料與按鍵掃描碼(屬Make Code)「幾乎」同時產生(兩者之間仍會有時間差,但差距係以毫秒計算),亦即,同一按鍵的第一按鍵標記72與第二按鍵標記74會「幾乎」同時顯示(因肉眼不易察覺時間差,故,感覺是同時)於螢幕鍵盤68a。然而,多數人(尤其是以雙手及正確指法打字的人)打字時,在未擊鍵前(例如正在思考要用何字),習慣將手指放在「初始按鍵位置」(Home Keys,或稱Home Row,即如第11圖手指所觸摸的按鍵12)上,或是將手指放在「欲按壓的」按鍵12上,接著,才按壓按鍵12。也就是說,某些時候同一按鍵的第一按鍵標記72會明顯比第二按鍵標記74較早顯示於螢幕鍵盤68a。除了少數幾個鎖定按鍵(例如鎖定鍵類型的「大寫鎖定鍵」、「數字鎖定鍵」及「捲動鎖定鍵」,或編輯鍵類型的「插入鍵」)的第二按鍵標記74可能會單獨顯示於螢幕鍵盤68a而未與第一按鍵標記72併存,其他按鍵的擊鍵(指產生Make Code)一定是先顯示第一按鍵標記72再顯示第二按鍵標記74,或者,兩者幾乎同時顯示於螢幕鍵盤68a,而不會發生第二按鍵標記74單獨顯示而無第一按鍵標記72。人眼在視覺上可明顯分辨兩個重疊標記與單獨一個標記的不同(以第13圖為例),僅管第二按鍵標記74只是一閃而過,單獨存在的第二按鍵標記74(如第13圖上方)明顯與重疊的兩個標記(如第13圖下方)不同,尤其當兩種不同顏色的標記重疊顯示且上層標記具有不完全透明的透明度時會混合出第三種顏色的視覺效果,肉眼可明顯區別此第三種顏色與兩標記顏色之不同。因此,「第二按鍵標記74不會單獨顯示」這一點可做為一種視覺上的檢核機制,當某一按鍵的第二按鍵標記74單獨顯示於螢幕鍵盤68a即代表「錯誤發生」(例如攝像鏡頭所拍的操作位置影像不清,導致影像分析模組58誤判),可提醒使用者注意。在一些實施例中,螢幕鍵盤68a具有自動修正機制,當某一按鍵的第二按鍵標記74單獨顯示於螢幕鍵盤68a上時,處理器66計算誤判位置與實際位置兩者間之誤差值。再將此誤差值反饋給影像分析模組58及/或處理器66,以便修正下一次的操作位置資料,降低誤判發生的機率。
在此實際位置即是指單獨顯示的第二按鍵標記74,也就是因為實體鍵盤50上的按鍵12被擊鍵時,所產生的與第二按鍵標記74。由於此第二按鍵標記74是因為真的有接收到按鍵12被擊鍵,所以應為正確之標記。判誤位置是指鄰近的第一按鍵標記72,且於擊鍵時未與第二按鍵標記74重疊顯示的第一按鍵標記72。由於如前所述,當取得的資料皆正確時,第一按鍵標記72(手指觸摸按鍵位置)應該會與第二按鍵標記74(被擊鍵的按鍵12)有所重疊。因此,當按鍵12已被擊鍵,而應該要顯示有重疊的第一按鍵標記72與第二按鍵標記74之按鍵,在螢幕鍵盤68a中只顯示第二按鍵標記74時,則有可能是因為分析得到的操作位置資料有所誤差,使得第一按鍵標記72標示於錯誤位置,此時,被標記錯誤的第一按鍵標記72的位置即被定義為判誤位置。
由於第二按鍵標記74只是一閃而過,在一些實施例中,螢幕鍵盤68a僅標示出第一按鍵標記72,以顯示手指待命位置,而無第二按鍵標記74,螢幕鍵盤68a直接略過按鍵掃描碼之處理,如第10圖所示。
第13圖係第12圖中螢幕鍵盤68a上「按鍵j」的放大示意圖,以說明「按鍵j」上的兩種標記,上方的第二按鍵標記74係以反白標示(Highlight),於此為方形、黑底、白字之態樣,而中間的第一按鍵標記72係以不同形狀的彩色半透明標示,於此為圓形、淺灰。下方的重疊標記圖式即為第12圖中「按鍵j」的放大示意圖。為明顯區別第一按鍵標記72與第二按鍵標記74,在一些實施例中,第一按鍵標記72與第二按鍵標記74採用不同的形狀來標示,例如:圓形與方形、方形與三角形、圓形與星形…等等組合。在一些實施例中,第一按鍵標記72與第二按鍵標記74採用不同的顏色來標示,例如:黃色與綠色、紅色與藍色、黑色與黃色、淺灰與紅色…等等組合。在一些實施例中,第一按鍵標記72與第二按鍵標記74採用不同的形狀以及不同的顏色來標示。在一些實施例中,標示在上層的標記為以稍微透明的方式呈現,以讓位在下層的標記得以被看見,例如:若第一按鍵標記72位在上層而第二按鍵標記74位於下層,則第一按鍵標記72以50%的透明度呈現。也就是說,位於上層的第一按鍵標記72或第二按鍵標記74具有不完全透明之透明度。在一些實施例中,若同一按鍵12被觸摸及擊鍵可另外以不同形狀、顏色等有別於第一按鍵標記72與第二按鍵標記74的第三按鍵標記來標記。
第14圖係使用者手指觸摸或接近實體鍵盤50上的「Shift按鍵」、「按鍵S」、「按鍵D」、「按鍵F」、「按鍵J」、「按鍵K」、「按鍵L」、「按鍵;」及「空白鍵」之按鍵12 (產生操作位置影像),同時按壓「Shift按鍵」及「按鍵J」之按鍵12 (產生按鍵掃描碼,屬Make Code)時,在螢幕鍵盤68a上所顯示的標記。此圖式說明了當「Shift按鍵」之按鍵12被按下而產生按鍵掃描碼後,螢幕鍵盤68a上的按鍵代表標記亦隨之更換,即,字母鍵由原本小寫的按鍵代表標記換成大寫的按鍵代表標記,同時具有兩個按鍵代表標記的按鍵(例如數字鍵及符號鍵)則由原本的下方按鍵代表標記換成上方的按鍵代表標記,舉例來說:數字鍵的「按鍵1」同時具有兩個按鍵代表標記,分別是上方的「!」與下方的「1」,而符號鍵的「按鍵/」同時具有兩個按鍵代表標記,分別是上方的「?」與下方的「/」。在未按下「Shift按鍵」時顯示下方的「1」及「/」(如第12圖所示),而當按下「Shift按鍵」後則顯示上方的「!」及「?」(如第14圖所示)。
第15圖係使用者於實體鍵盤50上已擊鍵「大寫鎖定鍵」之按鍵12 (產生按鍵掃描碼,包含Make Code與Break Code,即,已釋放按鍵12),同時觸摸了(或接近)實體鍵盤50上的「按鍵A」、「按鍵S」、「按鍵D」、「按鍵F」、「按鍵J」、「按鍵K」、「按鍵L」、「按鍵;」及「空白鍵」之按鍵12,並且按壓下「按鍵J」之按鍵12 (產生按鍵掃描碼,Make Code),此時在螢幕鍵盤68a上所顯示的標記。此圖說明了當「大寫鎖定鍵」之按鍵12產生按鍵掃描碼後,螢幕鍵盤68a上的字母鍵由原本小寫的按鍵代表標記換成大寫的按鍵代表標記。
以上兩圖主要係說明「Shift按鍵」與「大寫鎖定鍵」的按鍵掃描碼可使螢幕鍵盤68a更換部份按鍵代表標記。同樣的,「數字鎖定鍵」亦可使螢幕鍵盤68a更換部份按鍵代表標記。亦即,螢幕鍵盤68a不僅僅只有顯示第一按鍵標記72與第二按鍵標記74之功能,亦包含與按鍵掃描碼互動的功能。
參閱第16圖至第18圖,本發明第八實施例螢幕鍵盤68b之示意圖。本實施例之顯示螢幕係為虛擬實境裝置之螢幕76b、76c,而螢幕76b、76c為雙酒桶形(如第16圖所示)或雙圓形(如第17圖所示),當使用者將虛擬實境裝置戴於頭上後,其眼睛所見之畫面即如第18圖所示。在一些實施例中,虛擬實境裝置本身即為具有螢幕76b、76c之電算裝置64b,例如Samsung的Gear VR係利用智慧型手機做為電算裝置64b,在運行本發明時,即於該智慧型手機安裝螢幕鍵盤68b及鍵盤驅動程式56。在一些實施例中,虛擬實境裝置係提供螢幕76b、76c顯示畫面,另需通訊連接一電算裝置64b以安裝軟體及提供硬體運算資源,例如HTC的Vive係利用個人電腦做電算裝置64b,在運行本發明時,即於該個人電腦安裝螢幕鍵盤68b及鍵盤驅動程式56。於此,螢幕鍵盤68b係以稍微透明的方式呈現鍵盤佈局,以便使用者在使用螢幕鍵盤68b時仍看見背景畫面(虛擬實境畫面)。若使用者不擅於盲打,且當使用者無法直視實體鍵盤50時(例如頭上戴有虛擬實境裝置),利用螢幕鍵盤68b即可清楚得知當下使用者的手指待命位置(透過第一按鍵標記72),以及擊鍵之按鍵為何者(透過第二按鍵標記74),可協助使用者輕鬆鍵入資料。
參閱第19圖,本發明第九實施例螢幕鍵盤68c之示意圖,圖式與第七實施例及第八實施例不同之處在於其為對應Mac實體鍵盤(未描繪)的鍵盤佈局。螢幕鍵盤68c顯示第一按鍵標記72與第二按鍵標記74,以及與按鍵掃描碼互動更換部份按鍵代表標記之方法與前述實施例相同,故不贅述。
參閱第20圖,本發明第十實施例螢幕鍵盤68d之示意圖。本實施例與第七實施例不同之處在於螢幕鍵盤68d之鍵盤佈局分為左、右兩部份,亦即,本實施例對應左、右分離式的實體鍵盤(未描繪)。至於本實施例之第一按鍵標記72與第二按鍵標記74之標示係與前述實施例相同,故不贅述。於此,對應的實體鍵盤為105鍵(即,標準Windows 104鍵再加上重複的一個空白鍵)。在一些實施例中,實體鍵盤之鍵盤佈局為「80%配置」(即,少了最右邊的數字鍵區)具有88鍵,而其對應的左、右分離式螢幕鍵盤(未描繪)之鍵盤佈局亦為「80%配置」。在一些其他實施例中,實體鍵盤之鍵盤佈局可為「75%配置」或「80%配置」的左、右分離式鍵盤,亦或是Mac的左、右分離式鍵盤,其對應的螢幕鍵盤即與實體鍵盤採相同的鍵盤佈局。
參閱第21圖,本發明一實施例使用者操作過程中在螢幕鍵盤68a標示第一按鍵標記72與第二按鍵標記74之流程圖,其說明使用者利用第五實施例之電算裝置64b與實體鍵盤50產生操作位置影像及按鍵掃描碼,並產生對應的第一按鍵標記72與第二按鍵標記74於螢幕鍵盤68a之操作流程,係包含:
步驟S201:手指觸摸或接近按鍵。使用者手指觸摸或接近實體鍵盤50之按鍵12,但未擊鍵,如第11圖所示,於此被參考的按鍵12為「按鍵A」、「按鍵S」、「按鍵D」、「按鍵F」、「按鍵J」、「按鍵K」、「按鍵L」、「按鍵;」及「空白鍵」。
步驟S202:產生操作位置影像。前一步驟當手指觸摸或接近實體鍵盤50之按鍵12時,第四感應器51偵測並取得操作位置影像,操作位置影像係實體鍵盤50上的手指與按鍵12影像。
步驟S203:儲存操作位置影像至第三緩衝區63。前一步驟當第四感應器51產生操作位置影像,處理器66將該操作位置影像儲存至第三緩衝區63。
步驟S204:影像分析模組58分析操作位置影像。前一步驟當儲存操作位置影像至第三緩衝區63後,有兩種實施例使處理器66自第三緩衝區63讀取操作位置影像。一實施例係第四感應器51發送中斷請求至電算裝置64b之處理器66,接著,電算裝置64b之處理器66響應中斷請求自第三緩衝區63讀取操作位置影像;另一實施例係電算裝置64b之處理器66以輪詢方式每隔一段時間自動讀取第三緩衝區63的操作位置影像。亦即,讀取操作位置影像之動作可透過中斷或輪詢方式來觸發。處理器66讀取操作位置影像後,影像分析模組58分析操作位置影像,以將操作位置影像轉換成操作位置資料,操作位置資料包括被觸摸或接近的該些按鍵12的相對位置資料,即使用者的手指與該些按鍵12之相對位置資料。
步驟S205:在螢幕鍵盤68a對應操作位置資料的按鍵處顯示第一按鍵標記72。前一步驟當影像分析模組58將操作位置影像轉換成操作位置資料後,處理器66再根據操作位置資料以轉換成對應的第一按鍵標記72,即,在螢幕鍵盤68a上對應被參考的按鍵12的位置顯示第一按鍵標記72。於此,對應操作位置影像的位置係:「按鍵a」、「按鍵s」、「按鍵d」、「按鍵f」、「按鍵j」、「按鍵k」、「按鍵l」、「按鍵;」及「空白鍵」,如第10圖所示。其中,螢幕鍵盤68a顯示於顯示畫面最頂層(即,視圖屬性設為「Topmost」)。一般而言,螢幕鍵盤68a是在讀取到操作位置資料或按鍵掃描碼後才顯示,但顯示之後一般會在一閒置時間之後才消失。因此,在某些情況下,即使沒有讀取到操作位置資料或按鍵掃描碼,螢幕鍵盤68a仍是顯示的狀態,直至經過閒置時間之後才消失(若期間沒有讀取到操作位置資料或按鍵掃描碼)。在一些實施例中,螢幕鍵盤68a也可以是在應用程式執行時即顯示,並保持顯示狀態,直到使用者將應用程式結束才消失。在一些實施例中,螢幕鍵盤68a在應用程式執行時不會立刻顯示,是由使用者控制其顯示與消失。
步驟S206:判斷手指是否離開按鍵。影像分析模組58根據操作位置資料可判斷出手指是否離開已被參考的按鍵12。意即,若所分析出之操作位置資料中,僅包含按鍵而未包含手指與按鍵之相對位置資料,則表示手指已離開原被參考的按鍵12。若某一手指離開已被參考的按鍵12 (即,在前一步驟中已產生第一按鍵標記72的對應按鍵12),跳至步驟S207,若手指仍未離開被參考的按鍵12則跳至步驟S208。
步驟S207:在螢幕鍵盤68a取消顯示第一按鍵標記72。當影像分析模組58判斷出某一手指離開「已產生第一按鍵標記72的對應按鍵12」時,螢幕鍵盤68a取消顯示對應的第一按鍵標記72。
步驟S208:手指擊鍵。當手指擊鍵(按壓按鍵12)時,被擊鍵的按鍵12其按鍵接點因擊鍵而由常開狀態變化為通路狀態。
步驟S209:產生按鍵掃描碼。當擊鍵判斷單元162偵測到某一按鍵12之按鍵接點由常開狀態變化為通路狀態時,產生按鍵掃描碼(此為按壓按鍵12的按鍵掃描碼)。於此,以「按鍵J」被擊鍵為例,擊鍵判斷單元162產生「按鍵J」的按鍵掃描碼(屬Make Code)。
步驟S210:儲存按鍵掃描碼至第二緩衝區62。前一步驟當擊鍵判斷單元162產生按鍵掃描碼(Make Code)後,微控制單元161可將其傳送出去以讓電算裝置64b接收,電算裝置64b便透過鍵盤驅動程式56將該「按鍵J」的按鍵掃描碼(Make Code)儲存至電算裝置64b的第二緩衝區62。
步驟S211:處理器66讀取按鍵掃描碼。前一步驟當微控制單元161將按鍵掃描碼(Make Code)儲存至第二緩衝區62後,有兩種實施例使處理器66自第二緩衝區62讀取按鍵掃描碼,一實施例係微控制單元161發送中斷請求至電算裝置64b之處理器66,接著,電算裝置64b之處理器66響應中斷請求自第二緩衝區62讀取按鍵掃描碼;另一實施例係電算裝置64b之處理器66以輪詢方式每隔一段時間自動讀取第二緩衝區62的按鍵掃描碼。亦即,讀取按鍵掃描碼之動作可透過中斷或輪詢方式來觸發。
步驟S212:在螢幕鍵盤68a對應按鍵掃描碼的按鍵處顯示第二按鍵標記74。前一步驟當處理器66讀取按鍵掃描碼(Make Code)後,處理器66會根據按鍵掃描碼,在螢幕鍵盤68a上對應被擊鍵的按鍵12的按鍵處顯示第二按鍵標記74,於此,對應按鍵掃描碼的位置係「按鍵j」。顯示第二按鍵標記74後,連同原本已顯示的第一按鍵標記72,即如第12圖所示。
步驟S213:在螢幕鍵盤68a取消顯示對應的第二按鍵標記74。當擊鍵判斷單元162偵測到已被按壓的按鍵12之按鍵接點由通路狀態變化為開路狀態時,產生按鍵掃描碼(此為釋放按鍵12的按鍵掃描碼)。於此,以「按鍵J」被釋放為例,擊鍵判斷單元162產生「按鍵J」的按鍵掃描碼(屬Break Code)。釋放按鍵12後,電算裝置64b透過鍵盤驅動程式56將該「按鍵J」的按鍵掃描碼(Break Code)儲存至第二緩衝區62,接著,處理器66讀取「按鍵J」的按鍵掃描碼(Break Code),最後,依據「按鍵J」的按鍵掃描碼(Break Code)在螢幕鍵盤68a取消顯示對應的第二按鍵標記74,如第10圖所示(假設使用者在釋放「按鍵J」後手指仍觸摸或接近「按鍵J」之按鍵12)。特別是,處理器66可另外確認擊鍵的按鍵屬於如字母、數字之一般按鍵,或是如前述「Shift按鍵」等鎖定按鍵,若已收到對應被釋放之按鍵12的按鍵掃描碼且此按鍵12非屬於鎖定按鍵,則取消顯示對應的第二按鍵標記74。反之,若已收到對應被釋放之按鍵12的按鍵掃描碼且此按鍵12屬於鎖定按鍵,則保持顯示對應的第二按鍵標記74。直到下次收到同樣按鍵12對應擊鍵的第二按鍵標記74,才取消顯示第二按鍵標記74。
以上係本發明一實施例螢幕鍵盤68a標示第一按鍵標記72與第二按鍵標記74之方法。本發明更進一步,在一些實施例中,在步驟S207之後,假設使用者手指已完全離開所有按鍵12一閒置時間,即在此閒置時間內電算裝置64b之處理器66不會偵測(即讀取)到包括使用者的手指與該些按鍵12之相對資料的該操作位置資料及該按鍵掃描碼,螢幕鍵盤68a即自動隱藏(不顯示於螢幕76a),反之,若原本螢幕鍵盤68a未顯示於螢幕76a,當使用者手指觸摸任一按鍵12後,螢幕鍵盤68a即自動顯示於螢幕76a。此實施例用意在於使用者不需利用鍵盤操作/鍵入資料時,隱藏螢幕鍵盤68a以避免佔用作業系統桌面70,好讓使用者利用其他操控裝置操作其他應用程式,例如以滑鼠或軌跡球操作網頁瀏覽器以查看網頁資料,或是以搖桿玩電腦遊戲。
上述螢幕鍵盤68a、68b、68c、68d上的第一按鍵標記72除了用以代表靜態的手指待命位置,在一些實施例中,另外用以代表動態的手勢操作軌跡,所謂的「手勢操作軌跡」其實就是手指在實體鍵盤50上一個手勢事件的操作軌跡。
參閱第22圖,本發明一實施例螢幕鍵盤68a與手勢操作軌跡之示意圖,圖式上方之螢幕鍵盤68a與下方實體鍵盤50兩者未依實際比例繪製。其說明了,當使用者在實體鍵盤50下達一個手勢指令,於此係為「視窗縮小指令」(請對照前述實施例指令條件定義表),使用者在數字鍵區的前三列,以單指向下滑動(僅觸摸而未擊鍵),手勢指令產生模組最後產生視窗縮小指令並交由處理器66執行(中間之詳細流程如前所述,不另贅述),以將作用中視窗78縮小,其時,螢幕鍵盤68a所呈現對應的第一按鍵標記72即代表了「視窗縮小指令」此手勢事件的手勢操作軌跡。
以上的手勢指令之產生方法以及螢幕鍵盤68a之顯示方法與電腦程式產品係以第五實施例之實體鍵盤50及電算裝置64b為例說明,其中偵測並取得操作位置影像的第四感應器51係一攝像鏡頭。當利用第一實施例實體鍵盤10或第二實施例實體鍵盤20與電算裝置64a來實施以上的方法與電腦程式產品時,其中偵測並取得操作位置影像的係第二感應器15。當利用第三實施例實體鍵盤30或第四實施例實體鍵盤40與電算裝置64a來實施以上的方法與電腦程式產品時,其中偵測並取得操作位置影像的係第二感應器36與第三感應器37。當利用第六實施例實體鍵盤50與電算裝置64c來實施以上的方法與電腦程式產品時,其中偵測並取得操作位置影像的係第四感應器51。
本發明之電腦程式產品可包含螢幕鍵盤68a、鍵盤驅動程式56、手勢指令產生模組57、函式庫(Library,未描繪) 及/或應用程式開發介面(Application Programming Interfaces, APIs,未描繪),後兩者可利用上述第8圖及/或第21圖之操作流程之部份或全部步驟,封裝成函式庫或應用程式開發介面,以便程式碼之再利用。而上述電腦程式產品可儲存至一種電腦可讀取記錄媒體,例如:CD、DVD、USB隨身碟、記憶卡…或其他各種規格之記錄媒體,而可由電腦(即前述之電算裝置64b)載入執行。
對本發明的不同實施例可理解的是,由電算裝置執行的程式指令可實行流程圖中的各個方塊、流程圖中方塊的組合、以及各實施例中的步驟。把該等程式指令提供給一處理器操作以產生一機器或產生硬體與軟體協同運作的資源,藉此在該處理器上執行該等指令時,將產生用以實行流程圖方塊指明之動作或技術效果的構件。不同集合的程式指令亦可使展示於流程圖方塊中的至少某些操作步驟並行地進行,且一應用程式的各個程式指令所表達的技術內容可能依不同實施例而不同。再者,亦可在不只一個處理器上進行某些該等步驟,例如行動通訊裝置中微處理器與周邊介面處理器所協同運作的狀況。此外,在不偏離本發明範圍或精神的條件下,流程圖中之一或多個方塊或方塊的組合亦可與其他方塊或方塊組合同時地進行,或甚至以不同於展示出的順序來進行。
因此,本發明流程圖的方塊支援用以進行指明動作或技術效果的構件組合、用以進行指明動作或技術效果的步驟組合、以及用以進行指明動作或技術效果的程式指令構件。亦將可了解的是,這些指明動作或技術效果是由特殊用途硬體式系統或者特殊用途硬體與程式指令協同運作來實行本發明流程圖的各個方塊以及流程圖的方塊組合。
綜上所述,本發明的鍵盤手勢指令由於參考了實體鍵盤上的按鍵位置做為手勢比對的依據,可降低手勢辨識時的誤判問題,進而改善使用者體驗(User Experience),以滿足使用者利用實體鍵盤的手勢指令操作系統的需求。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
10、20、30、40、50‧‧‧實體鍵盤11‧‧‧基座111‧‧‧容置空間112‧‧‧固定座12‧‧‧按鍵13、23‧‧‧光源模組14、35、45‧‧‧第一感應器15、36‧‧‧第二感應器16、38 161 162 163‧‧‧控制模組 微控制單元 擊鍵判斷單元 感應控制單元231、431、441‧‧‧LED元件232、432、442‧‧‧電路板31‧‧‧第一鍵盤311‧‧‧第一基座312‧‧‧第一容置空間313‧‧‧第一按鍵314‧‧‧第一固定座32‧‧‧第二鍵盤321‧‧‧第二基座322‧‧‧第二容置空間323‧‧‧第二按鍵324‧‧‧第二固定座33、43‧‧‧第一光源模組34、44‧‧‧第二光源模組37‧‧‧第三感應器51‧‧‧第四感應器52‧‧‧第五感應器53‧‧‧第三光源模組56‧‧‧鍵盤驅動程式57‧‧‧手勢指令產生模組58‧‧‧影像分析模組60‧‧‧第一緩衝區62‧‧‧第二緩衝區63‧‧‧第三緩衝區64a、64b、64c‧‧‧電算裝置66‧‧‧處理器68a、68b、68c、68d‧‧‧螢幕鍵盤70‧‧‧作業系統桌面72‧‧‧第一按鍵標記74‧‧‧第二按鍵標記76a、76b、76c‧‧‧螢幕78‧‧‧作用中視窗S101‧‧‧載入指令條件定義表S102‧‧‧讀取操作位置資料S103‧‧‧是否移動S104‧‧‧手勢事件之指令條件比對S105‧‧‧是否符合區域S106‧‧‧是否符合起始位置S107‧‧‧是否符合移動方向S108‧‧‧是否符合起始數量S109‧‧‧是否符合移動距離S110‧‧‧是否符合特殊條件S111‧‧‧是否在有效時間內S112‧‧‧是否有按鍵掃描碼S113‧‧‧產生手勢指令S114‧‧‧處理器執行手勢指令S115‧‧‧中止手勢事件之比對S201‧‧‧手指觸摸/接近按鍵S202‧‧‧產生操作位置影像S203‧‧‧儲存操作位置影像至第三緩衝區S204‧‧‧影像分析模組分析操作位置影像S205‧‧‧在螢幕鍵盤對應操作位置資料的按鍵處顯示第一按鍵標記S206‧‧‧手指是否離開按鍵?S207‧‧‧在螢幕鍵盤取消顯示第一按鍵標記S208‧‧‧手指擊鍵S209‧‧‧產生按鍵掃描碼S210‧‧‧儲存按鍵掃描碼至第二緩衝區S211‧‧‧處理器讀取按鍵掃描碼S212‧‧‧在螢幕鍵盤對應按鍵掃描碼的按鍵處顯示第二按鍵標記S213‧‧‧在螢幕鍵盤取消顯示第二按鍵標記
[第1圖] 為本發明第一實施例實體鍵盤裝置之示意圖。 [第2圖] 為本發明第二實施例實體鍵盤裝置之示意圖。 [第3圖] 為本發明第三實施例實體鍵盤裝置之示意圖。 [第4圖] 為本發明第四實施例實體鍵盤裝置之示意圖。 [第5圖] 為本發明第一實施例之實體鍵盤裝置與對應電算裝置之系統方塊圖。 [第6圖] 為本發明第五實施例實體鍵盤裝置與對應電算裝置之系統方塊圖。 [第7圖] 為本發明第六實施例實體鍵盤裝置與對應電算裝置之系統方塊圖。 [第8圖] 為本發明一實施例手勢指令產生之操作流程圖。 [第9圖] 為本發明第七實施例螢幕鍵盤之示意圖(一)。 [第10圖] 為本發明第七實施例螢幕鍵盤之示意圖(二)。 [第11圖] 為本發明第七實施例螢幕鍵盤之示意圖(三)。 [第12圖] 為本發明第七實施例螢幕鍵盤之示意圖(四)。 [第13圖] 為本發明第七實施例螢幕鍵盤之示意圖(五)。 [第14圖] 為本發明第七實施例螢幕鍵盤之示意圖(六)。 [第15圖] 為本發明第七實施例螢幕鍵盤之示意圖(七)。 [第16圖] 為本發明第八實施例螢幕鍵盤之示意圖(一)。 [第17圖] 為本發明第八實施例螢幕鍵盤之示意圖(二)。 [第18圖] 為本發明第八實施例螢幕鍵盤之示意圖(三)。 [第19圖] 為本發明第九實施例螢幕鍵盤之示意圖。 [第20圖] 為本發明第十實施例螢幕鍵盤之示意圖。 [第21圖] 為本發明一實施例螢幕鍵盤之操作流程圖。 [第22圖] 為本發明一實施例螢幕鍵盤與手勢操作軌跡之示意圖。
S101‧‧‧載入指令條件定義表
S102‧‧‧讀取操作位置資料
S103‧‧‧是否移動
S104‧‧‧手勢事件之指令條件比對
S105‧‧‧是否符合區域
S106‧‧‧是否符合起始位置
S107‧‧‧是否符合移動方向
S108‧‧‧是否符合起始數量
S109‧‧‧是否符合移動距離
S110‧‧‧是否符合特殊條件
S111‧‧‧是否在有效時間內
S112‧‧‧是否有按鍵掃描碼
S113‧‧‧產生手勢指令
S114‧‧‧處理器執行手勢指令
S115‧‧‧中止手勢事件之比對

Claims (7)

  1. 一種鍵盤手勢指令之產生方法,應用於相互連接的一實體鍵盤、一螢幕、一感應器及一電算裝置,該實體鍵盤包含複數按鍵,該感應器用以偵測並取得一操作位置影像,該鍵盤手勢指令之產生方法包括:載入一指令條件定義表,該指令條件定義表包含複數個手勢指令,每個該手勢指令包含複數個指令條件及對應的一定義值;讀取該感應器取得之該操作位置影像;將該操作位置影像轉換為一操作位置資料,該操作位置資料包括被參考的該按鍵的一相對位置資料;根據多組連續之該操作位置資料識別一手勢事件;取得該手勢事件之複數偵測值並與該些定義值比對;若該些偵測值與其中一個該手勢指令之所有該些指令條件之該定義值相符,停止該手勢事件之追蹤;及執行相符之該手勢指令;其中該些手勢指令中至少包含一水平捲動指令、一垂直捲動指令、一切換程式指令、一關閉程式指令、一視窗縮小指令、一視窗放大指令、一內容放大指令、一內容縮小指令或一旋轉指令;其中該水平捲動指令是使該螢幕顯示之一作用中視窗之一水平捲軸依該手勢指令之一移動方向進行捲動,該垂直捲動指令是使該作用中視窗之一垂直捲軸依該手勢指令之該移動方向進行捲動,該切換程式指令是使一執行中程式切換成該作用中視窗,該關閉程式指令是使該作用中視窗關閉,該視窗縮小指令是使該作用中視窗最小化,該視窗放大指令是使該作 用中視窗最大化,該內容放大指令是使該作用中視窗之一內容放大,該內容縮小指令是使該作用中視窗之該內容縮小,該旋轉指令是使該作用中視窗之該內容依該手勢指令之該移動方向進行順時針或逆時針旋轉。
  2. 如請求項1所述鍵盤手勢指令之產生方法,其中該感應器係一攝像鏡頭。
  3. 如請求項1所述鍵盤手勢指令之產生方法,其中該實體鍵盤還響應該些按鍵的擊鍵而輸出一按鍵掃描碼至該電算裝置,該鍵盤手勢指令之產生方法更包含:讀取該實體鍵盤輸出對應該按鍵被擊鍵之該按鍵掃描碼;及若讀取到該按鍵掃描碼,中止比對該手勢事件。
  4. 如請求項1所述鍵盤手勢指令之產生方法,其中該些指令條件的其中之一為該實體鍵盤的一區域,該區域的該定義值為一打字鍵區、一功能鍵區、一數字鍵區、一編輯鍵區或一全鍵盤。
  5. 如請求項1所述鍵盤手勢指令之產生方法,其中該螢幕顯示有一螢幕鍵盤,該鍵盤手勢指令之產生方法更包含:顯示一第一按鍵標記於該螢幕之該螢幕鍵盤之對應該被參考的該按鍵的位置。
  6. 一種電腦程式產品,適於儲存於一電腦可讀取媒體,當一電腦載入該電腦程式並執行後,可完成如請求項1至5中任一項所述之鍵盤手勢指令之產生方法。
  7. 一種非暫態電腦可讀取媒體,儲存一電腦程式,該電腦程式包含電腦可執行之複數指令,用以執行如請求項1至5中任一項所述之鍵盤手勢指令之產生方法。
TW105113622A 2016-04-29 2016-04-29 鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體 TWI695297B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105113622A TWI695297B (zh) 2016-04-29 2016-04-29 鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體
CN201710208144.XA CN107402707A (zh) 2016-04-29 2017-03-31 键盘手势指令的产生方法与计算机程序产品
US15/581,734 US10365726B2 (en) 2016-04-29 2017-04-28 Keyboard gesture instruction generating method and computer program product and non-transitory computer readable storage medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105113622A TWI695297B (zh) 2016-04-29 2016-04-29 鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體

Publications (2)

Publication Number Publication Date
TW201738695A TW201738695A (zh) 2017-11-01
TWI695297B true TWI695297B (zh) 2020-06-01

Family

ID=60157895

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105113622A TWI695297B (zh) 2016-04-29 2016-04-29 鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體

Country Status (3)

Country Link
US (1) US10365726B2 (zh)
CN (1) CN107402707A (zh)
TW (1) TWI695297B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI698773B (zh) * 2016-04-29 2020-07-11 姚秉洋 螢幕鍵盤之顯示方法及其電腦程式產品與非暫態電腦可讀取媒體
CN108064372A (zh) * 2016-12-24 2018-05-22 深圳市柔宇科技有限公司 头戴式显示设备及其内容输入方法
US10394342B2 (en) 2017-09-27 2019-08-27 Facebook Technologies, Llc Apparatuses, systems, and methods for representing user interactions with real-world input devices in a virtual space
USD914681S1 (en) * 2018-02-13 2021-03-30 Kye Systems Corp. Keyboard
USD920976S1 (en) * 2018-02-13 2021-06-01 Kye Systems Corp. Keyboard
USD882571S1 (en) * 2018-06-05 2020-04-28 Razer (Asia-Pacific) Pte. Ltd. Keyboard
USD890755S1 (en) * 2018-06-05 2020-07-21 Razer (Asia-Pacific) Pte. Ltd. Keyboard
USD881190S1 (en) 2018-06-05 2020-04-14 Razer (Asia-Pacific) Pte. Ltd. Keyboard

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110006991A1 (en) * 2009-07-08 2011-01-13 John Greer Elias Image Processing for Camera Based Motion Tracking
CN103534665A (zh) * 2011-04-04 2014-01-22 英特尔公司 平视显示器的键盘化身

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279693A (zh) * 2010-06-11 2011-12-14 深圳富泰宏精密工业有限公司 触控式键盘
CN101995964A (zh) * 2010-11-19 2011-03-30 中兴通讯股份有限公司 一种处理键盘指令的方法、装置、键盘及终端设备
US8928590B1 (en) * 2012-04-03 2015-01-06 Edge 3 Technologies, Inc. Gesture keyboard method and apparatus
CN102929553B (zh) * 2012-10-26 2016-03-02 苏州达方电子有限公司 利用产生于触控键盘的触控信号作为触控指令输入的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110006991A1 (en) * 2009-07-08 2011-01-13 John Greer Elias Image Processing for Camera Based Motion Tracking
CN103534665A (zh) * 2011-04-04 2014-01-22 英特尔公司 平视显示器的键盘化身

Also Published As

Publication number Publication date
TW201738695A (zh) 2017-11-01
US20170315621A1 (en) 2017-11-02
CN107402707A (zh) 2017-11-28
US10365726B2 (en) 2019-07-30

Similar Documents

Publication Publication Date Title
TWI695297B (zh) 鍵盤手勢指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體
TWI695307B (zh) 螢幕鍵盤之顯示方法及其電腦程式產品與非暫態電腦可讀取媒體
US10444989B2 (en) Information processing apparatus, and input control method and program of information processing apparatus
US8446376B2 (en) Visual response to touch inputs
US9459795B2 (en) Ergonomic motion detection for receiving character input to electronic devices
US9207806B2 (en) Creating a virtual mouse input device
US8739053B2 (en) Electronic device capable of transferring object between two display units and controlling method thereof
US8581869B2 (en) Information processing apparatus, information processing method, and computer program
US20100103136A1 (en) Image display device, image display method, and program product
US20100302155A1 (en) Virtual input devices created by touch input
US20090231281A1 (en) Multi-touch virtual keyboard
US20140267029A1 (en) Method and system of enabling interaction between a user and an electronic device
EP3557395A1 (en) Information processing apparatus, information processing method, and computer program
US9317171B2 (en) Systems and methods for implementing and using gesture based user interface widgets with camera input
US9035882B2 (en) Computer input device
TWI695296B (zh) 內建感應器及光源模組之鍵盤裝置
TW201738693A (zh) 鍵盤觸控指令之產生方法及其電腦程式產品與非暫態電腦可讀取媒體
EP2824562B1 (en) Method and apparatus to reduce display lag of soft keyboard presses
US20140145947A1 (en) Portable computer having pointing functions and pointing system
KR101436586B1 (ko) 원 포인트 터치를 이용한 사용자 인터페이스 제공 방법 및 이를 위한 장치
KR20150101703A (ko) 디스플레이 장치 및 제스처 입력 처리 방법