當(dāng)前位置:首頁 > 觸控技術(shù) > 觸摸屏原理
觸摸屏原理

Windows 7 多點(diǎn)觸摸開發(fā)模擬器和多點(diǎn)觸摸驅(qū)動

    概述

    MultiTouch Vista是一個輸入管理層,處理來自CCV等觸點(diǎn)追蹤軟件和其它設(shè)備輸入的信息,并且提供了一個Windows 7驅(qū)動,利用這個驅(qū)動,可以讓多點(diǎn)觸摸設(shè)備控制Windows 7。

    使用

    這里介紹MultiTouch是因?yàn)槲覀冃枰玫剿亩嗍髽?biāo)操作,也就是當(dāng)做模擬器來使用和控制Windows 7的驅(qū)動。

    當(dāng)做模擬器使用

    --安裝驅(qū)動

    找到Driver文件夾,根據(jù)自己的機(jī)器類型,選擇x32文件夾或x64文件夾,進(jìn)入選擇的文件夾,找到名為Install driver.cmd的命令行程序,雙擊安裝,如有必要,可使用管理員身份安裝。

 


 

    稍等一會,你將會看到下面的提示框

    這個對話框的意思是詢問是否安裝這個設(shè)備軟件,點(diǎn)擊安裝(Install)。


 


       
    當(dāng)安裝過程結(jié)束,你可以看到下面的命令行窗口,現(xiàn)在,你可以關(guān)閉這個命令行窗口了。


 


       
    --設(shè)備管理器

    現(xiàn)在,我們打開設(shè)備管理器。打開之后,展開“人體學(xué)輸入設(shè)備”。

 


 

    右擊“Universal Software HID device”,選擇“禁用”以禁用這個設(shè)備。

    你會看到一個對話框,上面提示是否禁用這個設(shè)備,點(diǎn)擊“是”。

    再次右擊“Universal Software HID device”,選擇“啟用”以啟用這個設(shè)備。

    --筆和觸摸控制面板
    
    在開始菜單搜索框里搜索“筆和觸摸”,然后打開筆和觸摸控制面板。如果搜索不到,那么說明系統(tǒng)沒有觸摸設(shè)備或沒有正確安裝觸摸驅(qū)動,可以按照前面的步驟重新來過。打開之后,切換到“觸摸”選項(xiàng)卡,勾選“在屏幕上的項(xiàng)交互時顯示觸摸指針”  


 


        
    --運(yùn)行多點(diǎn)觸摸模擬器

    插上另一只鼠標(biāo),運(yùn)行 Multitouch.Service.Console.exe

    現(xiàn)在會出現(xiàn)一個命令行窗口,還可以看見兩個紅點(diǎn),這兩個紅點(diǎn)就是兩只鼠標(biāo)的光標(biāo)

    運(yùn)行Multitouch.Driver.Console.exe,然后你會看到另外一個命令行窗口。

    運(yùn)行Multitouch.Configuration.WPF.exe

    點(diǎn)擊“Configure deveice”,然后勾選此項(xiàng)。

    現(xiàn)在,系統(tǒng)的光標(biāo)將會被臨時禁用,可以使用兩只鼠標(biāo)的紅色光標(biāo)來控制電腦,每個光標(biāo)代表一個鼠標(biāo)。

    把兩個紅點(diǎn)分別當(dāng)做兩個觸點(diǎn),然后進(jìn)行手勢操作,比如單擊、縮放、旋轉(zhuǎn)等

    Windows 7 驅(qū)動

    MultiTouch Vista的最大亮點(diǎn)在于它內(nèi)置了一個Windows 7驅(qū)動,利用這個驅(qū)動,可以將TUIO信息轉(zhuǎn)換為WM_TOUCH信息,從而被系統(tǒng)所識別。也就是說,我們自己做的設(shè)備,也可以操控Windows 7,享受Windows 7的多點(diǎn)觸摸特性。

    現(xiàn)在我們來安裝并配置這個驅(qū)動。
   
    前幾步操作與上文中完全一樣,大家可以按照上文中“安裝驅(qū)動”、“設(shè)備管理器”和“筆和觸摸控制面板”的內(nèi)容進(jìn)行操作,操作完成之后,進(jìn)行下一步。

    運(yùn)行 Multitouch.Service.Console.exe。

    運(yùn)行Multitouch.Configuration.WPF.exe,打開之后,在窗口左側(cè)Available devices欄里選擇Tuio,然后單擊右側(cè)的藍(lán)色>箭頭,然后點(diǎn)擊Restart service按鈕,現(xiàn)在可以關(guān)閉Multitouch.Service.Console.exe窗口了。

    在使用的時候,假設(shè)現(xiàn)在的設(shè)備均已調(diào)試完畢,在CCV主界面右側(cè)Communication欄里選擇TUIO UDP選項(xiàng)。

    回到MultiTouch Vista文件夾,找到并打開Multitouch.Service.Console.exe,再找到并打開Multitouch.Driver.Console.exe。如果你不想每次都打Multitouch.Service.Console.exe,可以將Multitouch.Service.exe安裝系統(tǒng)服務(wù)。安裝系統(tǒng)服務(wù)與安裝普通應(yīng)用程序不一樣,直接雙擊文件不管用,具體安裝方法,可以自行上網(wǎng)搜索相關(guān)內(nèi)容。

    如果一切正常,那么現(xiàn)在,你就可以用自己做的設(shè)備來玩轉(zhuǎn)Windows 7了!

     編譯指南

     MultiTouch Vista是一套開源的輸入管理框架,所以你可以很容易的從項(xiàng)目網(wǎng)站獲取源代碼,項(xiàng)目主頁http://multitouchvista.codeplex.com 。

     MultiTouch Vista使用了C#語言和.NET Framework 3.5,所以在編譯的時候,首先確保機(jī)器上裝有最低版本為.NET Framework 3.5 SP1的.NET框架。此外,如果想要編譯MultiTouch.Framework.sln,則機(jī)器上必須裝有Windows SDK。開發(fā)環(huán)境最低為Visual Studio 2008。

    筆者的開發(fā)環(huán)境是Windows 7 Ultimate 64bit,Microsoft Visual Studio 2010 Ultimate,.NET Framework 4.0.30319,Windows SDK v7.1。注意,在使用Visual Studio 2010編譯的時候,Visual Studio會對項(xiàng)目進(jìn)行轉(zhuǎn)換,以便讓Visual Studio 2010打開項(xiàng)目進(jìn)行開發(fā),但是轉(zhuǎn)換以后,就不能再用比Visual Studio 2010低的版本打開了,換句話說,雖然MultiTouch Vista的開發(fā)者使用Visual Studio 2008進(jìn)行開發(fā),但是當(dāng)轉(zhuǎn)換之后,Visual Studio 2008便無法打開項(xiàng)目了。

    下載源代碼之后,在Main Source文件夾里,你會看到五個解決方案:

1. Multitouch.InputProviders.sln
2. Multitouch.Service.sln
3. Multitouch.Configuration.sln
4. Multitouch.Framework.sln
5. Multitouch.Driver.sln

   MultiTouch Vista使用了很多第三方類庫和框架,這些類庫和框架在MultiTouch Vista中起到了至關(guān)重要的作用,具體的類庫和框架列表可以登陸MultiTouch Vista官網(wǎng)查詢。

    下面需要點(diǎn)出兩個來自微軟的框架

    第一個是Prism(http://compositewpf.codeplex.com),Prism是微軟Patterns & Practices團(tuán)隊(duì)的項(xiàng)目,它是一套針對開發(fā)組合的WPF應(yīng)用程序的框架。Prism試圖解決在基于WPF構(gòu)建企業(yè)級應(yīng)用程序中的挑戰(zhàn),當(dāng)應(yīng)用的復(fù)雜度的增加、團(tuán)隊(duì)數(shù)量逐漸龐大時,應(yīng)用程序也變得很難維護(hù)。使用Prism可以讓W(xué)PF開發(fā)更趨于模塊化,整個項(xiàng)目將由多個離散的、松耦合的模塊組成,而各個模塊又可以又不同的開發(fā)者或團(tuán)隊(duì)進(jìn)行開發(fā)、測試和部署。Prism采用了Unity來支持依賴注入,以實(shí)現(xiàn)更好的模塊化應(yīng)用程序開發(fā)。這里(http://msdn.microsoft.com/zh-cn/magazine/cc785479.aspx)有一篇來自MSDN的文章,可以閱讀一下。需要點(diǎn)出的是,MultiTouch Vista中的Prism不是最新版本。

    另一個框架就是Managed Extensibility Framework(http://mef.codeplex.com)。通常,由于應(yīng)用需求的變化頻繁,導(dǎo)致軟件可擴(kuò)展性越來越差,很難加入新的功能。所以微軟推出了MEF(托管可擴(kuò)展框架),就是為了簡化可擴(kuò)展應(yīng)用程序和組件的設(shè)計這個問題。但是需要說明一點(diǎn),MultiTouch Vista使用的MEF并不是最新版本,如果使用最新版本的MEF將導(dǎo)致報錯。


相關(guān)文章
精彩評論:
0  相關(guān)評論