Включение/выключение touch устройств в Ubuntu 14.04
[:ru]Для выключения тачпада, порой мешающего набору текста, на моём стареньком Dell Latitude была классная комбинация функциональной кнопки с какой-то из верхнего ряда клавиатуры, прекрасно работало и в целом было полезно. Создатели Dell Inspiron 13 7000 почему-то об этом забыли, очень жаль. К тому же, добавился экран, в который иногда тыкают пальцами указывая что-нибудь, при этом нажимая всё подряд. В общем, захотелось мне эти излишества время от времени выключать.
Погуглив тему, я узнал что не все йогурты одинаково полезны способы работают с моим тачпадом, но точно работает вот этот:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech M705 id=10 [slave pointer (2)] ⎜ ↳ ImPS/2 Elantech Touchpad id=15 [slave pointer (2)] ⎜ ↳ DLL06FD:01 04F3:300F UNKNOWN id=13 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen 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)] ↳ 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)] $ xinput disable 12 $ xinput disable 13
Методом тыка, я нашёл необходимые мне устройства и отключил их.
Самое время поставить находку в более удобное для использования место, а также заставить его выключаться и включаться. Создаю файл /usr/bin/touch-toggle
с содержимым:
#!/bin/sh # This shell script is PUBLIC DOMAIN. You may do whatever you want with it. TOGGLE=$HOME/.touch-toggle if [ ! -e $TOGGLE ]; then touch $TOGGLE xinput disable 12 xinput disable 13 notify-send -i /usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Touch toggle" "Disabled Touchpad and Touchscreen" else rm $TOGGLE xinput enable 12 xinput enable 13 notify-send -i /usr/share/icons/HighContrast/24x24/devices/input-touchpad.png "Touch toggle" "Enabled Touchpad and Touchscreen" fi
Установив на него права исполняемого файла, можно убедиться что всё работает.
$ sudo chmod a+x /usr/bin/touch-toggle $ touch-toggle
В настройках клавиатуры System settings / Keyboard settings / Shortcuts добавлю новую комбинацию с названием “Touch Toggle” и командой touch-toggle
.
С возможностью включить и выключить тач устройства, работать на лаптопе стало намного приятнее.[:en]There was ability to turn off touchpad, that disturbs me sometimes when i am typing on Dell Lattitude notebook. It was simple combination of Fn key with one of numeric. Authors of Dell Inspiron 13 7000 forgot to implement it. Additionnaly, now we have touch screen that client always tries to touch while point me something on screen. Anyways, i want to disable that features sometimes, and i want to make it in Ubuntu.
Googling this sublect gave me few commands. Not all of them works on my notebook, here is what is works:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech M705 id=10 [slave pointer (2)] ⎜ ↳ ImPS/2 Elantech Touchpad id=15 [slave pointer (2)] ⎜ ↳ DLL06FD:01 04F3:300F UNKNOWN id=13 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen 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)] ↳ 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)] $ xinput disable 12 $ xinput disable 13
Thsis is how i found necessary devide and turned it off.
It’s time now to put it to a better place, make usable and allow toggle between on/off. Let’s create script /usr/bin/touch-toggle
with contents:
#!/bin/sh # This shell script is PUBLIC DOMAIN. You may do whatever you want with it. TOGGLE=$HOME/.touch-toggle if [ ! -e $TOGGLE ]; then touch $TOGGLE xinput disable 12 xinput disable 13 notify-send -i /usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Touch toggle" "Disabled Touchpad and Touchscreen" else rm $TOGGLE xinput enable 12 xinput enable 13 notify-send -i /usr/share/icons/HighContrast/24x24/devices/input-touchpad.png "Touch toggle" "Enabled Touchpad and Touchscreen" fi
Set execute permission and try it.
$ sudo chmod a+x /usr/bin/touch-toggle $ touch-toggle
In System settings / Keyboard settings / Shortcuts i am adding new shortcut with name “Touch Toggle” and a command touch-toggle
.
It’s much better now.[:]