Как полностью отключить тачпад при загрузке?

Как полностью отключить тачпад при загрузке?

Я хотел отключить тачпад перед входом в систему в Ubuntu 16.10.

Я пытался выполнить

#!/bin/bash

ID=$(/usr/bin/xinput list --id-only "SynPS/2 Synaptics TouchPad")

if [[ $ID ]]; then
    /usr/bin/xinput --disable $ID
    echo "Touchpad disabled"
else
    echo "Touchpad not found"
fi

при загрузке с systemctl, rc.d, что нет. Ничего не работало, так как требовался X или что-то в этом роде.

решение1

Добавьте следующий код в /usr/share/X11/xorg.conf.d/*-synaptics.conf

# Disable generic Synaptics device, as we're using
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

Перезагрузите и проверьте, работает ли все.

решение2

У меня установлен Linux Mint 18 с ядром 4.4.0-45. Я сделал следующее, чтобы было проще переключать состояние тачпада.

sudo apt-get install xinput

xinput -list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  pointer  (2)]
⎜   ↳ **FTE1001:00 0B05:0101**               ***id=14***   [slave  pointer  (2)]
  • Найдите идентификатор тачпада, в моем случае это 14. Я написал небольшой скрипт для включения и выключения тачпада.

  • Сенсорная панель выключена:

    cd /usr/local/bin
    sudo nano touchpad-off

    #!/bin/bash
    # touchpad off
    xinput --set-prop 14 "Device Enabled" 0
    echo touchpad off
    
  • Сенсорная панель включена:

    sudo nano touchpad-on

    #!/bin/bash
    # touchpad on
    xinput --set-prop 14 "Device Enabled" 1
    echo touchpad on
    
  • Сделайте скрипты исполняемыми с помощью:

    chmod +x touchpad-off
    chmod +x touchpad-on
    

    Теперь вы можете легко переключать состояние сенсорной панели с помощью touchpad-offи touchpad-onв вашем терминале.

ОТКЛЮЧИТЬ ПРИ ЗАГРУЗКЕ: Перейдите в Startup Applications и Add a new startup app, найдите скрипт touchpad-offи добавьте его в список. Вам нужно убедиться, что скрипт расположен в usr/local/binуказанном выше месте, а также убедиться, что он исполняемый.

Еще одна вещь, которую нужно дважды проверить, это убедиться, что файл запускается с помощью Autorun Prompt. Щелкните правой кнопкой мыши по файлу и перейдите на вкладку «Открыть с помощью», затем выберите Autorun Prompt.

Видеоруководство по отключению тачпада при загрузке

решение3

Поскольку я сталкиваюсь с этим каждый раз, когда покупаю новый Thinkpad, вот несколько более обобщенный метод, основанный на двух других ответах:

  1. найдите имя сенсорной панели: xinput --list. Вы должны получить что-то вроде этого:
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                    id=15   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Touchpad            id=12   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Mouse               id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=9    [slave  keyboard (3)]
    ↳ Intel HID events                          id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=16   [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated I           id=10   [slave  keyboard (3)]

В моем случае имя, которое нужно использовать, будетSYNA8022:00 06CB:CE67 Touchpad

  1. Проверьте, действительно ли это правильное устройство (и избавьте себя от перезагрузки): xinput --set-prop ID "Device Enabled" 0, где ID — это ID из списка, который вы получили с помощью команды выше. Если это отключает сенсорную панель, то вы нашли правильный ID и имя

  2. Создайте файл, /etc/X11/xorg.conf.d/назовите его, например, 20_synaptics.conf(номер определяет порядок относительно других файлов, как обычно):

# Disable touchpad
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SYNA8022:00 06CB:CE67 Touchpad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

Строка MatchProduct должна быть той, которую вы нашли в списке xinput.

  1. Чтобы проверить, работает ли это, переключитесь на текстовую консоль, нажав Ctrl+Alt+F3 (или попробуйте другие цифры, если консоль 3 уже занята). Войдите в систему, затем запустите сеанс X: sudo xinit -- :2. Это запустит второй сервер X без перезагрузки вашего компьютера. Вы, вероятно, увидите только одно окно терминала (без рамки, потому что у вас не будет запущенного оконного менеджера), но этого достаточно, чтобы проверить, отключена ли сенсорная панель. Вы можете выйти, набрав Ctrl+D в окне терминала.

Связанный контент