如何在 Ubuntu 12.10 上打字時停用 Elantech 觸控板?

如何在 Ubuntu 12.10 上打字時停用 Elantech 觸控板?

我有一台上週購買的華碩筆記型電腦(非 zenbook)。它上面有一個 Elantech 觸控板。這是有效的:

  • 邊緣滾動或兩指滾動。
  • 三指和二指。
  • 左鍵單擊和右鍵單擊並雙擊。

唯一讓這不完美的是,當我打字時,有時我的手掌恰到好處地擊中了觸控板,然後事情就變得瘋狂了。這在編寫程式碼時可能會很麻煩。

有人可以幫忙嗎?

這是輸出xinput list

 Virtual core pointer                       id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ ASUS USB2.0 Webcam                        id=9    [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                          id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]

輸出: ps aux | grep 同步守護程式

傑森 2911 0.0 0.0 20208 948 ? S Feb13 0:53 syndaemon -i 2.0 -K -R -t

傑森 10256 0.0 0.0 13584 928 分/2 S+ 14:18 0:00 grep syndaemon

答案1

我知道這不是您真正想要的(完全自動?),但是有一個易於創建的鍵盤快捷鍵來停用和啟用觸控板。

從你的xinput listID你的觸控板是12。使用此命令禁用它:

xinput set-prop 12 "Device Enabled" 0

使用它來啟用它:

xinput set-prop 12 "Device Enabled" 1

將這些命令綁定到您的自訂快捷方式(鍵盤/快捷方式/自訂快捷方式)。也許這可以做成一個腳本?

答案2

我知道在打字時禁用觸控板的兩種方法。首先是圖形方式。按一下 Dash 並寫入: touchpad ,然後按一下「滑鼠和觸控板」開啟並勾選「鍵入時停用觸控板」方塊

在此輸入影像描述

第二種(我認為是相同的)是終端方式..打開終端(CTRL+ALT+T)並寫入

syndaemon -i 2 -d 

-i 後面的數字表示最後一次按下按鍵後觸控板再次工作的秒數。 -d 選項用於讓 syndaemon 繼續在背景執行(作為守護程式)。

答案3

啟動突觸。我遇到了一些問題,因為它有時無法啟動。嘗試再次啟動它,直到看到 GUI 對話方塊。

在對話方塊中,您可以設定「鍵盤活動時自動關閉觸控板」和「再次開啟觸控板之前等待的時間」。

您也可以設定「插入滑鼠時自動關閉觸控板」。

答案4

我使用我剛剛做的這個腳本。根據 xinput --list 的輸出更改鍵盤和滑鼠設備

kbidle () # disable ELAN touchpad while typing. By Zibri
{ 
    sleep 3;
    xinput test "ITE Tech. Inc. ITE Device(8910) Keyboard" | ( while true; do
        if read -t 1 a; then
            xinput disable "ELAN1200:00 04F3:3090 Mouse";
        else
            xinput enable "ELAN1200:00 04F3:3090 Mouse";
        fi;
    done )
}

相關內容