простая проблема:
Сенсорная панель перестает работать после приостановки в Ubuntu 11.10. Это досадная проблема, так как мне нравится для удобства использовать сенсорную панель вместе с мышью (если только я не должен использовать сенсорную панель, потому что мышь недоступна).
Может ли кто-нибудь помочь?
Я также разместил комментарий под этим нерешенным вопросом для аналогичной проблемы в 10.10: Сенсорная панель перестала работать после приостановки на Toshiba L650
Марка и модель ноутбука: CLEVO M55N.
Список xinput в терминале дает:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Genius 2.4G Wireless Mouse and Keyboard id=11 [slave pointer (2)]
⎜ ↳ ImPS/2 Elantech Touchpad id=13 [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)]
↳ Genius 2.4G Wireless Mouse and Keyboard id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
Заранее спасибо.
У меня тоже этот баг на 10.04 (у меня такая же тачпад Elantech)! Я создаю скрипт /etc/pm/sleep.d/66my-sleep-resume
(66 - приоритет старта)
#!/bin/sh
case "${1}" in
hibernate)
# nothing
;;
resume|thaw)
modprobe -r psmouse && modprobe psmouse
;;
esac
и теперь все работает.
Менеджер питания (dpkg -L pm-utils
) вызывается в начале и в конце вашего приостановления / возобновления. Прочитайте man pm-powersave
и man pm-suspend
. Также прочитайте /usr/share/doc/pm-utils/README{,.debugging}
.
Некоторые полезные сценарии Power Manager, вероятно, вызывают проблемы с сенсорной панелью. Либо это не сохранение / восстановление состояния сенсорной панели, либо перезагрузка необходимого модуля.
Посмотрите на dmesg
после перезагрузки и попробуйте посмотреть, как инициализируется тачпад. Сравните выходные данные lsmod
как post-boot-pre-suspend (когда он работает) и post-suspend (когда он не работает). Если модуль отсутствует в последнем, вы на пути к решению.
Другой метод отладки - начать в состоянии после загрузки до приостановки и выполнить:
touch /tmp/before-time-date
find /var/logs -type f -anewer /tmp/before-time-date
less
, и у меня есть мои любимые настройки в переменной окружения, $LESS=-XMersj3
. поэтому я могу сделать: sudo -v;find /var/logs -type f -anewer /tmp/before-date-time -print | xargs sudo less $LESS
G
(в верхнем регистре), чтобы добраться до конца каждого файла. Попробуйте это в терминале после возобновления:
synclient touchpadoff=0
Если это работает, вы можете написать скрипт, содержащий эту команду, и поместить скрипт в /etc/pm/sleep.d/
.
К сожалению, есть много причин, почему это могло произойти. Обходной путь, который помог мне в некоторых случаях, это перезагрузить модуль ядра, отвечающий за события мыши:
sudo modprobe -r psmouse
sudo modprobe psmouse
Вы также должны проверить, имеет ли какое-либо значение использование Fn-ключей.
Подобная проблема была с моей беспроводной USB-мышью / клавиатурой (Logitech) на (L) Ubuntu 12.04 LTS. Курсор мыши застрял после pm-suspend. Отключение и повторное подключение USB решило проблему.
Над обходным решением, создавая скрипт в /etc/pm/sleep.d
, работало сорта. пришлось изменить psmouse
на hid_logitech.
При использовании другого оборудования вам придется соответствующим образом изменить скрипт, в зависимости от того, какие модули ядра вам нужно будет перезагрузить.
/etc/pm/sleep.d/99_fixmouse
#!/bin/sh
case "${1}" in
hibernate)
#nothing
;;
resume|thaw)
modprobe -r hid_logitech
modprobe hid_logitech
;;
esac
не забудьте сделать chmod +x
в вышеуказанном файле.
для меня на xenial xubuntu xfce и сенсорной панели Elantech это не сработало:
modprobe -rv psmouse ;; modprobe -v psmouse proto = imps ;;
sudo gedit /etc/pm/sleep.d/0000trackpad
#!/bin/sh
case "$1" in
suspend|hibernate)
modprobe -rv psmouse ;;
resume|thaw)
modprobe -v psmouse proto=imps ;;
esac
dmesg | grep -i touch
[ 1.876547] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input5
[ 1077.028151] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
grep -B 5 mouse /proc/bus/input/devices
I: Bus=0011 Vendor=0002 Product=000e Version=0000
N: Name="ETPS/2 Elantech Touchpad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input5
U: Uniq=
H: Handlers=mouse0 event5
<user>@<xenial>:~$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [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)]
↳ WebCam SC-0311139N id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
Описанная проблема здесь
Только Strg + Alt + F1 kbd> и обратно Alt + F7 kbd> возвращает мне курсор назад.