Я пытаюсь настроить сенсорную панель на Ubuntu 16.04, но ни один из обычных методов, кажется, не работает. например.
synclient touchpadOff=1
Это все еще работает!
$ xinput set-prop $DEVICE_ID "Device Enabled" 0
$ xinput list-props 15 |head -n2
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (168): 0
... это все еще работает!
Я могу отключить его из приложения Настроек. но я хочу смочь отобразить это на сочетание клавиш, таким образом, я ищу решение для командной строки.
Бонусные очки, если Вы отвечаете на работы в Shell Gnome, а также Единице :-)
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)]
⎜ ↳ DLL06E4:01 06CB:7A13 Touchpad id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]
Nb. Я использовал 15 для $DEVICE_ID
Можно сделать это в одном лайнере, но этот путь Вы получаете хорошее уведомление, также. Я присоединил это к сочетанию клавиш, и оно работает очарование. Спасибо все.
#!/bin/bash
if xinput list-props 13 | grep "Device Enabled (168):.*1" >/dev/null
then
xinput disable 13
notify-send -u low -i mouse "Trackpad disabled"
else
xinput enable 13
notify-send -u low -i mouse "Trackpad enabled"
fi
Можно выключить сенсорную панель с этой командой:
xinput disable 13
Включают его назад
xinput enable 13
, устройством не управляют psmouse
. Этим управляют synaptics_i2c
. И это - устройство 13.
можно также переключить это по имени, когда Вы пытались прежде, не зависеть от идентификатора. Но если Вы не подключаете новые устройства ввода данных, идентификатор должен остаться.
См. этот ответ для некоторых деталей.
Для удаления неправильно обнаруженного устройства необходимо добавить i8042.nopnp
параметр начальной загрузки ядра.
Я нахожусь на 16,04 также. Я обычно использующий немного сценария, что я поставил сочетание клавиш. Когда я выполняюсь, это выключает мою сенсорную панель... Но спустя несколько секунд после того, как это включает...
сценарий:
#!/bin/sh
STATUS=`synclient | grep TouchpadOff | awk '{ print $3}'`
if [ $STATUS != 1 ];
then
synclient touchpadOff=1;
else
synclient touchpadOff=2;
fi
exit 0
я не пытаюсь использовать его, прежде чем я буду видеть Ваш вопрос...
Если можно изменить настройки gsettings
, обычно это - предпочтительный вариант. Так как можно позволить/запретить сенсорную панель из Параметров настройки системы, и я - вполне уверенные Параметры настройки системы, действительно использует gsettings
, похоже, что метод ниже должен сделать задание на Вашем Dell также.
14.04
#!/usr/bin/env python3
import subprocess
key = "org.gnome.settings-daemon.peripherals.touchpad" ;val = "touchpad-enabled"
curr = subprocess.check_output(["gsettings", "get", key, val]).decode("utf-8").strip()
newval = "false" if curr == "true" else "true"
subprocess.Popen(["gsettings", "set", key, val, newval])
15.04 +
#!/usr/bin/env python3
import subprocess
key = "org.gnome.desktop.peripherals.touchpad" ;val = "send-events"
curr = subprocess.check_output(["gsettings", "get", key, val]).decode("utf-8").strip()
newval = "disabled" if curr == "'enabled'" else "enabled"
subprocess.Popen(["gsettings", "set", key, val, newval])
toggle_touchpad.py
Добавьте следующую команду к ярлыку:
python3 /path/to/toggle_touchpad.py
Выберите: Параметры настройки системы> "Клавиатура"> "Ярлыки"> "Пользовательские Ярлыки". Нажмите "+" и добавьте команду:
python3 /path/to/toggle_touchpad.py
Команда для отключения сенсорной панели:
для 14,04:
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
для 15,04 +:
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
Если мы используем сценарий для чтения текущих настроек командой:
gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled
(14.04), или
gsettings get org.gnome.desktop.peripherals.touchpad send-events
(15.04 +)
Мы можем заставить сценарий установить противоположное значение и таким образом переключить сенсорную панель.
Только быть завершенным, и потому что OP, обозначенная python
сценарий (сценарии) работал, но не хотел использовать python
, bash
версия (версии) двух сценариев переключателя:
14.04
#!/bin/bash
key="org.gnome.settings-daemon.peripherals.touchpad"
val="touchpad-enabled" ;curr="$key $val"
if [ "$(gsettings get $curr)" == "false" ]
then
gsettings set $key $val true
else
gsettings set $key $val false
fi
15.04 +
#!/bin/bash
key="org.gnome.desktop.peripherals.touchpad"
val="send-events" ;curr="$key $val"
if [ "$(gsettings get $curr)" == "'enabled'" ]
then
gsettings set $key $val disabled
else
gsettings set $key $val enabled
fi
toggle_touchpad.sh
подвергните следующую команду пользовательскому ярлыку:
/bin/bash /path/to/toggle_touchpad.sh