외부 키보드/마우스가 연결되어 있을 때 xinput을 사용하여 노트북 키보드/마우스를 자동으로 비활성화하는 방법은 무엇입니까?

외부 키보드/마우스가 연결되어 있을 때 xinput을 사용하여 노트북 키보드/마우스를 자동으로 비활성화하는 방법은 무엇입니까?

마우스와 키보드를 비활성화 하는 데 사용할 수 있다는 것을 알고 있습니다 xinput. 일반적으로 마우스와 키보드를 연결할 때마다 다음 세 가지 명령을 입력합니다.

xinput float 'AT Translated Set 2 keyboard'

xinput float 'Ideapad extra buttons'

xinput float 'SynPS Synaptics Touchpad'

나는 보통 이름 대신 id 값을 사용하는데, 당신은 내 표류를 이해합니다.

그렇다면 키보드가 연결될 때마다 내 컴퓨터가 위의 두 명령을 실행하고, 마우스가 연결되면 내 컴퓨터가 아래 명령을 실행하도록 이를 자동화할 수 있는 방법이 있습니까? reconnect 를 실행하여 마우스/키보드를 분리할 때 장치를 다시 활성화하는 것과 같습니다 xinput.

답변1

나는 이것을 해본 적이 없지만 다른 SE 사이트를 기반으로 도움을 주려고 노력할 것입니다.

기본적으로 팔로우이 답변udev 파일을 수정하고 스크립트를 제공하여 시작할 수 있어야 합니다.

/etc/udev/rules.d/00-usb-keyboard.rules

ATTRS{idVendor}=="09da", ATTRS{idProduct}=="0260", OWNER="YOURUSERNAME"
ACTION=="add", RUN+="/home/YOURUSERNAME/.bin/usb-keyboard-in_udev"
ACTION=="remove", RUN+="/home/YOURUSERNAME/.bin/usb-keyboard-out_udev"

/home/사용자 이름/.bin/usb-keyboard-in_udev

#!/bin/bash
/home/YOURUSERNAME/.bin/usb-keyboard-in &

#!/bin/bash
sleep 1
DISPLAY=":0.0"
HOME=/home/YOURUSERNAME/
XAUTHORITY=$HOME/.Xauthority
export DISPLAY XAUTHORITY HOME
YOUR_COMMAND_HERE

/home/사용자 이름/.bin/usb-keyboard-out_udev

#!/bin/bash
/home/YOURUSERNAME/.bin/usb-keyboard-out &

/home/사용자 이름/.bin/usb-keyboard-out

#!/bin/bash
sleep 1
DISPLAY=":0.0"
HOME=/home/YOURUSERNAME/
XAUTHORITY=$HOME/.Xauthority
export DISPLAY XAUTHORITY HOME
YOUR_COMMAND_HERE

이러한 모든 스크립트에는 실행 권한( )이 있어야 합니다 chmod +x.

답변을 바탕으로:

USB 키보드 공급업체 및 제품 ID는 lsusb 명령의 출력에 따라 변경되어야 합니다(예를 들어, USB 키보드의 lsusb 출력은 Bus 001 Device 006: ID 09da:0260 A4 Tech Co., Ltd).

관련 정보