快速展現 Linux 的 multitouch 技術

法國的 [
ENAC] 進行一個針對 Linux 平台上的 multi-touch 的技術展示,硬體的配置為:
- Broadcom 5974, Stantum, NTrig or DiamondTouch surface
軟體方面,除了需要上述硬體的 driver 與 firmware 之外,則是 Linux kernel 2.6.30 與 compiz + dbus plugin,不過這個展示沒用到 [
MPX:Multi-Pointer X Server ] 的技術,所以 Xorg + compiz 只是單純處理 3D 顯示效果。輸入的部份值得關注,因為這類 multi-touch 裝置,在 Linux kernel 下,會將其對應為 /dev/input/eventX,而此展示則撰寫若干小程式,監視數值變化並透過 dbus,告知 compiz 做出對應的反應,像是 water, zooming, rotate 等等。以 compiz 的「水波紋」效果來說,只要下達以下指令即可:
dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/water/allscreens/point org.freedesktop.compiz.activate string:'root' int32:`xwininfo -root | grep id: | awk '{ print $4 }'` string:'amplitude' double:1 string:'x' int32:$1 string:'y' int32:$2
重點就是兩組以上的 (x, y) 輸入,詳情可參考 ENAC 的網頁 [
Linux native multitouch support]。展示的影片可參考以下:
由 jserv 發表於 June 13, 2009 01:35 PM