질문 요약 :Super_L X11 에서 마우스 버튼 중 하나를 왼쪽 Windows 버튼으로 등록하고 싶습니다 .
창 관리자에서 "왼쪽 Windows 단추"(왼쪽 슈퍼)를 누른 상태에서 마우스 왼쪽 단추로 창을 드래그하여 창을 이동할 수 있습니다. 키보드를 건드리지 않고 그렇게 할 수 있기를 원하므로 왼쪽 Super 키를 마우스 버튼 11에 매핑하고 마우스 버튼 11을 누르고 창을 클릭 + 드래그 할 수 있습니다.
가장 확실한 해결책은 xbindkeys와 xte를 다음과 같이 사용하는 것입니다 ( .xbindkeysrc
) :
"xte 'keydown Super_L'"
b:11
"xte 'keyup Super_L'"
b:11 + release
이것은 다음과 같이 작동합니다.
- 마우스 버튼 11 Super_L을 누르면
- 마우스 버튼 11에서 손 Super_L을 떼면
그러나 문제가 있습니다. 마우스 버튼 11과 같은 다른 마우스 버튼을 누른 상태에서 Super_L+를 사용하여 창을 이동할 수 없습니다 Mouse1. 위의 솔루션을 사용하면 마우스 버튼 11이 여전히 눌렀다 놓은 것으로 등록되어 있으므로 창 관리자 작업이 작동합니다.
나는 계피와 최고 WM, 모두 사용이 시도 절대적으로 아무도 의 Super_L아래로 개최되고 마우스 버튼 (10) 또는 (11) 동안 키보드 조합의 일을.
하위 해킹
현재 마우스 11 클릭으로 Super_L버튼을 일정 시간 동안 누르고 있으면이 문제를 해결하고 있습니다. 그렇게 하면 마우스 버튼을 클릭 한 다음 잠시 동안 물건을 드래그 할 수 있습니다 .
"xte 'keydown Super_L' 'usleep 250000' 'keyup Super_L'"
b:11
다른 시도
totti가 제안한 대로이 xbindkeys
구성을 시도했습니다 .
"xte 'mouseup 10' 'keydown Super_L'"
b:10
"xte 'keyup Super_L'"
b:10 + Release
작동하지 않습니다. 보이는 Super_L키 때문에 (내가 누를 때까지 곧이 영원히 누르고 유지 I 해제 버튼 (10)로, 아래로 개최되고 Super_L키보드의 키를 다시)하지만 난 클릭 & 드래그 창 수 없기 때문에 마우스 버튼 여전히 등록되고 . 나는 xbindkeys
and 를 사용 하여이 작업을 수행 할 수있을 것이라고 생각하지 않습니다 xte
.