2012-11-06

управление тачпадом из коммандной строки

У меня забавная проблема с отключением тачпада в убунте.
Конечно же оно не работает :)
Но на самом деле проблема не в том что кнопка отключения не работает. Она-то как раз в норме. Вот проверка xev'ом:
KeyPress event, serial 40, synthetic NO, window 0x4600001,
    root 0xd8, subw 0x0, time 26256081, (598,673), root:(601,696),
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4600001,
    root 0xd8, subw 0x0, time 26256156, (598,673), root:(601,696),
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
Проблема в том что у меня оказывается нет тачпада:
#  xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        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)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_HD               id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]
Вот та хрень PS/2 Generic Mouse и есть мой тачпад :(
Модель ALPS воткнутая долбаным делом не существует, и дров на нее не бывает, как и прокрутки и малтитача.

Но вопрос по отключению, и здесь все просто: xinput enable 12 и xinput disable 12 (12 это айди из вывода xinput).

Но это не интересно, нужно написать скрипт touchpad-toggle!
#!/bin/bash
TOUCHPAD=12
if [[ $(xinput list ${TOUCHPAD} | grep "This device is") =~ disabled ]]; then
        echo "Enabling touchpad"
        xinput enable ${TOUCHPAD}
else
        echo "Disabling touchpad"
        xinput disable ${TOUCHPAD}
fi
Теперь можно было бы попробовать повесить этот скрипт на кнопку XF86TouchpadToggle но, к сожалению, КДЕ не позволяет именно на эту кнопку вешать скрипты :(

Немає коментарів: