Я хочу, чтобы моя сенсорная панель была отключена, когда я использую мышь. Как я могу это сделать?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
(и включить с помощью аналогичной команды)
- Поиск мыши
- Нажмите на мышь и сенсорную панель
- Нажмите кнопку выкл /вкл справа от настроек сенсорной панели.
проверьте эту ссылку: Как отключить-включить сенсорную панель в ubuntu 11.10
Ответ, найденный там, действительно хорош:
sudo add-apt-repository ppa:atareao/atareaosudo apt-get updatesudo apt-get install touchpad-indicator
После этого вы получите переключатель в своей области уведомлений.
Единственное, чего я хотел бы, - это иметь возможность установить клавишу переключения на Fn+F8 (это переключатель клавиш сенсорной панели на моей клавиатуре...
Основываясь на ответе, данном @Peng Wu, я создал скрипт bash, который можно использовать...
#!/bin/bashdeclare -i IDID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`xinput set-prop $ID "Device Enabled" 0echo 'Touchpad has been disabled.'
Вы можете запустить его вручную или запустить при запуске. Затем вы можете запустить скрипт при загрузке.
Еще один скрипт bash для переключения сенсорной панели:
#!/bin/bashdeclare -i IDID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`declare -i STATESTATE=`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
Просто, в терминале:
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
, с переменными идентификатора, которые могут изменяться, лучше использовать 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 TouchpadETPS/2 Elantech Touchpad
Создайте файл сценария bash. Я добавил файл в приложения запуска Ubuntu, чтобы он запускался при каждом перезапуске. Не забудьте сделать файл исполняемым. Вот содержание:
#!/bin/bash$ xinput disable 'ETPS/2 Elantech Touchpad'
Я использую следующий скрипт для включения / выключения сенсорной панели. Я также назначил его сочетанию клавиш.
Использование: toggle_touchpad.sh [on|off
]
если вы запустите без аргументов, то это просто инвертирует текущее состояние сенсорной панели.
#!/bin/bash# toggle_touchpad.shis_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" fielse 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 !" fifi
Это сработало для меня в 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 для меня) всегда является сенсорной панелью.
Теперь, если бы я мог просто заставить стрелку вверх в nautilius работать и увидеть .dirs
В моем случае, fn+F9 отображается в Переключатель сенсорной панели.
Но клавиша ничего не делает, просто показывает значок сенсорной панели в правой верхней части экрана, как это.
Вот решение для переключения сенсорной панели просто нажав ярлык.
1. Получение идентификатора вашей сенсорной панели
$ xinput list
2. Написание скрипта для переключения сенсорной панели
Итак, я получил файл сценария bash для переключения сенсорной панели с помощью команды 'xinput' (исходный сценарий можно найти здесь).
В моем случае идентификатор сенсорной панели был равен 12.
#!/bin/bashdevice=12state=`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
там, где ты хочешь.
3. Сочетание клавиш для запуска скрипта
И последний шаг - добавление сочетания клавиш для запуска файла скрипта.
Так что просто напиши sh /PATH/TO/SCRIPT
в Command
вашего окна быстрого доступа .
4. Попробуйте использовать ярлык
Нажмите ярлык и проверьте, включена ли сенсорная панель.
Это сработало на Ноутбук ASUS A556UA и установленный Ubuntu14.04 x64.
Вещь, которую нужно улучшить.
- назначение Переключатель сенсорной панели ключ к вышеупомянутому пользовательскому ярлыку не будет работать
- он просто показывает значок сенсорной панели в правой верхней части экрана
- поэтому мне пришлось назначить еще один ключ(super+F9) скорее, чем Переключатель сенсорной панели(fn+F9) ключ.
пожалуйста, предложите способ назначить клавишу переключения сенсорной панели пользовательскому ярлыку для полного решения
Хорошо, я думаю, что команда разработчиков индикаторов сенсорной панели собирается исправить эту проблему.
Самое простое решение - это не первый ответ. Прокрутите вниз до снимка экрана