概述
MultiTouch Vista是一個輸入管理層,處理來自CCV等觸點追蹤軟件和其它設(shè)備輸入的信息,并且提供了一個Windows 7驅(qū)動,利用這個驅(qū)動,可以讓多點觸摸設(shè)備控制Windows 7。
使用
這里介紹MultiTouch是因為我們需要用到它的多鼠標操作,也就是當做模擬器來使用和控制Windows 7的驅(qū)動。
當做模擬器使用
--安裝驅(qū)動
找到Driver文件夾,根據(jù)自己的機器類型,選擇x32文件夾或x64文件夾,進入選擇的文件夾,找到名為Install driver.cmd的命令行程序,雙擊安裝,如有必要,可使用管理員身份安裝。
稍等一會,你將會看到下面的提示框
這個對話框的意思是詢問是否安裝這個設(shè)備軟件,點擊安裝(Install)。
當安裝過程結(jié)束,你可以看到下面的命令行窗口,現(xiàn)在,你可以關(guān)閉這個命令行窗口了。
--設(shè)備管理器
現(xiàn)在,我們打開設(shè)備管理器。打開之后,展開“人體學輸入設(shè)備”。
右擊“Universal Software HID device”,選擇“禁用”以禁用這個設(shè)備。
你會看到一個對話框,上面提示是否禁用這個設(shè)備,點擊“是”。
再次右擊“Universal Software HID device”,選擇“啟用”以啟用這個設(shè)備。
--筆和觸摸控制面板
在開始菜單搜索框里搜索“筆和觸摸”,然后打開筆和觸摸控制面板。如果搜索不到,那么說明系統(tǒng)沒有觸摸設(shè)備或沒有正確安裝觸摸驅(qū)動,可以按照前面的步驟重新來過。打開之后,切換到“觸摸”選項卡,勾選“在屏幕上的項交互時顯示觸摸指針”
--運行多點觸摸模擬器
插上另一只鼠標,運行 Multitouch.Service.Console.exe
現(xiàn)在會出現(xiàn)一個命令行窗口,還可以看見兩個紅點,這兩個紅點就是兩只鼠標的光標
運行Multitouch.Driver.Console.exe,然后你會看到另外一個命令行窗口。
運行Multitouch.Configuration.WPF.exe
點擊“Configure deveice”,然后勾選此項。
現(xiàn)在,系統(tǒng)的光標將會被臨時禁用,可以使用兩只鼠標的紅色光標來控制電腦,每個光標代表一個鼠標。
把兩個紅點分別當做兩個觸點,然后進行手勢操作,比如單擊、縮放、旋轉(zhuǎn)等
Windows 7 驅(qū)動
MultiTouch Vista的最大亮點在于它內(nèi)置了一個Windows 7驅(qū)動,利用這個驅(qū)動,可以將TUIO信息轉(zhuǎn)換為WM_TOUCH信息,從而被系統(tǒng)所識別。也就是說,我們自己做的設(shè)備,也可以操控Windows 7,享受Windows 7的多點觸摸特性。
現(xiàn)在我們來安裝并配置這個驅(qū)動。
前幾步操作與上文中完全一樣,大家可以按照上文中“安裝驅(qū)動”、“設(shè)備管理器”和“筆和觸摸控制面板”的內(nèi)容進行操作,操作完成之后,進行下一步。
運行 Multitouch.Service.Console.exe。
運行Multitouch.Configuration.WPF.exe,打開之后,在窗口左側(cè)Available devices欄里選擇Tuio,然后單擊右側(cè)的藍色>箭頭,然后點擊Restart service按鈕,現(xiàn)在可以關(guān)閉Multitouch.Service.Console.exe窗口了。
在使用的時候,假設(shè)現(xiàn)在的設(shè)備均已調(diào)試完畢,在CCV主界面右側(cè)Communication欄里選擇TUIO UDP選項。
回到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是一套開源的輸入管理框架,所以你可以很容易的從項目網(wǎng)站獲取源代碼,項目主頁http://multitouchvista.codeplex.com 。
MultiTouch Vista使用了C#語言和.NET Framework 3.5,所以在編譯的時候,首先確保機器上裝有最低版本為.NET Framework 3.5 SP1的.NET框架。此外,如果想要編譯MultiTouch.Framework.sln,則機器上必須裝有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會對項目進行轉(zhuǎn)換,以便讓Visual Studio 2010打開項目進行開發(fā),但是轉(zhuǎn)換以后,就不能再用比Visual Studio 2010低的版本打開了,換句話說,雖然MultiTouch Vista的開發(fā)者使用Visual Studio 2008進行開發(fā),但是當轉(zhuǎn)換之后,Visual Studio 2008便無法打開項目了。
下載源代碼之后,在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)查詢。
下面需要點出兩個來自微軟的框架
第一個是Prism(http://compositewpf.codeplex.com),Prism是微軟Patterns & Practices團隊的項目,它是一套針對開發(fā)組合的WPF應(yīng)用程序的框架。Prism試圖解決在基于WPF構(gòu)建企業(yè)級應(yīng)用程序中的挑戰(zhàn),當應(yīng)用的復(fù)雜度的增加、團隊數(shù)量逐漸龐大時,應(yīng)用程序也變得很難維護。使用Prism可以讓WPF開發(fā)更趨于模塊化,整個項目將由多個離散的、松耦合的模塊組成,而各個模塊又可以又不同的開發(fā)者或團隊進行開發(fā)、測試和部署。Prism采用了Unity來支持依賴注入,以實現(xiàn)更好的模塊化應(yīng)用程序開發(fā)。這里(http://msdn.microsoft.com/zh-cn/magazine/cc785479.aspx)有一篇來自MSDN的文章,可以閱讀一下。需要點出的是,MultiTouch Vista中的Prism不是最新版本。
另一個框架就是Managed Extensibility Framework(http://mef.codeplex.com)。通常,由于應(yīng)用需求的變化頻繁,導致軟件可擴展性越來越差,很難加入新的功能。所以微軟推出了MEF(托管可擴展框架),就是為了簡化可擴展應(yīng)用程序和組件的設(shè)計這個問題。但是需要說明一點,MultiTouch Vista使用的MEF并不是最新版本,如果使用最新版本的MEF將導致報錯。