입력하는 동안 터치 패드를 비활성화하려면 어떻게해야합니까? Ubuntu 16.04에서 syndaemon이 작동하지 않습니다


42

입력하는 동안 터치 패드를 비활성화하고 싶습니다. 나는 이것을 시도했다 :

syndaemon -i 1 -d -t -K

터치 패드에서 탭 및 스크롤을 1 초 동안 비활성화하고 수정 자 + 키 콤보를 무시하지만 syndaemon설명과 같이 설정 한 후에 는 아무것도 변경되지 않습니다. 터치 패드는 항상 활성화되어 있으며 매우 성가시다.

Dell Precision 5510에서 Ubuntu 16.04를 사용하고 있습니다.


1
입력하는 동안 탭 투 클릭은 기본적으로 비활성화되어 있으며 커서 이동 / 스크롤은 수행되지 않습니다. syndaemon / synclient를 통해 입력하지 않고 입력하는 동안 터치 패드 자체를 비활성화하는 방법이 있습니다. 그러나이 방법을 사용하면 시스템 설정> 마우스 및 터치 패드> 터치 패드 설정이 사라집니다. 여기에 약간의 정보가 있습니다 -bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/…
doug

4
시도 –syndaemon -i 1.0 -d -K
더그

1
@doug 나는 그것을 시도하고 아무것도 바뀌지 않았다
marsUbuntux

@doug 대신 시냅틱 드라이버와 libinput Xorg 드라이버를 제거해야합니까?
marsUbuntux

문제는 시스템 설정에 터치 패드 설정이 없으며 버그 보고서의 예와 같이 수동으로 추가해야한다는 것입니다. syndaemon으로 시도한 것은 원래 기본값이었습니다. -입력하는 동안 탭 투 클릭을 비활성화하지만 커서 이동은 비활성화하지 마십시오. 입력하는 동안 탭하여 클릭이 비활성화되어 있습니까?
doug

답변:


36

두 개의 터치 패드 드라이버가 실행 중일 수 있습니다. 여기서 syndaemon은 잘못된 드라이버와 상호 작용합니다. Dell XPS 13에서 동일한 문제가 발생 했으며이 스레드 ( http://ubuntuforums.org/showthread.php?t=2316240 )가 도움이되었습니다.

두 개의 터치 패드 장치가 표시되면 하나를 비활성화하십시오. 다른 컴퓨터를 사용하는 경우 링크의 지침이 문자 그대로 적용 가능하거나 적용되지 않을 수 있습니다.

언급 된 게시물에서 절차는 다음과 같습니다.

/usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf텍스트 편집기를 사용하여 파일 을 루트로여십시오. 다음 텍스트를 삽입하십시오.

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
      MatchProduct "SynPS/2 Synaptics TouchPad"
      MatchIsTouchpad "on"
      MatchOS "Linux"
      MatchDevicePath "/dev/input/event*"
      Option "Ignore" "on"
EndSection

sudo systemctl restart lightdm Credit 명령 이 ubuntuforums.org에서 ddarling으로 이동하여 Xorg를 재부팅하거나 다시 시작하십시오 .

2018 년 1 월부터 Dell은 Ubuntu 터치 패드 / 마우스 문제 에 대한 기술 자료의 공식 페이지를 보유하고 있습니다. 이 페이지에서는 "SynPS / 2 Synaptics TouchPad"를 비활성화하기위한이 수정 사항에 대해 설명하고 마우스 패드 드라이버로 시냅틱 대신 libinput으로 이동하는 것이 좋습니다.


> DLL06E5 : 01 06CB : 7A13 터치 패드 id = 14 [슬레이브 포인터 (2)]> SynPS / 2 Synaptics TouchPad id = 16 [슬레이브 포인터 (2)] 링크에 설명 된 것과 동일한 작업을 수행함 당신은 게시했습니다. 효과가 있었다! 이제 터치 패드가 원하는대로 작동합니다. 감사합니다
marsUbuntux

언급 된 솔루션은 Dell Lattitude 3570에서도 효과적이었습니다.
chanux

놀랍습니다, 나는 이것이 항상 고칠 수 없다고 생각했습니다. 이것은 랩탑을 절약합니다. 고마워 이것은 정말 유용합니다.
realhu

이 답변에는 더 많은 크레딧이 필요하므로 좀 더 명확히하기 위해 업데이트했습니다.
William S

2
링크가 사라지는 경우 포럼에서 솔루션으로 솔루션을 가져 오는 것이 좋습니다.
BeepDog

30
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
  • 터치 패드 표시기를 열고 표시기 아이콘을 클릭하십시오.
  • 환경 설정 (작업 탭에서)을 "입력시 터치 패드 비활성화"로 변경할 수 있습니다

건배!


1
이것은 그놈의 확장으로 볼 수 있습니다 : extensions.gnome.org/extension/131/touchpad-indicator
zamnuts

2
16.04.3 우분투 잉꼬 - 리믹스에 나를 위해없는 일을했다
r3wt

zamnuts의 의견을 명확히하기 위해 : 그가 제공 한 링크에 따라 그놈 확장으로 설치 한 경우에만 환경 설정에 액세스 할 수 있습니다 (또는 적어도 다른 방법으로는 할 수 없었습니다). 입력시 터치 패드를 비활성화 할 수있는 옵션이 없습니다.
glS

실수로 투표를 거부하고 (수면 입력해야 함) 이제 답변이 업데이트되지 않으면 제거 할 수 없습니다. (아마도 askubuntu.com이 이런 식으로 설정되어 있습니다.) 공백 만 추가하려고 시도했지만 최소 8 자 (다른 문자)가 필요합니다. 답변을 수정하고 "제안 : 터치 패드 응용 프로그램을 자동 시작으로 설정하여 로그인 할 때마다 수동으로 시작할 필요가 없습니다."와 같은 내용을 추가하려면 알림이 표시되고 제거 할 수 있어야합니다. 내 다운 투표.
st2000

10

나는 우분투 17.10을 사용하고 있으며 여기에서 제안한 다른 솔루션을 시도했지만 대부분 작동하지 않습니다. 우분투 17.10에서 시작할 때 특히 터치 패드 표시기 소프트웨어는 터치 패드를 비활성화하고 랩톱을 다시 시작하지 않고 다시 활성화 할 수있는 방법을 찾지 못했습니다. 이제이 솔루션을 찾았지만 여전히 여전히 잘 작동한다고 생각합니다.이 명령을 사용하십시오.

synclient PalmDetect = 1

이것은 적어도 터치 패드에서 손바닥을 불필요하게 두드리는 것을 방지하여 결국 더 나은 삶을 제공합니다.


이것은 매우 좋은 솔루션이며 한 줄로 해결됩니다. 나는 이것을 전에 겪었지만 그것을 잃었다. 게시 해 주셔서 감사합니다!
Thomas Dignan

완벽하지는 않지만 17.10에 많은 도움이됩니다. 감사합니다.
Jack

이것은 완벽하게 작동합니다. 나는 그것이 기본값이 아니라는 것에 놀랐다. 그러나 그것은 단지 리눅스 방식 일 뿐이다.
Gunchars

@tareqalam :이 명령은 재부팅을 지속합니까?
로니 베스트

2

'xinput'옵션을 살펴본 후 Ubuntu 16.04 및 Lubuntu 16.04를 사용하여 Synaptics 터치 패드를 비활성화하는 효과적이고 쉬운 솔루션을 찾았습니다.

터미널 창에서 'sudo -s'를 입력하고 암호를 입력하여 관리 액세스 권한을 부여하십시오.

leafpad 또는 gedit와 같이 자주 사용하는 편집기를 사용하여 새 스크립트 파일을 작성하십시오.

leafpad /usr/local/bin/tpadoff

다음을 삽입하십시오.

#!/bin/bash
#/usr/local/bin/tpadoff - turn off touchpad
xinput --disable  'SynPS/2 Synaptics TouchPad'

파일을 저장하고 편집기를 종료하십시오. 그런 다음 명령을 입력하십시오.

chmod 755 /usr/local/bin/tpadoff

파일을 실행 가능하게 만듭니다. 반복해서 tpadon 파일을 만들 수 있습니다. '--disable'을 '--enable'로 변경하면됩니다.

완료되면 터미널 창을 '종료'하여 관리자 액세스를 비활성화하십시오.

새로운 터미널 창을 열어서 데스크탑 항목을 만들 수 있으며 좋아하는 편집기를 사용합니다 (이 예에서는 리프 패드를 다시 사용하고 있습니다).

cd Desktop
leafpad tpadoff.desktop

다음 텍스트를 삽입하십시오. [데스크탑 항목] 이름 = 터치 패드 끄기 설명 = 터치 패드 끄기 실행 = / usr / local / bin / tpadoff 터미널 = 거짓 유형 = 응용 프로그램

파일을 저장하고 편집기를 종료하십시오. 그런 다음 다음 명령을 입력하십시오.

 chmod 775 tpadoff.desktop 

tpadon.desktop을 반복하여 모든 'off'참조를 'on'으로 변경해도됩니다.

완료되면 데스크탑 아이콘을 두 번 클릭하거나 터미널 창에 'tpadoff'를 입력하여 터치 패드를 끄거나 켜는 두 가지 방법이 있습니다.

터치 패드가 다른 경우 터치 패드의 정확한 구문을 찾기 위해 터미널 창에서 'xinput'을 사용해야 할 수도 있습니다. 그런 다음 '/ usr / local / bin / tpadoff'파일을 xinput이보고 한 내용과 일치하도록 편집하십시오.


1
질문은 입력하는 동안 (즉 자동으로) 터치 패드 비활성화하는 것입니다. 따라서 직접 답변을 제공하지 않으면 답변의 품질에 대단히 감사합니다.
guntbert

2

몇 달 동안 솔루션을 검색 한 후 입력하는 동안 터치 패드를 비활성화하는 간단한 Python 프로그램을 작성하기로 결정했습니다. 컴퓨터를 시작할 때마다 실행되도록 시작 응용 프로그램에 프로그램 추가 xinput list키보드의 ID를 결정 하기 위해 실행해야합니다 . 제 경우에는 17입니다.

xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=11   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=12   [slave  pointer  (2)]
⎜   ↳ DLL082A:01 06CB:76AF Touchpad             id=14   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=18   [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)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=10   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=13   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=15   [slave  keyboard (3)]
    ↳ Intel HID events                          id=16   [slave  keyboard (3)]
    **↳ AT Translated Set 2 keyboard                id=17   [slave  keyboard (3)]**
    ↳ Dell WMI hotkeys                          id=19   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=20   [slave  keyboard (3)]

여기 프로그램이 있습니다

import time 
import subprocess
import threading

def main():
    subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
    p = subprocess.Popen('xinput test 17', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    clickTime = [0, 0]
    def checkTime():
        keys = [37, 50, 62, 64, 105, 108, 133]
        while True:
            out = p.stdout.readline()

            if len(out) < 1:
                break
            key = int(out.split()[-1])
            if key not in keys:
                clickTime[0] = time.time()

    t = threading.Thread(target=checkTime)
    t.start()

    lastTime = 0
    touchpad = True
    while True:
        inactive = time.time() - clickTime[0]
        # print ('inactive for', inactive)
        if inactive > 1:            
            if not touchpad:
                print ('Enable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
            touchpad = True
        else:
            if touchpad:
                print ('Disable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false', shell=True)
            touchpad = False
        time.sleep(0.5)

    retval = p.wait()

if __name__ == '__main__':
    main()

xinput 및 폴링을 사용하여 키보드 활동을 모니터링하여 0.5 초마다 새로운 이벤트가 발생했는지 확인하는 놀라운 솔루션입니다. 그것은 CPU 활동에 거의 영향을 미치지 않지만 키보드 이벤트에서만 발생하는 동작을 트리거하는 방법이 있다면 여전히 좋을 것입니다. 왼쪽 화살표 및 공백과 같은 특정 키를 제외한 이유가 있습니까? 아니면 개인 취향입니까?
theferrit32

2

우분투 19.04에서 "클릭하여 누르기"기능을 비활성화하는 것이 적절하다는 것을 알았습니다.

여기에 이미지 설명을 입력하십시오

그러나 이로 인해 실제로 클릭 패드를 사용하려면 터치 패드의 버튼 (단, 버튼이 있음)을 사용해야합니다. 저에게는 그것은 공정한 절충입니다.

실제로 터치 패드에서 분리 된 "왼쪽 및 오른쪽"클릭 버튼이없는 경우 터치 패드 의 감도를 보정 할 수 있습니다 . 이 버그 리포트 에서 Peter Hutterer로부터 이것에 대해 배웠습니다 .

랩톱 제조업체가 되길 원하지만, 터치 패드가 아닌 터치 패드가있는 랩톱을 만들지 않았 으면합니다. 키보드의 키와 수평을 이루는 터치 패드는 디자인 결함입니다.

랩탑 제조업체에이 나쁜 디자인으로 인해 발생한 문제를 알려주십시오. 그렇지 않으면 향후 모델에서 계속 맹목적으로이 작업을 수행 할 것입니다.


1
이것이 잘 작동한다는 것을 확인했습니다. 나는 무시할 수있는 사소한 일을 알아 차렸다 : 타이핑하는 동안 뚱뚱한 손바닥이 터치 패드를 만지면 마우스 커서가 조금 움직일 수는 있지만 적어도 시간이 많이 걸리는 다른 곳을 클릭하지 못하게합니다. 이상적으로는 여전히 탭 투 클릭 동작을 수행 할 수 있지만 적어도 내 랩톱에서는 해당 기능이 아무리 잘 작동하지 않습니다. 따라서 절충은 실제로 공정합니다.
bgoodr

1

쿠분투 사용자의 경우 ...

Kubuntu 16.04-입력하는 동안 터치 패드를 비활성화하려면 설정-> 입력 장치-> 터치 패드-> 터치 패드 활성화 / 비활성화에서 "탭 및 스크롤 만 비활성화"라는 확인란의 선택을 취소해야했습니다. 분명해 보이지만 ...


우분투 16.04 작업
Nazmul Hasan

Ubuntu 18.04에는 이러한 하위 옵션이 없으며 설정도 조정도 아닙니다.
dskrvk

0
xinput list |
while read line; do
    if [[ $line == *Touchpad* ]]; then
        tid="$(echo $line | cut -d '=' -f 2 | cut -c 1-2)"
        xinput set-prop $tid "Device Enabled" 0
    fi
done

더 간결하게

xinput list | sed -nre 's/^.*Touchpad.*\sid=(\S+).*$/\1/p' | xargs -I{} -- xinput set-prop {} 'Device Enabled' 0

서식을 수정하십시오
Pierre.Vriens

1
Ask Ubuntu에 오신 것을 환영합니다! 이 명령 (시퀀스)이 수행하는 작업에 대한 특정 세부 정보로 확장 하려면 이 답변 을 편집하는 것이 좋습니다 . 평범한 명령 (시퀀스)은 거의 대답으로 간주되지 않습니다. Ask Ubuntu에서 어떤 종류의 답변이 가장 가치있는 것으로 간주되는지에 대한 일반적인 조언은 좋은 답변을 작성하는 방법 도 참조하십시오 .
David Foerster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.