Я хочу, чтобы моя сенсорная панель была отключена при использовании мыши. Как я могу это сделать?
touchpad-indicator
перестал работать на 11.10. Раньше работал 11.04. Gnome3 не является решением, так как мне это не нравится, и я нахожу его глючным.
Я хочу, чтобы моя сенсорная панель была отключена при использовании мыши. Как я могу это сделать?
touchpad-indicator
перестал работать на 11.10. Раньше работал 11.04. Gnome3 не является решением, так как мне это не нравится, и я нахожу его глючным.
Ответы:
Запустите следующую команду в терминале:
xinput list
Вы получите вывод, который выглядит следующим образом:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [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)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Он отображает все подключенные устройства ввода. Обратите внимание, что все они имеют идентификатор. Поскольку 12 является идентификатором для моей сенсорной панели, выполнение следующей команды отключит его.
xinput set-prop 12 "Device Enabled" 0
В версиях Ubuntu >12.04
вы также можете напрямую отключить через
xinput --disable 12
(и включить с помощью аналогичной команды)
xinput -disable 12
можете отключить устройство ввода 12 (или xinput -enable 12
включить его). См. Справочную страницу xinput (1) .
проверить эту ссылку: Как отключить-включить тачпад в Ubuntu 11.10
Найденный ответ действительно опрятен:
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
После этого вы получите переключатель в области уведомлений.
Единственное, что мне хотелось бы, - это установить переключатель в положение « Fn+» F8(это переключатель на сенсорной панели на клавиатуре ...
atareao
, он может размещать вредоносное ПО в своем PPA
Основываясь на ответе @Peng Wu, я создал скрипт bash, который можно использовать ...
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
xinput set-prop $ID "Device Enabled" 0
echo 'Touchpad has been disabled.'
Вы можете запустить его вручную или запустить при запуске. Затем вы можете запустить скрипт при загрузке.
Другой скрипт bash для переключения сенсорной панели:
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
xinput disable $ID
echo "Touchpad disabled."
else
xinput enable $ID
echo "Touchpad enabled."
fi
'Touchpad in mouse emulation mode\s*id\=[0-9]{1,2}'
Touchpad
вместо TouchPad
. Чтобы сделать это без учета регистра, просто добавьте i
к своим опциям grep.
synclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
imwheel
: askubuntu.com / questions / 844151 / enable-disable-touchpad /… . Кроме того, мой ответ ищет xinput
оба TouchPad
и Touchpad
, как иногда P или не прописные, в зависимости от системы, поэтому сценарий может не работать, если вы не ищете оба.
Просто в терминале:
synclient TouchpadOff=1
Однако вышеперечисленное, похоже, больше не работает в Ubuntu 16.04. В этом случае тогда xinput
еще работает:
xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0
Вместо xinput
переменных с id, которые могут изменяться, лучше использовать, synclient
как указано в других ответах, как это .
sudo apt install xserver-xorg-input-synaptics
Чтобы отключить сенсорную панель:
synclient TouchpadOff=1
Включить:
synclient TouchpadOff=0
Для использования с пусковыми установками или ярлыками, как указано ниже.
Это всего лишь применение команд в этом ответе под настоящим вопросом. Приведенное ниже решение ограничено Xfce / Xubuntu, но, хотя я сделал это случайно, я нахожу его слишком элегантным, не слишком делиться им здесь. Итак, я изначально создал отдельный вопрос , только для Xubuntu. Этот вопрос не может не быть дубликатом этого вопроса и может быть закрыт по этой причине, поэтому я осмелюсь опубликовать этот ответ здесь.
Это об этих двух командах:
Отключение:
xinput set-prop 15 "Device Enabled" 0
Включить:
xinput set-prop 15 "Device Enabled" 1
Идентификационный номер будет найден при запуске
xinput list
Это способ автоматического отключения сенсорной панели при запуске. Этот метод позволяет более безопасно отключить панель по имени, а не по идентификатору. Вот как узнать название вашей сенсорной панели:
$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad
Создайте файл сценария bash. Я добавил файл в Ubuntu Startup Applications, чтобы он запускался при каждом перезапуске. Не забудьте сделать файл исполняемым. Вот содержимое:
#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
Это сработало для меня в 11.10:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [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)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Он отображает все подключенные устройства ввода. Обратите внимание, что все они имеют идентификатор. Поскольку 12 является идентификатором для моей сенсорной панели, выполнение следующей команды отключит его.
xinput set-prop 12 "Device Enabled" 0
и я бы положил его в .bashrc или что-то еще, за исключением того, что я не уверен, что устройство 12 (на самом деле 11 для меня) всегда тачпад.
Теперь, если бы я мог просто заставить стрелку вверх наутилиуса работать и посмотреть .dirs
(этот ответ был скопирован из неверного редактирования)
Вместо того, чтобы запоминать эту команду каждый раз, когда вы хотите включить / отключить сенсорную панель, вы можете вместо этого добавить ее в качестве сочетания клавиш.
Под настройками в сочетаниях клавиш нажмите «Добавить». Дайте имя ярлыку, например «Отключить сенсорную панель» или что-то в этом роде, и добавьте команду, которую вы обнаружили выше.
xinput set-prop <id> "Device Enabled" 0
и нажмите применить. Затем добавьте еще один ярлык под названием «Включить сенсорную панель» или что-то похожее на первый и измените предыдущую команду на 1 в конце
xinput set-prop <id> "Device Enabled" 1
те выключены / включены соответственно.
Теперь, когда они добавлены, нажмите на столбец «Включить ярлык на сенсорной панели» (должен сказать «отключен») и введите желаемое сочетание клавиш, я выбрал Win+ 1(удерживайте клавишу Windows и нажмите номер 1). Сделайте то же самое для Disable Touchpad, я выбрал Win+ 2.
Теперь Win+ 1включает мой тачпад и Win+ 2отключает его.
Я использую следующий скрипт для включения / выключения сенсорной панели. Я также назначил это сочетанию клавиш.
Использование: toggle_touchpad.sh [on|off
]
если вы запускаете без аргументов, он просто инвертирует текущее состояние сенсорной панели.
#!/bin/bash
# toggle_touchpad.sh
is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`
if [ -z "$1" ]; then
echo "Inverting touchpad state"
if [ "$is_off" -eq '0' ];then
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
fi
else
if [ "$1" == "on" ]; then
echo "Turning on touchpad"
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
elif [ "$1" == "off" ]; then
echo "Turning off touchpad"
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
echo "Unknown arg! Pass no args or on/off !"
fi
fi
Сначала проверьте, есть ли на вашем ноутбуке возможность включения / выключения сочетания клавиш сенсорной панели, случайно! На моем Lenovo Thinkpad T500 это Fn+F8
xev
или xinput
и пытаюсь использовать кнопку на моем G700, это не регистрирует чертову вещь. Даже evemu-record
ничего не регистрирует, и это на уровне ядра. Если ядро его не видит, с этим ничего не поделаешь, кроме драйверов исправлений. При этом это отличное решение, но не надежное для всех случаев использования.
В моем случае fn+F9 отображается на переключатель тачпада .
Но клавиша ничего не делает, просто показывает значок сенсорной панели в правой верхней части экрана, как это.
Вот решение для переключения сенсорной панели простым нажатием на ярлык .
$ xinput list
Итак, я получил файл сценария bash для переключения сенсорной панели с помощью команды xinput (оригинальный сценарий можно найти здесь ).
В моем случае идентификатор сенсорной панели был 12.
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device"
else
xinput --enable "$device"
fi
Сохраните вышеуказанный файл скрипта .toggleTouchPad.sh
там, где вы хотите.
И последний шаг - добавление сочетания клавиш для запуска файла скрипта.
Так что просто напишите sh /PATH/TO/SCRIPT
в Command
своем окне быстрого доступа.
Нажмите ярлык и проверьте, не переключена ли сенсорная панель.
Он работал на ноутбуке ASUS A556UA и на Ubuntu14.04 x64 .
Пожалуйста, предложите способ назначения сенсорной кнопки на собственное сочетание клавиш для полного решения.
Для Ubuntu 16.04
Для отключения сенсорной панели:
xinput --disable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
и для включения сенсорной панели:
xinput --enable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
https://bitbucket.org/barseghyanartur/xinput
Это очень маленький код, который позволяет вам отключить / включить сенсорную панель от терминала.
Просто следуйте инструкциям ниже:
Установка:
$ pip install xinput
Отключить сенсорную панель:
$ disable-touchpad
Включить тачпад:
$ enable-touchpad
Просто добавьте пару функций bash в ваш .bashrc, чтобы переключиться ...
#toggle-touchpad on|off
function touchpadon { /usr/bin/xinput --enable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad enabled";}
function touchpadoff { /usr/bin/xinput --disable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad disabled";}
На самом деле очень просто отключить тачпад в Ubuntu. Просто удалите пакет xserver-xorg-input-synaptics
, необходимый для использования сенсорных панелей в Ubuntu!
sudo apt-get remove xserver-xorg-input-synaptics
Это единственный способ навсегда отключить тачпад, который работал для меня. Другие способы были только временными:
xinput list
xinput set-prop IDOFTOUCHPAD "Device Enabled" 0
synclient TouchpadOff=1
Я использую LXDE и не смог автоматически отключить тачпад, добавив эти строки в префикс ~/.config/lxsession/LXDE/autostart
или /etc/xdg/lxsession/LXDE/autostart
с помощью @
-prefix. Это было просто проигнорировано.
И я попытался отключить тачпад с помощью dconf-editor (org.gnome.desktop.peripherals.touchpad) и gconf-editor (desktop.gnome.peripherals.TOUCHPADNAME), но оба не работали. Настройки в dconf-editor вообще не влияют, а в gconf-editor отображается сообщение об ошибке «Этот ключ не имеет схемы».
Я попытался использовать функциональную клавишу ноутбука ( fn), чтобы отключить указатель, и он работает. Это не сработало в течение моих 11.04 дней, так что попробуйте.
Если на клавиатуре вашего ноутбука нет специальной функциональной клавиши включения / выключения сенсорной панели, возможно, вы найдете виртуальную клавиатуру на экране, которая имитирует ее (хотя я не нашел ее).
Если не считать этого, это хорошо работает:
sudo apt-get install gpointing-device-settings
Что у меня сработало на Ubuntu 12.04 LTS с ноутбуком Dell
Я хотел отключить указатель, который находится в середине клавиатуры и создает много проблем при наборе текста. Так:
$ xinput list
⎡ Virtual core pointer id=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ Wacom Graphire2 4x5 eraser id=9
⎜ ↳ Wacom Graphire2 4x5 cursor id=10
⎜ ↳ Wacom Graphire2 4x5 id=11
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14
⎜ ↳ Macintosh mouse button emulation id=15
⎜ ↳ DualPoint Stick id=13
⎣ Virtual core keyboard id=3
↳ Virtual core XTEST keyboard id=5
↳ Video Bus id=6
↳ Power Button id=7
↳ Sleep Button id=8
↳ AT Translated Set 2 keyboard id=12
The device I want to disable has id 13. Use xinput to list its properties:
$ xinput -list-props 13
Device 'DualPoint Stick':
Device Enabled (115): 0
[...several lines removed...]
$ xinput -set-prop 13 115 0
Это отключило карту Dualpoint. Но ни один из других ответов не работал для меня. я сделал
Установить dconf-tools
:
sudo apt-get install dconf-tools
dconf-editor
Затем перейдите к орг -> гном -> Настройки-демон -> периферийные устройства -> Сенсорная панель и снимите флажок тачпад с поддержкой поля
Я нашел хорошее решение создания привязки клавиш, которая будет вызывать команду:
xdotool key 199
где 199 - это код клавиши, распознаваемый как XF86TouchpadToggle. Таким образом, можно выбрать комбинацию клавиш по своему выбору, чтобы вести себя как специальная клавиша. Некоторые ноутбуки вынуждены переключать тачпад, поскольку настольные среды, такие как Mate или Cinnamon, прекрасно справляются с этим. Вы можете проверить коды клавиш с помощью этой команды:
xmodmap -pke
Я создал инструкции в своем блоге: https://artofcode.wordpress.com/2017/10/01/how-to-add-a-key-binding-to-toggle-a-touchpad-under-linux /
Мое решение - следующий скрипт tp:
#!/bin/bash
TT=`xinput --list | grep -i touchpad | sed -e "
s/(//
s/)//
s/ //g
"`
set $TT
(( $2 ))
xinput list | grep -iq mouse &&{
xinput --disable $id
}||{
xinput --enable $id
}
Сенсорная панель отключается, если мышь обнаружена, и включается, если нет.
Идентификатор тачпада определяется сценарием.
У меня есть ноутбук Pionion модели Medion Akoya P7812, использующий Ubuntu 11.10 (64-разрядная версия), и комбинация клавиш Fn& F6отключает сенсорную панель.
Альтернативное решение, которое работает для всех сенсорных панелей, без идентификатора.
откройте терминал и напишите «gedit toggle_touchpad.sh»
#!/bin/bash
condition="$(gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)"
if [ "$condition" == "false" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
elif [ "$condition" == "true" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
fi
Сохраните файл и выйдите. Теперь у вас есть файл с именем "toggle_touchpad.sh"
Запустите команду, chmod +x toggle_touchpad.sh
чтобы сделать файл исполняемым.
Поместите файл в любую папку, которая вам нравится. Предположим, что у вас это есть в папке / home / username / myscripts /.
Из меню в правом верхнем углу перейдите к system-settings->keyboard->shortcuts->custom-shortcuts
.
Создайте новый ярлык и введите в качестве имени все, что вы хотите. Поставить как команду, /home<username>;/myscripts/toggle_touchpad.sh
где "username" - это ваше имя пользователя
Назначьте любое сочетание клавиш по вашему желанию.
Готовы :)
PS Лично я положил файл в /opt/myscripts/
папку, но для того, чтобы поместить его туда, вы должны выполнить следующие команды после создания файла:
sudo mkdir /opt/myscripts/
sudo mv toggle_touchpad.sh /opt/myscripts/
sudo chown <username>:<username> /opt/myscripts/toggle_touchpad.sh
chmod +x /opt/myscripts/toggle_touchpad.sh
где "username" - это ваше имя пользователя
Затем, когда вы создадите ярлык, вы будете использовать путь "/opt/myscripts/toggle_touchpad.sh" вместо указанного выше
сначала используйте список xinput для получения имени базового устройства вашей сенсорной панели ... затем добавьте команду xinput disable с полным именем устройства (в двойных кавычках для принятия пробела) в файл ~ / .bashrc (т.е. отключение xinput "SynPS / 2 Synaptics TouchPad ") вышеприведенные скрипты оказались очень удачными.
Этот метод работает, но я не могу использовать кнопку "выиграть". Поэтому я использовал CtrlF1& F2для этого.
В настоящее время мой ноутбук работает под управлением Ubuntu 14.04LTS.
О, нужно узнать xinput < id >
с помощью команды ниже. Для Ubuntu 14.04 это «SynPS / 2 Synaptics TouchPad»
xinput list
SynPS/2 Synaptics TouchPad id=###
Я попробовал все предыдущие ответы здесь безуспешно.
То, что работало для меня на Ubuntu 16.10, было
killall syndaemon
syndaemon -i 1 -KRd
Вы можете изменить значение от 1 до 0,5.
Итак, объединив ответы Кшиштофа Томашевского и JaeJun LEE, я пришел к этому решению.
Создайте следующий toggleTouchPad.sh
скрипт и сохраните его в любом месте:
#!/bin/bash
device=14
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device" && sleep 1 && xdotool key 201
else
xinput --enable "$device" && sleep 1 && xdotool key 200
fi
где 14 - твой TouchDevice Id (см . ответ JaeJun LEE )
Зайдите в Настройки Ubuntu -> Устройства -> Клавиатура
В конце списка нажмите, +
чтобы добавить новый пользовательский ярлык
Назовите его Toggle Touchpad
с помощью Command /path/to/.toggleTouchPad.sh
и любой комбинации клавиш, которую вы хотите (я только что выбрал Super + F7).
Теперь, когда вы нажимаете выбранную комбинацию клавиш, она не только переключает сенсорную панель, но и отображает значок уведомления благодаря xdotool
Чтобы отключить среднюю палку моей dell latitude, я поставил это на .profile Ubuntu, чтобы каждый раз, когда я запускаю / перезагружаю свой ноутбук, он отключал этот ввод.
Я использовал, --id-only
чтобы избежать несоответствия в grep
declare -i ID
ID=`xinput list --id-only 'AlpsPS/2 ALPS DualPoint Stick' | grep -Eo '[0-9]{1,2$
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
echo "id" $ID
xinput disable $ID
echo "Touchpad disabled."
else
echo "id" $ID
xinput enable $ID
echo "Touchpad enabled."
fi
В моем случае с Slimbook и Kubuntu я просто использовал комбинацию: Fn+ Z.
Это отключает или включает сенсорную панель.