GTK 키보드 이벤트를 특정 창 (특정 창에서 웹킷 webview가있는 창)에 디스패치 (삽입)하려고합니다. 내가 가진 문제는 Backspace, Up, Down 등과 같은 특수 키를 사용하는 것입니다. 어떤 이유로 인해 제대로 삽입되지 않아 해당 기능이 실행되지 않습니다. 다른 키의 경우 완벽하게 작동합니다. 창에 키보드를 집중시키고 창을 창 Z- 인덱스 스택 맨 위에 놓으려고했으나 도움이되지 않습니다.특수 키 이벤트를 삽입하는 Python Webkit GTK 이벤트
GdkEvent* const event = gdk_event_new(GDK_KEY_PRESS);
event->key.window = self->window->window;
event->key.send_event = TRUE;
event->key.time = GDK_CURRENT_TIME;
event->key.state = 0; event->key.keyval = key_value;
event->key.hardware_keycode = 0;
event->key.length = 0; event->key.string = 0;
event->key.group = 0;
//key_value is the code for the key.
이것은 C 코드에서 파이썬 바인딩 부분이며 여기서는 함수에 키 코드 (key_value)를 전달합니다. 키 릴리스 이벤트 (GDK_KEY_RELEASE)와 비슷한 작업을 수행합니다. 파이썬 부분에서는이 두 함수를 호출하고 (눌렀다가 놓으면) a, s, d 등의 일반 키에서 작동하지만 백 스페이스, 입력, 삭제 등에 대해서는 작동하지 않습니다.
게시 할 코드가 있습니까? – ptomato
질문을 편집하고 질문의 본문에 코드를 삽입하는 것이 더 읽기 쉽습니다. 즉, 이벤트를 "삽입"하기 위해 어떤 기능을 사용하고 있습니까? – ptomato