我試圖找到一種方法來找出哪個鍵按下向下C.這將是在圖形環境中,寫在GTK2哪個鍵按下,但我不認爲答案在於那裏。我想我可以使用Xlib來做到這一點,但我一直無法找到任何結論。檢測用C
有沒有人有任何建議如何做到這一點?
我已經成功使用的後續代碼搭上按鍵:
GtkWidget *window;
void gtk_widget_set_events(window,GDK_KEY_RELEASE_MASK);
g_signal_connect(window,"key_release_event",G_CALLBACK(hello),NULL);
不過,我想,以確定哪個鍵按下。從發表阿迪蒂亞·庫馬爾的聯繫,我知道答案就在於使用GdkEventKey,因爲它是具有KEYVAL場的結構,但我似乎無法得到正確的語法。得到這個號碼的正確方法是什麼?
這是我試過的方法:
static void hello(GtkWidget *widget,
guint data){
g_print ("Hello World, %d was pressed\n",data);}
我試圖這樣做提供的「數據」當我趕key_release_event:
g_signal_connect(window,"key_release_event",G_CALLBACK(hello),GdkEventKey.keyval);
不過,我得到一個編譯錯誤,像所以:
hello.c:85:5: error: expected ‘)’ before ‘.’ token
hello.c:85:5: error: expected expression before ‘,’ token
我想你的答案是什麼地方埋在GTK2事件處理。 – pmr
這是一個在XTerm中運行的控制檯應用程序嗎?或者一個X應用程序 - 從而使用Motif ?, GNome ...之類的東西? –
在鍵盤或ideone上覆制粘貼你的hello.c並給出鏈接。 –