터미널(X11 아래)에서 실행되고 키보드 단축키(데스크톱 환경 어디에서나 발생)를 기다리고 해당 단축키(또는 키 시퀀스)가 발생하면 종료되고 코드 = 0을 반환하는 스크립트가 필요합니다.
추신: byzanz에게 데스크탑 녹화를 언제 중단할지 알려주려면 이것이 필요합니다.
이 스크립트에 사용할 수 있는 후보는 이지만 xev
어떻게 xinput
조합해야 할지 모르겠습니다. 즉. xinput
유망해 보이지만 자동으로 발생하고 싶은 장치를 지정할 수 있으며 출력의 시퀀스가 발견되면 종료되는 스크립트에서 이를 사용하는 방법을 모르겠습니다.
답변1
xinput test-xi2 --root
모든 소스에서 이벤트를 캡처합니다. 섹션에 키코드가 포함된 RawKeyPress
, KeyPress
및 4개의 이벤트를 받게 됩니다 . 원시 이벤트를 사용해야 하는지는 잘 모르겠지만 마우스 이벤트를 들을 때 다른 프로그램에서 사용할 경우를 대비해 원시 이벤트에 의존해야 합니다 (RawKeyRelease
KeyRelease
detail:
owner_events = 1
X 잡기 포인터또는XIGrab 장치) 따라서 수정자를 추적하기 위해 Xserver가 필요하지 않은 한 원시 이벤트를 사용하는 것이 좋습니다.
나는 키보드와 마우스 이벤트를 캡처하는 프로그램을 작성한 적이 있습니다.https://github.com/pzmarzly/x11-input-mirror
편집: 내 테스트에서 원시 이벤트는 키보드 이벤트와 반대로 동작합니다. 따라서 가장 높은 성공률을 얻으려면 원시 마우스 이벤트를 캡처하되 원시가 아닌 키보드 이벤트는 캡처하지 마십시오.