2017-01-21 1 views
0

내가 XGrabKey와 키를 잡고있다 "잡고". 내 예에서 MY_KEYCODE은 키 b의 것입니다. 이제 b 키를 눌러야 이벤트 루프가 실행됩니다. 그러나 b 키를 누른 상태에서 다른 키를 누르면 해당 이벤트가 내 이벤트 루프에보고되고 차단되어 일시적으로 "잡아 당깁니다". 을 KeyPressed 부분에 시도했지만 작동하지 않습니다.는 언론과 유지 잡고 키, 다른 키는 동안 경우

내 키를 잡은 상태에서 다른 키를 얻는 방법에 대한 아이디어가 있습니까?

+1

아니요, 불가능합니다. 움켜 잡은 키를 누르면 키를 놓을 때까지 전체 키보드를 움켜 잡습니다. 너 뭐하려고? –

+0

감사합니다. 독서와 논평을 위해! 하나의 키를 누를 때 다른 키를 보내는 위치에서 앱이 어떻게 작동합니까? "e"를 누르는 것처럼 "a"를 보내야합니다. 그들은'KeyRelease'에 그것을 보냅니 까? – Noitidart

+1

이 작업은 일반적으로 키를 다시 매핑 할 때 수행됩니다. –

답변

1

원하는 것을 할 수 없습니다. 움켜 잡은 키를 누르면 키를 놓을 때까지 전체 키보드를 움켜 잡습니다.

키에 바인딩 된 keysym을 프로그래밍 방식으로 전역 적으로 바꾸려면 키 재 매핑을 사용하는 것이 일반적입니다. XChangeKeyboardMappingXkbChangeMap을 참조하십시오.

키를 영구적으로 다시 매핑하고 완료 방법을 신경 쓰지 않으려면 설정 파일을 작성/수정하고 프로그래밍을 전혀 신경 쓰지 않는 것이 좋습니다. xmodmapxkbcomp을 참조하십시오.

+0

대단히 감사합니다. – Noitidart

관련 문제