2011-09-26 6 views
3

키보드 신호가 활성 응용 프로그램에 도달하기 전에 모든 키보드 신호를 가로채는 방법을 찾고 있습니다. 그런 다음 키 입력을 해석하고 매핑하여 현재 활성화 된 응용 프로그램에 전송하려고합니다.리눅스에서 파이썬으로 키보드 입력을 가로 채고 보내기

파이썬 라이브러리는 훌륭하지만 C/C++로도 충분합니다.

+0

암호 입력을 위해 키보드 입력을 캡처 할 때 본질적으로 동일한 작업을 수행하는 다양한 화면 보호기 (예 : xscreensaver)의 구현을 살펴볼 수 있습니다. – thiton

답변

1

X (org)가있는 시스템을 사용하고 있다고 가정합니다. 그렇지 않으면 evdev 수준뿐만 아니라 몇 가지 물건을 할 수 있지만 그것은 다른 이야기입니다.

질문에

두 부분 : 모든 키 이벤트를 차단

  1. 은 -> XGrabKeyboard()
  2. 는 활성 응용 프로그램에 키 이벤트를 보내는 : 나는 libfakekey를 사용하는 것, 그것은 해키 조금 해키 (을 동적으로 현재 키맵의 일부분을 다시 전송하여 보내려는 KeySym을 보내지 만) 나를 위해 일했습니다. (작은 팁, 키 누름과 키 릴리스 이벤트를 모두 잊지 마세요 : p).

물론 응용 프로그램에서 키보드를 잡으면 X에서 KeyEvents를 듣고 거기에서 키를 보내야합니다.

관련 문제