Существует ли способ “перезапустить” драйвер сенсорной панели?

Я использую Ubuntu 14.04 на ноутбуке, обычно с внешней мышью USB и клавиатурой и экранирую соединенный. Иногда, однако, я отключаю всех их и перемещаю ноутбук и продолжаю использовать его со встроенной клавиатурой и экраном и сенсорной панелью.

Наугад времена, это происходит, что сенсорная панель прекращает работать (но если я включаю мышь USB, мышь USB действительно работает). Хотя это происходит очень редко, когда это делает это - большое раздражение, поскольку я вынужден перезагрузить, если мне нужна сенсорная панель для работы снова.

Есть ли некоторое обходное решение, которое я могу попробовать, такие как уничтожение некоторого процесса, который автоматически перезапустил бы, или некоторая команда, которая заставит драйвер сенсорной панели перезапускать или обновляться или что-то? Что-нибудь, что может "разбудить" сенсорную панель, не имея необходимость перезагружать?

64
задан 25 September 2014 в 14:45

15 ответов

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

ОБНОВЛЕНИЕ: (Примечание: поврежденная ссылка ниже, решение выше) Начиная с регистрации этого "решения", я добавил комментарий, который, по-видимому, удовлетворил потребности пользователя. Только что теперь узнав, что комментарии остаются только временно и автоматически удалены, я повторно отправляю содержание полезного комментария, ниже которого оно может быть сохранено для других:

я совместно использовал "решение", которое работало на меня. Сегодня пришло в голову меня к Google для решений более обтягивающим образом Ваш исходный вопрос и найденный следующей ссылкой. Это не то, что я лично считал бы "удобным", но это могло, по крайней мере, быть более изящно путем создания его сценарием из него. я нашел это (см. ниже) †“gyropyge 25 сентября в 20:06

Нажатие Высокий звук + F2 и тип в gksudo modprobe -r psmouse Тип в пароле, нажмите Входят , и затем нажимают Высокий звук + F2 снова для ввода следующего gksudo modprobe psmouse и затем нажимают Вводят

32
ответ дан 16 November 2019 в 10:07

Я нашел способ сделать это:

Первый, откройте терминал и распечатайте все устройства ввода данных для нахождения идентификатора, в котором Вы нуждаетесь для устройства ввода данных, которое Вы хотите отключить. В терминале введите:

xinput --list

Затем: Заметьте, где это говорит что id=X в одном длинном столбце для каждого устройства ввода данных. Вы хотите найти идентификатор устройства, который соответствует устройству ввода данных, которое Вы хотите отключить (Возможно, что-то, что походит на "сенсорную панель"). Тогда замените X в следующей команде с идентификационным номером, представляющим устройство ввода данных, которое Вы хотите отключить:

xinput disable X

Примечание: Если Вы не уверены, какой идентификатор устройства необходимо использовать для отключения сенсорной панели, то можно узнать путем тестирования случайного идентификатора и наблюдения, работает ли коврик для мыши все еще. Удостоверьтесь, что Вы НЕ ДЕЛАЕТЕ НИЧЕГО ВАЖНОГО. Сохраните всю свою работу и быть готовыми перезапустить Ваш компьютер, если Вы делаете что-то, любят, отключают Вашу клавиатуру. (Вы можете испытать затруднения при попытке включить его снова, если Вы не можете ввести в терминал.

Тогда необходимо будет выполнить эту последнюю строку (Спасибо за ловлю этого Arch Stanton!)

xinput enable X

Причина: Мне отчаянно было нужно решение этой проблемы, потому что проблемы я испытывал со своей сенсорной панелью, сделанной, делая любой вид невозможной работы. Внезапно, в некоторый случайный момент при использовании моего ноутбука, по, по-видимому, никакой причине, моя сенсорная панель входит в некоторый "специальный режим". Просто шевелить одним пальцем на моей сенсорной панели заставило бы экран прокручивать, вместо того, чтобы на самом деле переместить курсор мыши на экране, таким образом, было невозможно заставить мышь нависать над чем-либо в broswer без значительных усилий по координированию составлять экран прокрутки и не движущуюся мышь. Я хотел найти путь, НЕ ПЕРЕЗАПУСКАЯ НОУТБУК, сбросить сенсорную панель. Зато, сброс сенсорной панели с методом выше на самом деле решает мою проблему.

Обновление: Для создания сброса сенсорной панели еще легче я сделал горячую клавишу для вышеупомянутых перечисленных команд. Когда моя сенсорная панель идет на неисправность, я просто делаю сочетание клавиш ctrl+super+r, и это делает сброс для меня. Быстрый и легкий.

Вот то, как:

- Создают файл в Вашем корневом каталоге и называют его чем-то как "сенсорная-панель-reset.sh".

- В этом файле, вставленном в два из трех (последние два), предыдущие команды упомянули выше кроме, вместо того, чтобы использовать X идентификационных номеров для устройства, так как это подвержено изменениям с добавленными периферийными устройствами (возможно??) можно сделать, используют это вместо этого:

Вот вывод от моего компьютера в терминале с помощью этой команды:

xinput --list

Результат:

Virtual core pointer                        id=2    [master pointer  (3)]⎜   
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]⎜   
   ↳ Genius 2.4G Wireless Mouse                 id=10   [slave  pointer  (2)]⎜   
   ↳ MSFT0001:00 06CB:75BD UNKNOWN              id=13   [slave  pointer  (2)]⎜   
   ↳ ELAN Touchscreen                           id=12   [slave  pointer  (2)]⎜ 

- Теперь, что Вы делаете, Вы заменяете X (который был идентификатором прежде) для xinput, отключают X, и xinput включают X с именем, соответствующим тому идентификатору в одинарных кавычках. Например, от вышеупомянутого, если бы Вы хотели сделать это для id=13, моего устройства сенсорной панели, Вы использовали бы:

xinput disable 'MSFT0001:00 06CB:75BD UNKNOWN'
xinput enable 'MSFT0001:00 06CB:75BD UNKNOWN'

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

Наконец, необходимо дать полномочия сделать этот исполняемый файл файла; выполните эту команду со своим рабочим каталогом в терминале как Ваш корневой каталог (где Вы создали файл):

chmod +x your_script_name.sh

Поэтому, как только Вы делаете этот файл с соответствующими командами записанным внутри, удостоверяясь, что это находится в Вашем корневом каталоге, возьмите следующие шаги ниже:

  1. Нажимают супер клавишу (окна включают ПК) на клавиатуре для перевода в рабочее состояние боковой панели единицы. Введите в 'параметрах настройки системы' и нажмите клавишу Enter.
  2. Находят опцию 'Keyboard' под тем, где она говорит 'Аппаратные средства', и нажмите на нее.
  3. Выбор вкладка 'Shortcuts'.
  4. В левом окне, выберите 'Пользовательские Ярлыки'
  5. , Нажимают + кнопка около нижнего центра.
  6. окно А должно открыться, прося название описания и команду вставлять.
  7. Делают имя что-то как "сенсорная панель сброса"
  8. Использование эта команда: терминальный гномом-x./name_of_your_script.sh
  9. Нажимает на 'Apply'
  10. , необходимо теперь видеть перечисленный ярлык, и на крайнем правом он должен сказать "Отключенный" или некоторый другой мусор. Нажмите на тот текст и быть готовыми сделать некоторое сочетание клавиш, возможно, как ctrl+super+r.
  11. , Как только Вы делаете это сочетание клавиш, Вы сделаны.

Поздравляю! Весело провести время.

58
ответ дан 16 November 2019 в 10:07

Перезапускать драйвер сенсорной панели ноутбука:

Открытый терминал путем нажатия Ctrl + Высокий звук + T и выполняет следующую команду

sudo  modprobe -r psmouse

затем

sudo modprobe psmouse

, я нашел решение здесь и существует также решение для мышь usb

50
ответ дан 16 November 2019 в 10:07

Если Вы не знаете, какой модуль Ваше использование сенсорной панели можно узнать с небольшим количеством рытья вокруг

grep -iA2 touchpad /proc/bus/input/devices

для меня это возвращается

N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/platform/80860F41:03/i2c-11/i2c-ELAN0100:00/input/input10

затем посмотрите, какие модули ядра доступны в этой категории:

ls $(find /lib/modules/$(uname -r) -type d -name mouse)

который для меня возвраты

appletouch.ko  bcm5974.ko  cyapatp.ko  elan_i2c.ko  gpio_mouse.ko  
psmouse.ko  sermouse.ko  synaptics_i2c.ko  synaptics_usb.ko  vsxxxaa.ko

Перекрестная ссылка два - в моем случае, это похоже на модуль для моей сенсорной панели, elan_i2c.ko

Править: Я недавно выяснил, как надежно получить название драйвера, используемого с замысловатой командой, которую terdon упростил приятно для меня

grep -hriPo 'DRIVER=\K.+' /sys 2>/dev/null | while read driver; do [ -e /lib/modules/$(uname -r)/kernel/drivers/input/mouse/"$driver"* ] && echo $driver; done

Для проверки Вы получили правильный модуль, протестируйте команду для разгрузки его от ядра:

sudo modprobe -r elan_i2c

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

sudo modprobe elan_i2c

Это эффективно перезапускает модуль. Можно выполнить две команды вместе как это:

sudo modprobe -r elan_i2c && sudo modprobe elan_i2c

Я иногда должен делать, это на резюме от приостанавливает.

10
ответ дан 16 November 2019 в 10:07

Вот то, что работало на меня, [Zenbook ASUS UX501VW]:

sudo  modprobe -r elan_i2c
sudo  modprobe elan_i2c

И моя недостающая сенсорная панель вернулся.

6
ответ дан 16 November 2019 в 10:07

Если у Вас есть synaptics сенсорная панель:

synclient TouchpadOff=0
7
ответ дан 16 November 2019 в 10:07

Также попробуйте gksudo /etc/init.d/hotplug restart

1
ответ дан 16 November 2019 в 10:07

Я использую Сетчатку Apple MacBook Pro; сенсорная панель иногда прекращает работать. Большинство вышеупомянутых методов не найдет драйвер, поскольку имя не содержит 'мышь' или 'касание'.

Для нахождения драйвера сенсорной панели, в моем случае bcm5974:

MacBookPro:~$ xinput list-props 11
Device 'bcm5974':
    Device Enabled (147):   1`
...

Затем, чтобы разгрузиться и перезагрузить:

MacBookPro:~$ sudo modprobe -r bcm5974
MacBookPro:~$ sudo modprobe bcm5974

Решенный.

0
ответ дан 16 November 2019 в 10:07

То, что может быть легче, и который работал на меня, перезагружало драйвер в ядре. Следующий код сначала находит название драйвера ядра, который обрабатывает сенсорную панель, затем разгружает ее с rmmod и перезагрузки это с modprobe. Обратите внимание, что необходимо быть корнем для выполнения этих команд, таким образом работайте sudo su сначала.

> lsmod | grep touch
hid_multitouch         20480  0 
> rmmod hid_multitouch 
> modprobe hid_multitouch
4
ответ дан 22 November 2019 в 23:33

иллюзионист.

Я понимаю, что Вы запускаете Ubuntu 14.04; Мой немного отличается (следующие):

Этот ноутбук: Acer Swift 1 (EUFI); x86-64 укусил.

Тип ОС: Ubuntu 16.04 LTS.

Тип сенсорной панели: сенсорная панель SYNA7DAB:00 06CB:7DAC (synaptics_i2c.ko).

Решение предоставлено: https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

Создайте сценарий файла удара (как предложено: Создайте символьную ссылку на сценарий удара и отобразите горячую клавишу на него); содержание должно быть следующие:

#!/bin/bash

declare -a STATES=(1 0)
DEVICE=$(xinput list --name-only | grep Touchpad)
STATE=$(xinput list-props "$DEVICE" | grep 'Device Enabled' | sed 's/^.*:[ \t]*//')
xinput set-prop "$DEVICE" 'Device Enabled' ${STATES[$STATE]}

Удостоверьтесь, что это имеет исполняемые полномочия!

sudo chmod +x path/filename.sh

Это решение работает отлично для меня. Надо надеяться, это относится к Вам также.

Персональные данные собственной проблемы (возможно применимый к Вашей ситуации)

По некоторой неизвестной причине: сенсорная панель Этого ноутбука автоволшебно станет нефункциональной (все же все еще выполняет AFAIK). Я попытался удалить основанную на USB оптическую мышь; все же столкнитесь с той же проблемой.

xinput - дамп списка:

larvae@MST-Laptop:~/Desktop$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ SYNA7DAB:00 06CB:7DAC Touchpad            id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=9    [slave  keyboard (3)]
    ↳ HD WebCam                                 id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=14   [slave  keyboard (3)]

сенсорная панель grep-ia2/proc/bus/input/devices дамп:

larvae@MST-Laptop:~/Desktop$ grep -iA2 touchpad /proc/bus/input/devices
N: Name="SYNA7DAB:00 06CB:7DAC Touchpad"
P: Phys=i2c-SYNA7DAB:00
S: Sysfs=/devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-SYNA7DAB:00/0018:06CB:7DAC.0003/input/input11

Резюме решения (обеспеченный UBUNTU): https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

0
ответ дан 22 November 2019 в 23:33

Одна командная строка удара для сброса сенсорной панели (на основе @user3499524 ответа):

id=`xinput --list |grep -i touchpad | cut -f2 | cut -f2 -d=` && xinput disable $id && xinput enable $id && echo "The touchpad has been reset."
1
ответ дан 22 November 2019 в 23:33

Для меня, на ядре 4.13.0-46 на Asus для ELAN1200, это не было о перезагрузке elan_i2c но hid-multitouch драйвер:

sudo modprobe -r hid-multitouch && sudo modprobe -r hid-multitouch
2
ответ дан 22 November 2019 в 23:33

Простое решение могло бы быть к:

  • включите мышь
  • перейдите к Параметрам настройки системы>> Мышь и Сенсорная панель
  • переключите сенсорную панель на НА
1
ответ дан 22 November 2019 в 23:33

Я называю этот сценарий mouse-reset. Это удаляет и затем modprobes все модули, перечисленные в ответах на этот вопрос до сих пор:

#!/bin/bash

modules=(psmouse hid_multitouch elan_i2c)

for mod in "${modules[@]}"; do
    sudo rmmod "$mod" 2> /dev/null
    sudo modprobe -v "$mod" 2> /dev/null
done
0
ответ дан 22 November 2019 в 23:33

Я использую Alienware 13 R2 с Ubuntu 18.04 LTS и ни один из выше сработало для меня.

Что ж, я могу сказать, что xinput disable / enable действительно изменяет статус устройства и даже отражается в пользовательском интерфейсе настроек. Однако тачпад просто не оживает.

Что мне помогло, так это занесение в черный список модуля i2c_hid , как указано здесь и ниже:

sudo su
echo 'blacklist i2c_hid' >> /etc/modprobe.d/blacklist.conf
depmod -a
update-initramfs -u

После перезагрузки все было в порядке.

В качестве примечания, я также использую dconf для установки событий сенсорной панели / отправки на disabled-on-external-mouse . Таким образом, тачпад доступен только при отсутствии внешней мыши.

Чтобы установить dconf:

apt-get install dconf-editor -y
0
ответ дан 18 December 2019 в 20:00

Другие вопросы по тегам:

Похожие вопросы: