답변:
negusp 의 답변 에서이 bash 스크립트를 만들었습니다 . 터치 패드 장치를 찾아서 전환합니다. 시스템 설정에서 사용자 정의 바로 가기를 구성 할 수 있습니다.
#!/bin/bash
read TPdevice <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )
if [ "$state" -eq '1' ];then
xinput --disable "$TPdevice" && notify-send -i emblem-nowrite "Touchpad" "Disabled"
else
xinput --enable "$TPdevice" && notify-send -i input-touchpad "Touchpad" "Enabled"
fi
다음 과 같이 토글 터치 패드 활성화 및 비활성화에 대해 Ctrl+ Shift+ F9를 설정 하고 있습니다.
편집 : chmod + x filename 명령을 사용 하거나 사용자 정의 바로 가기 창의 명령 필드에 / bin / bash / filepath 를 입력 하여 스크립트를 실행 가능하게 만들어야 할 수도 있습니다.
zenity --info --text "Touchpad DISABLED" --timeout=2
그리고 zenity --info --text "Touchpad ENABLED" --timeout=2
당신에 if
와 else
블록, 각각 다음 새로운 상태를 발표 2 초에 autocloses 창을 팝업.
Touchpad
되지 않으므로 두 시스템을 모두 검색하도록 답변을 업데이트했습니다. 또한을 사용하여 느린 스크롤 휠 문제를 올바르게 수정했습니다 . 여기에 전체 ANS를 참조하십시오 askubuntu.com/questions/844151/enable-disable-touchpad/...TouchPad
xinput
imwheel
바로 가기가 필요하지만 데스크탑에 2 개의 스크립트를 쉽게 넣고 실행할 수 있습니다.
먼저 터미널로 가십시오. 을 입력하십시오 xinput
. 출력 예 :
⎡ 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 = 12 로 표시됩니다.
이것으로 첫 번째 스크립트를 만듭니다
#!/bin/bash
xinput enable 12
저장하고 이름을 지정하고 touchpadenable.sh
터미널에서 다음을 사용하여 실행 파일로 표시하십시오.
chmod +x touchpadenable.sh
똑같은 작업을 다시 수행하지만 파일 이름을 touchpaddisable.sh
(또는 무엇이든) 대신
xinput enable 12
명령을 사용하십시오
xinput disable 12
저장하고 실행 파일로 표시하면 데스크탑에서 스크립트를 실행할 수 있어야합니다. 참고 : 스크립트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 실행해야 할 수 있습니다.
negusp 의 답변 처럼 먼저 터치 장치를 확인해야하며 다음과 같이 표시됩니다.
~ $ xinput ⎡ 가상 코어 포인터 id = 2 [마스터 포인터 (3)] core ↳ 가상 코어 XTEST 포인터 id = 4 [슬레이브 포인터 (2)] PixArt Dell MS116 USB 광 마우스 id = 10 [슬레이브 포인터 (2)] PS ↳ SynPS / 2 Synaptics TouchPad id = 14 [슬레이브 포인터 (2)] ⎜ ↳ DLLC6B2 : 00 06CB : 75BF 터치 패드 id = 12 [슬레이브 포인터 (2)] ⎣ 가상 코어 키보드 id = 3 [마스터 키보드 (2)] ↳ 가상 코어 XTEST 키보드 id = 5 [슬레이브 키보드 (3)] ↳ 전원 버튼 id = 6 [슬레이브 키보드 (3)] ↳ 비디오 버스 id = 7 [슬레이브 키보드 (3)] ↳ 전원 버튼 id = 8 [슬레이브 키보드 (3)] ↳ 절전 버튼 id = 9 [슬레이브 키보드 (3)] ↳ Integrated_Webcam_HD id = 11 [슬레이브 키보드 (3)] Translate AT Translated Set 2 keyboard id = 13 [슬레이브 키보드 (3)] ↳ Dell WMI 단축 키 id = 15 [슬레이브 키보드 (3)] Wireless DELL 무선 핫키 id = 16 [슬레이브 키보드 (3)]
내 경우에는 id = 12 인 장치입니다. 이제 데스크탑 폴더에 "bin"이라는 폴더 아래에 "toggle-touch"라는 이름의 bash 스크립트를 만들고 "~ / Desktop / bin"이되고 다음 코드를 복사하십시오. 장치 변수가 내 터치 id = 12를 가리키고 경우를 수정하십시오.
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ $state == '1' ];then
xinput --disable $device
else
xinput --enable $device
fi
이 스크립트 실행 권한으로 설정하십시오.
chmod 775 /Desktop/bin/toggle-touch
마지막으로이 경로를 홈 폴더의 ".bashrc"에 추가 할 수 있습니다. 파일 끝에 다음 줄을 추가하면됩니다.
PATH=$PATH:~/Desktop/bin
경로를 다음과 같이 업데이트하십시오.
. .bashrc
그런 다음 어느 곳에서나이 스크립트를 실행할 수 있습니다. 도움이 되길 바랍니다.
내 우분투 18.04에서 Almas Dusal 의 대답은 TouchPad
다음 코드 줄 에서 'p'를 소문자로 변경하기 전까지는 작동하지 않았습니다 .
read TPdevice <<< $( xinput | sed -nre '/Touchpad/s/.*id=([0-9]*).*/\1/p' )
그 후 스크립트에서 터치 패드를 성공적으로 비활성화하고 활성화했지만 마우스 및 터치 패드 설정 화면에 반영되지 않았습니다 . 설정보기를 업데이트하는 동안 터치 패드를 토글하는 다음과 같은 새로운 스크립트를 만들었습니다.
#!/bin/bash
state=$( gsettings get org.gnome.desktop.peripherals.touchpad send-events )
if [ "$state" = "'enabled'" ];then
gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled' \
&& notify-send -i touchpad-disabled-symbolic "Touchpad" "Disabled"
else
gsettings set org.gnome.desktop.peripherals.touchpad send-events 'enabled' \
&& notify-send -i input-touchpad-symbolic "Touchpad" "Enabled"
fi
Ubuntu 14.04, 16.04 및 18.04에서 테스트 및 작동했습니다.
좋아하세요 @Almas Dusal의 대답 처럼 수행, @ negusp의 대답 사용을 제외하고는이 대신하기 때문에 내 수정 된 스크립트 3 명 추가 혜택 ( : 혜택 1과 3 아래 2019 9월 12일을 추가 한 업데이트를 )
xinput
을 모두 검색합니다 . 이것은 내 스크립트가 더 많은 시스템 (모든 시스템)과 호환되도록합니다.Touchpad
TouchPad
zenity
터치 패드가 활성화 또는 비활성화되어 있는지 표시하기 위해 2 초 자동 닫기 팝업 창을 추가합니다 . 아래 팝업 창 스크린 샷을 참조하십시오.imwheel
마우스를 사용할 때 활성화하고 (마우스 스크롤 휠을 사용할 때 우분투 / Linux에서 느린 스크롤 휠 문제를 해결 함) imwheel
터치 패드 를 사용할 때 비활성화합니다. imwheel
그렇지 않으면 터치 패드 스크롤이 실제로 글리치됩니다 활성화되면. 이 작업을 수행하려면 해당 줄의 주석 처리를 제거하십시오. 예 : # imwheel -b "4 5"
및 # killall imwheel
.#!/bin/bash
# GS_toggle_touchpad.sh
# - toggle the touchpad on and off
# Gabriel Staples
# Written: 2 Apr. 2018
# Updated: 12 Sept. 2019
# References:
# - /ubuntu//a/874865/327339
# - /ubuntu/844151/enable-disable-touchpad/1109515#1109515 <-- my own ans!
# Search for id number of "TouchPad" OR "Touchpad" in `xinput` list; manually type `xinput` to see all your devices
read TouchPadDeviceId <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TouchPadDeviceId" | grep "Device Enabled" | grep -o "[01]$" )
echo "TouchPadDeviceId = $TouchPadDeviceId"
echo "state = $state"
if [ "$state" -eq '1' ];then
xinput --disable "$TouchPadDeviceId"
zenity --info --text "Touchpad DISABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# imwheel -b "4 5"
else
xinput --enable "$TouchPadDeviceId"
zenity --info --text "Touchpad ENABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# killall imwheel
fi
스크롤 휠 속도를 고정하기 위해이 답변을 따르는 경우에만 임 휠링이 필요합니다 . Chrome 스크롤 속도를 영구적으로 수정하십시오 .
이제 Ctrl+ Alt+ 의 바로 가기 키를 지정하십시오 P(또는 'P'는 touch'P'ad를 의미합니다). 위의 스크립트에 추가 된 zenity
자체 폐쇄 팝업 창 부분은 여기에 내 대답에 더 자세히 설명되어 있습니다 ( /superuser//a/1310142/425838 ).
위의 단축키를 사용하면 2 초 후에 자동으로 닫히는이 팝업 창이 나타납니다.
그리고 다시 누르면 2 초 후에 자동으로 닫히는 팝업 창이 나타납니다.
완전한!
추가로, 마우스를 많이 사용하는 사용자라면 위의 스크립트를 호출하는 명령을 Ubuntu의 시작 프로그램에 추가하면 컴퓨터가 시작될 때마다 트랙 패드가 실행되고 비활성화됩니다! 트랙 패드에 손을 대고 부딪 히고 실수로 물건을 지울 수 있도록이 세트가 있습니다! 이제 내 손이 트랙 패드에 부딪히면 비활성화되어 있기 때문에 아무 일도 일어나지 않습니다. :)
참고 :이 모든 것은 Ubuntu 18.04 및 이전 버전에서 훌륭하게 작동합니다. 우분투 18.04 및 우분투 14.04에서 테스트했습니다. 18.04의 바로 가기 설정 창에있는 스크린 샷은 다음과 같습니다.
SynPS/2 Synaptics TouchPad
하고 SYNA306A:00 06CB:CD0B Touchpad
. 첫 번째 실행은 하나를 비활성화하고 두 번째 실행은 다른 하나를 비활성화합니다. 거기에서 두 번째는 토글되지만 첫 번째는 토글되지 않습니다.
내 스크립트를 여기에 두십시오 (위와 다소 비슷 함). 장치 ID를 미리 조회 할 필요없이 바로 사용할 수 있습니다.
#!/bin/bash
function query_device_id {
xinput list | grep -i touchpad | sed 's/.*id=\([0-9]*\).*/\1/g'
}
let device_id=$(query_device_id)
let state=$(xinput list-props $device_id | grep Enabled | awk '{print $4;}')
let new_state=$((1 - $state))
xinput set-prop $device_id "Device Enabled" $new_state
쉘 스크립트를 작성하고 아래 코드를 붙여넣고 touchPadDisable.sh로 이름을 지정하십시오.
#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput disable $temp
다른 쉘 스크립트를 작성하고 아래 코드를 붙여 넣고 touchPadEnable.sh로 이름을 지정하십시오.
#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput enable $temp
첫 번째 스크립트는 터치 패드를 비활성화하고 두 번째 스크립트는 터치 패드를 활성화합니다.
이 스크립트를 키보드의 사용자 정의 단축키에 추가 할 수 있습니다.
또 다른 대안은이 그놈 확장명을 다운로드하는 것입니다 https://extensions.gnome.org/extension/935/toggle-touchpad/
grep
하고sed
. 두 개를 쉽게 통합 할 수 있습니다sed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p'
.