На этот вопрос уже есть ответ здесь:
У меня нет есть функциональная клавиша
/ fn для этого :(.
Есть идеи? Может быть, есть настройки или команды?
Другие темы НЕ помогли:
gpointing-device- настройки
(параметр автоматического отключения снимается); kde-config-touchpad
(не может быть установлен отдельно); udevd
. РЕШЕНИЕ - не автоматический
сценарий ниже, когда выполняется, будет отключать сенсорную панель, если какая-либо мышь будет подключена , и покажите уведомление.
touchpad_id=$(xinput | grep -i "touchpad" | cut -f2 | cut -d '=' -f2);
if xinput | grep -i "mouse" | grep -i "pointer"
then xinput set-prop $touchpad_id "Device Enabled" 0 |
notify-send "Disabling the touchpad..." ""
else xinput set-prop $touchpad_id "Device Enabled" 1 |
notify-send "The touchpad is now enabled." ""
fi
Добавленный там также обратная ситуация, хотя в моем случае сенсорная панель включена на разъединении мыши так или иначе. Я сохранил сценарий в файле, и выполняю его от Unity Launcher
Terminal
раздел после того, как каждая мышь включает.
СОВЕРШЕНСТВОВАЛСЯ
[еще 1130] мыши?
Разъясняются, который mouse
должен деактивировать сенсорную панель путем расширения значения в "mouse"
фрагмент, имя на основе xinput
список устройств.
Испуганная мышь работает от края до края?
я должен был выполнить дополнительную команду для мыши - уменьшение cursor acceleration
, так как это безумно установлено на 10 на каждом соединении. На самом деле через некоторое время я сделал сценарий автоматического обнаружения (это получает идентификатор мыши и опору it для скорости; не знайте о производительности cut
)...
touchpad_id=$(xinput | grep -i "touchpad" | cut -f2 | cut -d '=' -f2);
mouse_id=$(xinput | grep -i "mouse" | grep -i 'pointer' | cut -f2 | cut -d '=' -f2);
mouse_prop=$(xinput list-props $mouse_id | grep -i "velocity" | cut -f2 | cut -d '(' -f2 | cut -d ')' -f1 );
if xinput | grep -i "mouse" | grep -i "pointer"
then xinput set-prop $touchpad_id "Device Enabled" 0 |
xinput set-prop $mouse_id $mouse_prop 3 |
notify-send "Disabling the touchpad..." ""
else xinput set-prop $touchpad_id "Device Enabled" 1 |
notify-send "The touchpad is now enabled." ""
fi
Изученный много сегодня для создания выше: <час> D.
КТО-ТО Pro?
было бы полезно, чтобы знать, как сделать его автоматическим.
Также любопытный, почему конфигурация мыши не сохраняется (2)..
Решение - автоматический
Благодаря Esamo и его работе.
Для добавления АВТОМАТИЧЕСКИХ триггеров для подключения мыши на запуске:
Создают файл: /etc/udev/rules.d/10-local.rules
Заполняются этим содержанием: (замените $USER своим именем пользователя)
ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0",ENV{XAUTHORITY}="/home/$USER/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/home/$USER/scripts/touchpad_switcher.sh false"
ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0",ENV{XAUTHORITY}="/home/$USER/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/home/$USER/scripts/touchpad_switcher.sh true"
Пример:
ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0",ENV{XAUTHORITY}="/home/dawid/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/home/dawid/scripts/touchpad_switcher.sh false"
ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0",ENV{XAUTHORITY}="/home/dawid/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/home/dawid/scripts/touchpad_switcher.sh true"
Следующее место Ваш сценарий везде, где Вы хотите. Я поместил его в ~ / сценарии
, touchpad_switcher.sh
#!/bin/sh
enabled=$1
touchpad_id=$(xinput | grep -i "touchpad" | cut -f2 | cut -d '=' -f2);
if $enabled
then
xinput set-prop $touchpad_id "Device Enabled" 1 | notify-send "The touchpad is now enabled." ""
else
xinput set-prop $touchpad_id "Device Enabled" 0 | notify-send "Disabling the touchpad..." ""
fi
Не забывает добавлять, выполняют полномочия:
chmod +x touchpad_switcher.sh
теперь просто перезагрузка! (просто перезапускающий udev, кажется, не работает...)
<час>Некоторый другой полезный материал:
Некоторая информация приблизительно правила udev
То, что отправил @David Drozd, не работало на меня на , Ubuntu 16.04 .
Кажется, что прием с xinput
не работает в udev
. Только synclient TouchpadOff=[0|1]
работали. Также ACTION="remove"
не работал только.
я наконец получил его, когда добавлено ENV{REMOVE_CMD}="/bin/sh -c '/usr/bin/synclient TouchpadOff=0'"
полное решение : создайте файл /etc/udev/rules.d/10-local.rules
со следующей строкой ($USER замены с Вашим именем пользователя)
ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0",ENV{XAUTHORITY}="/home/$USER/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c '/usr/bin/synclient TouchpadOff=0'", RUN+="/bin/sh -c '/usr/bin/synclient TouchpadOff=1' "