Я использую Ubuntu 14.04 на ноутбуке, обычно с внешней мышью USB и клавиатурой и экранирую соединенный. Иногда, однако, я отключаю всех их и перемещаю ноутбук и продолжаю использовать его со встроенной клавиатурой и экраном и сенсорной панелью.
Наугад времена, это происходит, что сенсорная панель прекращает работать (но если я включаю мышь USB, мышь USB действительно работает). Хотя это происходит очень редко, когда это делает это - большое раздражение, поскольку я вынужден перезагрузить, если мне нужна сенсорная панель для работы снова.
Есть ли некоторое обходное решение, которое я могу попробовать, такие как уничтожение некоторого процесса, который автоматически перезапустил бы, или некоторая команда, которая заставит драйвер сенсорной панели перезапускать или обновляться или что-то? Что-нибудь, что может "разбудить" сенсорную панель, не имея необходимость перезагружать?
У меня была та проблема с одним ноутбуком неоднократно, пока я не заметил, что сенсорная панель того компьютера имела свой собственный Выключатель, который я, должно быть, поражал случайно. В частности, переключатель не помог снова включить его. Я просто стал осторожным для не нажатия его, и в ближайшее время я взял к использованию внешней беспроводной клавиатуры с интегрированной беспроводной сенсорной панелью, и у меня не было той проблемы с тех пор.
ОБНОВЛЕНИЕ: (Примечание: поврежденная ссылка ниже, решение выше) Начиная с регистрации этого "решения", я добавил комментарий, который, по-видимому, удовлетворил потребности пользователя. Только что теперь узнав, что комментарии остаются только временно и автоматически удалены, я повторно отправляю содержание полезного комментария, ниже которого оно может быть сохранено для других:
я совместно использовал "решение", которое работало на меня. Сегодня пришло в голову меня к Google для решений более обтягивающим образом Ваш исходный вопрос и найденный следующей ссылкой. Это не то, что я лично считал бы "удобным", но это могло, по крайней мере, быть более изящно путем создания его сценарием из него. я нашел это (см. ниже) †“gyropyge 25 сентября в 20:06
Нажатие Высокий звук + F2 и тип в
gksudo modprobe -r psmouse
Тип в пароле, нажмите Входят , и затем нажимают Высокий звук + F2 снова для ввода следующегоgksudo modprobe psmouse
и затем нажимают Вводят
Я нашел способ сделать это:
Первый, откройте терминал и распечатайте все устройства ввода данных для нахождения идентификатора, в котором Вы нуждаетесь для устройства ввода данных, которое Вы хотите отключить. В терминале введите:
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
Поэтому, как только Вы делаете этот файл с соответствующими командами записанным внутри, удостоверяясь, что это находится в Вашем корневом каталоге, возьмите следующие шаги ниже:
Поздравляю! Весело провести время.
Перезапускать драйвер сенсорной панели ноутбука:
Открытый терминал путем нажатия Ctrl + Высокий звук + T и выполняет следующую команду
sudo modprobe -r psmouse
затем
sudo modprobe psmouse
, я нашел решение здесь и существует также решение для мышь usb
Если Вы не знаете, какой модуль Ваше использование сенсорной панели можно узнать с небольшим количеством рытья вокруг
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
Я иногда должен делать, это на резюме от приостанавливает.
Вот то, что работало на меня, [Zenbook ASUS UX501VW]:
sudo modprobe -r elan_i2c
sudo modprobe elan_i2c
И моя недостающая сенсорная панель вернулся.
Если у Вас есть synaptics сенсорная панель:
synclient TouchpadOff=0
Также попробуйте gksudo /etc/init.d/hotplug restart
Я использую Сетчатку Apple MacBook Pro; сенсорная панель иногда прекращает работать. Большинство вышеупомянутых методов не найдет драйвер, поскольку имя не содержит 'мышь' или 'касание'.
Для нахождения драйвера сенсорной панели, в моем случае bcm5974:
MacBookPro:~$ xinput list-props 11
Device 'bcm5974':
Device Enabled (147): 1`
...
Затем, чтобы разгрузиться и перезагрузить:
MacBookPro:~$ sudo modprobe -r bcm5974
MacBookPro:~$ sudo modprobe bcm5974
Решенный.
То, что может быть легче, и который работал на меня, перезагружало драйвер в ядре. Следующий код сначала находит название драйвера ядра, который обрабатывает сенсорную панель, затем разгружает ее с rmmod
и перезагрузки это с modprobe
. Обратите внимание, что необходимо быть корнем для выполнения этих команд, таким образом работайте sudo su
сначала.
> lsmod | grep touch
hid_multitouch 20480 0
> rmmod hid_multitouch
> modprobe hid_multitouch
иллюзионист.
Я понимаю, что Вы запускаете 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
Одна командная строка удара для сброса сенсорной панели (на основе @user3499524 ответа):
id=`xinput --list |grep -i touchpad | cut -f2 | cut -f2 -d=` && xinput disable $id && xinput enable $id && echo "The touchpad has been reset."
Для меня, на ядре 4.13.0-46 на Asus для ELAN1200, это не было о перезагрузке elan_i2c
но hid-multitouch
драйвер:
sudo modprobe -r hid-multitouch && sudo modprobe -r hid-multitouch
Простое решение могло бы быть к:
Я называю этот сценарий mouse-reset
. Это удаляет и затем modprobe
s все модули, перечисленные в ответах на этот вопрос до сих пор:
#!/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
Я использую 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