Я хочу, щоб мій тачпад був відключений під час використання миші. Як я можу це зробити?
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
свої параметри грепування.
synclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
imwheel
: askubuntu.com / питання / 844151 / включити-відключити сенсорну панель /… . Крім того, моя відповідь шукає 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, щоб він працював при кожному перезапуску. Не забудьте зробити файл виконуваним. Ось зміст:
#!/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-редакторі взагалі не впливають, а на gconf-редакторі він постійно показує повідомлення про помилку "Ця клавіша не має схеми".
Я спробував за допомогою функціональної клавіші ноутбука ( fn) відключити покажчик, і він працює. Це не працювало протягом мого 11.04 дня, тому спробуйте.
Якщо на клавіатурі ноутбука немає спеціальної функціональної клавіші включення / вимикання сенсорної панелі, можливо, ви можете знайти віртуальну клавіатуру на екрані, яка імітує її (хоча я її не знайшов).
Незважаючи на це, це добре працює:
sudo apt-get install gpointing-device-settings
Що працювало для мене на Ubuntu 12.04 LTS з Dell Laptop
Я хотів відключити вказівник, який знаходиться посередині клавіатури, і створює багато проблем під час набору тексту. Тому:
$ 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
Потім перейдіть до org -> gnome -> settings-daemon -> периферійних пристроїв -> тачпада та зніміть прапорці з полем, включеним сенсорною панеллю
Я знайшов гарне рішення створити прив'язку ключів, яка викликатиме команду:
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
}
Сенсорна панель вимикається, якщо миша виявлена, і ввімкніть, якщо ні.
Ідентифікатор сенсорної панелі визначається сценарієм.
У мене ноутбук 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
де "ім'я користувача" - ваше ім'я користувача
Призначте потрібну комбінацію клавіш.
Готовий :)
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
де "ім'я користувача" - ваше ім'я користувача
Тоді, коли ви створите ярлик, ви будете використовувати шлях "/opt/myscripts/toggle_touchpad.sh" замість згаданого вище
спочатку скористайтеся списком xinput, щоб отримати ім'я базового пристрою своєї сенсорної панелі ..., ніж додайте команду відключення xinput з повним ім'ям пристрою (у подвійних квотах, щоб прийняти пробіл) у файл ~ / .bashrc (тобто xinput disabled "SynPS / 2 TouchPad Synaptics ") вищезазначені сценарії виявились дуже враженими або пропущеними.
Цей метод працює, але я не можу використовувати кнопку "виграти". Тому я використав CtrlF1& F2для цього.
В даний час моя ОС ноутбука є ubuntu 14.04LTS.
О, потрібно з’ясувати xinput < id >
команду нижче. Для Ubuntu 14.04 це "сенсорна панель SynPS / 2 Synaptics"
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 (див. відповідь JaeJun LEE )
Перейдіть у Налаштування Ubuntu -> Пристрої -> Клавіатура
В кінці списку натисніть, +
щоб додати новий спеціальний ярлик
Назвіть це Toggle Touchpad
, за допомогою команди Command /path/to/.toggleTouchPad.sh
та будь-якої комбінації клавіш, яку б ви хотіли (я тільки що вибрав Super + F7).
Тепер, коли ви натискаєте вибрану комбінацію клавіш, вона не лише перемикає тачпад, але також показує значок сповіщення завдяки xdotool
Щоб відключити середню палицю Dell широти, я ставлю це на .profile Ubuntu, тому щоразу, коли я запускаю / перезавантажую свій ноутбук, він відключатиме цей вхід.
Я використав, --id-only
щоб уникнути невідповідності в грепі
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.
Це вимикає або вмикає тачпад.