開源軟體

Touchégg: Linux 上觸摸板/屏的多指手勢

筆者之前體驗過Mac OS X上的觸摸板,對觸摸板的工作區切換手勢可謂印象深刻。而筆者所使用的筆記本搭載了支持5隻手指的觸摸板,因此很希望能夠在此之上實現3隻手指以上的手勢識別和交互。

這樣,一款叫 Touchégg 的軟體進入了筆者視野,利用這款軟體,筆者在 Linux 桌面環境上實現了接近 Mac OS X 上的工作區切換手勢。

安裝

筆者使用的是 Debian,其他發行版可依此參考。

安裝依賴:
$ sudo apt-get install build-essential libqt4-dev libgeis-dev libx11-6 libxtst-dev
下載源代碼:
$ git clone https://github.com/JoseExposito/touchegg
編譯:
$ cd touchegg
$ qmake
$ make

安裝:
$ sudo make install

運行

直接執行 touchegg 即可(也可以根據需要配置開機自動運行,參考 ArchWiki

配置

用戶的配置文件位於 ~/.config/touchegg/touchegg.conf,這是一個類似XML的配置文件,我們可以參考已有的配置進行設置。(也有一個圖形化配置工具

Touchégg 支持對不同的應用程序採用不同的配置,這通過 application 元素進行區分。

在 application 中配置需要識別的手勢,即 gesture 元素,gesture 支持以下手勢:

輕觸 在觸摸板/屏上用1到5根手指進行點擊
配置文件的寫法:TAP
可用方向選項:無
移動 用1到5根手指在觸摸板/屏上移動
配置文件的寫法:DRAG
可用方向選項:up/down/left/right
捏合 用2到5根手指在觸摸板/屏上捏合或鬆開
配置文件寫法:PINCH
可用方向選項:in/out
旋轉 用2到5根手指在觸摸板/屏上旋轉
配置文件寫法:ROTATE
可用方向選項:left/right
拖動 在觸摸板/屏上用1到5根手指輕觸再移動
配置文件寫法:TAP_AND_HOLD
可用方向選項:up/down/left/right
雙擊 用1到5跟手指雙擊
配置文件寫法:DOUBLE_TAP
可用方向選項:無

之後再配置每個 gesture 對應的 action:

寫法 選項 說明
MOUSE_CLICK BUTTON=1..9 模擬滑鼠點擊
1 – 左鍵
2 – 中鍵
3 – 右鍵
8 – 後退
9 – 前進
DRAG_AND_DROP BUTTON=1..3 用相應的滑鼠按鍵拖動
SCROLL SPEED=1..10
INVERTED=true/false
模擬垂直滾動,SPEED越大速度越快
I
NVERTED 表示反向滾動
SEND_KEYS Key1+Key2+KeyN 模擬組合鍵具體按鍵可在 /usr/include/X11/keysymdef.h 中查詢(去掉 "XK_")
MINIMIZE_WINDOW - 最小化窗口
MAXIMIZE_
RESTORE_WINDOW
- 最大化或還原窗口
CLOSE_WINDOW - 關閉窗口
RESIZE_WINDOW - 調整窗口大小,一般與捏合手勢搭配
MOVE_WINDOW - 移動窗口
SHOW_DESKTOP - 第一次顯示桌面,第二次恢復窗口
CHANGE_DESKTOP NEXT/PREVIOUS 切換到前一個或後一個桌面
CHANGE_VIEWPORT NEXT/PREVIOUS Changes to the next or previous viewport
RUN_COMMAND 需要運行的命令 運行命令

筆者使用的手勢參考:
<application name="All">
<gesture type="DRAG" fingers="4" direction="LEFT">
<action type="CHANGE_DESKTOP">NEXT</action>
</gesture>
<gesture type="DRAG" fingers="4" direction="RIGHT">
<action type="CHANGE_DESKTOP">PREVIOUS</action>
</gesture>
</application>

此外,筆者對代碼進行了修改,在切換工作區時不允許無限滾動。
GitHub: https://github.com/Eventide/touchegg

參考:

  1. GitHub Wiki
  2. ArchWiki

本文系原創,轉載請註明出處: http://www.linuxstory.org/multitouch-gesture-on-linux/

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
2
不太好
0
感覺很糟
0

You may also like

5 Comments

  1. gnome用戶表示心情穩定

  2. 你好,安裝正常(apt-get安裝),配置設置好後運行程序觸摸板沒反應,看不到效果,網上搜了一下也有其他人有這個問題,但沒查到解決方案。可能是哪裡的原因呢,驅動嗎?

    1. 是的。 Touchegg 依賴的是 Synaptic 的驅動程序。GNOME 默認的是好像是 libinput 。

  3. 我在centos 上無法編譯成功, 運行make時:
    g++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fno-strict-aliasing -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib64/qt-3.3/mkspecs/default -I. -I/usr/lib64/qt-3.3/include -o Config.o src/touchegg/config/Config.cpp
    In file included from src/touchegg/config/Config.h:24:0,
    from src/touchegg/config/Config.cpp:21:
    ./src/touchegg/util/Include.h:24:22: 致命錯誤:QtCore:沒有那個文件或目錄
    #include
    ^
    編譯中斷。
    make: *** [Config.o] 錯誤 1

    能否幫助一下?

    1. 看起來是缺少QT的頭文件。
      1. QT的開發庫是否安裝呢?
      2. Touchegg對QT版本有沒有要求?
      請自查一下~

Leave a reply

您的郵箱地址不會被公開。 必填項已用 * 標註

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

More in:開源軟體

開源軟體

在 Linux 終端中管理您的密碼

在信息時代,我們的所使用的密碼只會越來越多,你是否遇到過密碼太多而經常遺忘?所以應該如何高效地管理這些密碼?本篇文章主要講述了在我們擁有大量的密碼時,在Linux終端下,使用 Pass 管理系統高效地管理密碼,並為我們提供了詳細的操作步驟,使我們更加快速熟悉地掌握如何使用 Pass,減少我們自己在以後的使用中的可能遇到的煩惱。
開源軟體

用 Scribus 來進行排版吧!

想不想製作一些親手設計的小冊子呢?來使用專業級的開源軟體 Scribus 快捷排版吧!這款應用可以讓你輕鬆地把創意落地成可列印的文檔,無論在家、辦公室還是專業的印刷廠都可以使用。在過程中也不會用到任何剪刀、膠水,完美契合不善動手的人。
開源軟體

使用 pdftk-java 來編輯 PDF 吧!

在用命令行處理大量 PDF 文件時,手動操作通常不是一個好的選擇。這時候可以選擇使用 pdftk-java 工具,配合上對應批量操作的 Makefile 文件,能讓你事半功倍。
開源軟體

來點更高雅的!用 Linux Sampler 演奏數字管弦樂

一直以來,音樂合成器都在嘗試模擬真實的樂器。然而在技術的發展中,合成音樂家們發現如果想真正地捕獲到樂器的美感,只能去錄製他們的聲音,再通過技術合成手段來獲得想要的音樂。如果你想要為自己的遊戲或者其他應用來配上一段優美的音樂,聘請管弦樂隊顯然是非常昂貴的。但通過 Linux Sampler 這個開源程序,或者再加上一個 MIDI 鍵盤,也是可以實現一段成功的演奏的。