linux: тачпад и мышь работают одновременно :(

oyuriyu

Мне это нафиг не надо. Как можно сделать, чтобы тачпад вырубался если есть работающая мышь ? Мышь у меня по udev подключается.
 cat /etc/udev/rules.d/010_local.rules
ACTION=="add", \
KERNEL=="event*", \
SUBSYSTEM=="input", \
SYSFS{manufacturer}=="Logitech", \
SYSFS{product}=="USB-PS/2 Optical Mouse", \
NAME="input/mx518"

banderon

Лучше напиши, как у тебя мышь настроена в xorg.conf. Я думаю, можно с помощью udev настроить так, что пока мыши нет, то /input/currentmouse указывает на тачпад, а при подключении сменить указатель на мышь, при отключении — вернуть обратно. В xorg.conf мышь сделать через /input/currentmouse.
А чем плох работающий тачпад при подключенной мышке?

vitaminkin

По клаве неудобно фигарить, я думаю

banderon

Кстати, на этот случай можно настроить так, чтобы при печатании на клаве тачпад отрубался. В принципе, если поковыряться в исходниках, то так же можно на любые другие действия повесить имхо.

oyuriyu

опа, наврал я про udev.
  
Section "InputDevice"
Identifier "MX518"
Driver "mouse"
# Option "Device" "/dev/input/mx518"
Option "Device" "/dev/input/mice"
Option "CorePointer"
Option "ButtonNumber" "7"
Option "Buttons" "7"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
EndSection

Код, который я до этого постил нифига не используется. История такая — сначала работал udev нормально, а потом после какого-то "upgrade-а" начало жутко глючить(если юзать input/mx518, то мышь просто скачет по всему экрану рандомно и на экране и всё нажимает) и я просто через dev/input/mice подключил.

banderon

А тачпад случаем не synaptics'овский?
Если так, то у них вместе с дровами [ссылка] поставляются специальные скриптики для этого дела:

#!/bin/bash
#
# This is a little hotplug script that disables the Touchpad when
# you plug in a usb mouse and reenables it when the mouse is unplugged.
#
# Simply put this into /etc/hotplug/usb/usbhid and thats it...
SYNCLIENT=/usr/bin/synclient
check_for_usb_mouse {
if [ "`grep -e Mouse /proc/bus/usb/devices`" ]; then
$SYNCLIENT TouchpadOff=1
else
$SYNCLIENT TouchpadOff=0
fi
}
add_device {
ln -s /etc/hotplug/usb/usbhid $REMOVER
check_for_usb_mouse
}
remove_device {
rm $REMOVER
check_for_usb_mouse
}
case $ACTION in
add)
add_device
;;
remove)
remove_device
;;
*)
;;
esac
exit 0

oyuriyu

спасибо, попробую. А то я с горя уже и тачпад из ядра выкомпилял полгода как

gsharov

Я наоборот ОЧЕНЬ долго трахался чтоб они у меня одновременно заработали Удобно когда печатаеш че то по быстрому с тачпада щелкнуть. Он у меня случайно не срабатывает почти...

oyuriyu

Скрипт, разумеется не работает. Даже если его руками запустить, то тачпад, гад, не вырубается.

oyuriyu

заодно гуглем выяснил, почему udev глючит. Оказывается, дебиановские умельцы поломали evdev пакет, который теперь глючит и надо устанавливать старую версию. Скоро релиз, а они и не чешутся

banderon

У меня тоже скриптик не работает

oyuriyu

короче, с тачпадом пока не разобрался, но попробую хоть udev починить, мож хоть багрепорт сгенерю. полгода назад, пока они пакет не обновили, udev работал.
Зато микрофон настроил, правда два дня с бубном плясал, оказалось для моего ноута нужно параметр ядру передавать и вообще шаманить
ЗЫ багу с evdev они не пофиксили, зато на сайте пакета есть обьяснение как её обойти

oyuriyu

оказалось всё очень просто, прочитал мануал по udev и сам правила написал
(правда для этого пришлось тачпад модулем cкомпилить, наверное его можно как-то цивильно выключить, но я просто топорно модуль выгружаю , так как он хоть и Synaptic-овский, но синаптиковсие тулзы для управления им нифига не работают ) :
cat /etc/udev/rules.d/010_local.rules :
ACTION=="add", KERNEL=="event*", SUBSYSTEM=="input", \
SYSFS{product}=="USB-PS/2 Optical Mouse", NAME="input/mx518", RUN+="/sbin/rmmod psmouse"
ACTION=="remove", KERNEL=="event*", SUBSYSTEM=="input", \
SYSFS{product}=="USB-PS/2 Optical Mouse", RUN+="/sbin/modprobe psmouse"

PS будет время, перепишу эти правила по человечески
Оставить комментарий
Имя или ник:
Комментарий: