2008/10/28

淺談觸控螢幕 what difference between touch screen, mouse, keyboard

觸控螢幕的價值,在於讓使用者對裝置(含 NB, Mobile)的操作習慣更人性化。當然離人性化或許也還很長。

現有的作業系統,全都在滑鼠、鍵盤的裝置上操作。其中鍵盤是為了輸入,要人性化必須加入語音與手勢,硬體相對麻煩,而滑鼠則用來定位。這兩者都容易扭曲人體力學,容易罹患什麼網球肘之類的疼痛。觸控螢幕可以減低這種痛苦,另外也減輕滑鼠定位的不便性,甚至可以利用來做手寫輸入,對小裝置而言,在設計上也可以減少滑鼠、鍵盤帶來的不便性(醜、貴)。

觸控螢幕不應該只視為滑鼠,在我想像中,它就是輸入裝置,應該是滑鼠與鍵盤兩種兼具,因此勢必打破現有的作業系統架構。在 Windows 上,有兩種作法,簡單說明如下:

一、利用 DLL 共享資訊。Application 應該有能力自行取得觸控螢幕的資訊,像有幾個觸控點,位置,大小,移動速度等。
二、利用 SendMessage 搭配 WM_COPYDATA 訊息來溝通。這一點主要是要用來做手勢,想像中,應該有一個「服務」就叫 gesture service, 要有辦法像滑鼠事件或鍵盤事件,傳遞手勢事件出來。當然,這在現行作業系統中並無此項設計,所以才說搭配 WM_COPYDATA。這機制可以自訂訊息格式。

觸控螢幕與鍵盤滑鼠不同的地方在於,它並不像鍵盤有那麼多按鍵,也沒有滑鼠的「左右鍵」。因此硬要將之轉換成滑鼠鍵盤事件,總是有很大的差異,而限制也很大。譬如,怎麼發出滑鼠右鍵?事實上,滑鼠的設計有單鍵、雙鍵、三鍵、三鍵+滾輪等不同的設計,沒必要硬要讓觸控螢幕當成滑鼠。


參考資料:
http://msdn.microsoft.com/en-us/library/ms644950(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms649009(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms648710(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms649010(VS.85).aspx

0 意見: