MX Master의 엄지 버튼은 버튼이 아니라 아날로그 키 입력입니다. 문제는 xev가 인식하지 못하기 때문에 어느 것인지 알 수 없다는 것입니다. 바로가기 패널에는 "CTR + ALT + TAB"이라고 표시되어 있지만 "CTR + ALT + TAB"이 수행해야 하는 작업인 "패널 간 전환"은 수행되지 않습니다. 대신, 엄지 버튼이 하는 일은 현재 있는 창에서 표시된 마지막 창으로 무한 루프로 앞뒤로 이동하는 것입니다. 이 기능이 뭔지 아시는 분 계신가요?
편집하다(엄지 버튼을 두 번 누른 결과):
Event: time 1486843409.135360, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843409.135360, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1486843409.135360, -------------- SYN_REPORT ------------
Event: time 1486843409.143358, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843409.143358, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1486843409.143358, -------------- SYN_REPORT ------------
Event: time 1486843409.151354, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843409.151354, type 1 (EV_KEY), code 15 (KEY_TAB), value 1
Event: time 1486843409.151354, -------------- SYN_REPORT ------------
Event: time 1486843409.159360, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843409.159360, type 1 (EV_KEY), code 15 (KEY_TAB), value 0
Event: time 1486843409.159360, -------------- SYN_REPORT ------------
Event: time 1486843409.167356, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843409.167356, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1486843409.167356, -------------- SYN_REPORT ------------
Event: time 1486843409.175354, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843409.175354, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1486843409.175354, -------------- SYN_REPORT ------------
Event: time 1486843410.633371, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843410.633371, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1486843410.633371, -------------- SYN_REPORT ------------
Event: time 1486843410.641373, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843410.641373, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1486843410.641373, -------------- SYN_REPORT ------------
Event: time 1486843410.649370, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843410.649370, type 1 (EV_KEY), code 15 (KEY_TAB), value 1
Event: time 1486843410.649370, -------------- SYN_REPORT ------------
Event: time 1486843410.657362, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843410.657362, type 1 (EV_KEY), code 15 (KEY_TAB), value 0
Event: time 1486843410.657362, -------------- SYN_REPORT ------------
Event: time 1486843410.665363, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843410.665363, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1486843410.665363, -------------- SYN_REPORT ------------
Event: time 1486843410.673364, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843410.673364, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
편집 2나는 xev에서 결과를 얻었습니다. 다음을 두 번 누를 수도 있습니다.
KeyPress 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 루트 0xf5, subw 0x0, 시간 20443872, (-455, -283), 루트: (1367,722), 상태 0x10, 키코드 37 (keysym 0xffe3, Control_L ), same_screen은 XLookupString이 0바이트를 제공합니다. XmbLookupString이 0바이트를 제공합니다. XFilterEvent가 반환합니다: False
KeyPress 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 루트 0xf5, subw 0x0, 시간 20443880, (-455, -283), 루트: (1367,722), 상태 0x14, 키코드 64 (keysym 0xffe9, Alt_L ), same_screen은 XLookupString이 0바이트를 제공합니다. XmbLookupString이 0바이트를 제공합니다. XFilterEvent가 반환합니다: False
FocusOut 이벤트, 시퀀스 번호 37, 합성 NO, 창 0x6400001, NotifyGrab 모드, 세부 정보 NotifyAncestor
FocusOut 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 모드 NotifyWhileGrabbed, 세부 정보 NotifyNonlinear
PropertyNotify 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 원자 0x16b(_NET_WM_STATE), 시간 20443950, 상태 PropertyNewValue
FocusIn 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 모드 NotifyWhileGrabbed, 세부 정보 NotifyNonlinear
KeymapNotify 이벤트, 시퀀스 번호 37, 합성 NO, 창 0x0, 키: 0 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0FocusIn 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 모드 NotifyUngrab, 세부 정보 NotifyNonlinear
KeymapNotify 이벤트, 시퀀스 37, 구성 NO, 창 0x0, 키: 3 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0KeyRelease 이벤트, 시퀀스 37, 합성 NO, 창 0x6400001, 루트 0xf5, subw 0x0, 시간 20445256, (-455, -283), 루트: (1367,722), 상태 0x14, 키코드 37(keysym 0xffe3, Control_L), same_screen 즉, XLookupString은 0바이트를 제공합니다. XFilterEvent는 다음을 반환합니다. False
PropertyNotify 이벤트, 시퀀스 번호 37, 구성 NO, 창 0x6400001, 원자 0x16b(_NET_WM_STATE), 시간 20445283, 상태 PropertyNewValue
답변1
evtest
커널 입력 evdev 장치를 확인하고 수신 xev
된 이벤트를 Ctrl Alt Tab확인 하여
xev
로그에서 일부 응용프로그램(아마도 창 관리자)이 이 순서를 인식한다는 것을 알 수 있습니다 . 이벤트를 억제 Tab
하고 자체적으로 작동하기 시작합니다(그래서 xev
이벤트가 수신됩니다 FocusOut
). 다음 PropertyNotify
이벤트는 KeymapNotify
실제로 창 관리자일 가능성이 높으며 다른 키보드 레이아웃이나 이와 유사한 것으로 변경하려고 할 수 있음을 나타냅니다.
이는 모든 것이 예상대로 작동한다는 것을 의미합니다. 즉, 마우스 MX 마스터가 시퀀스를 보내고 X가 시퀀스를 이해하며 일부 프로그램이 시퀀스에 반응합니다.
반응이 원하는 것이 아니라면 반응한 프로그램을 식별해야 합니다(모든 응용 프로그램을 닫고 다시 시도하십시오 xev
. 동일한 일이 발생하면 창 관리자입니다). 프로그램의 구성 파일을 찾고 이 위치를 찾으십시오. 시퀀스가 구성 파일에 나타나고 원하는 대로 변경합니다. 어쨌든, 창 관리자에 대한 문서를 자세히 읽어보는 것이 좋습니다. 왜냐하면 이것이 시퀀스에 반응하는 것이기 때문입니다.~해야 한다xbindkeys
다른 프로그램( 등)이 이 프로그램을 삼키는 경우에도 마찬가지입니다 .