2013-01-03 111 views
1

我有一個程序,其中由於各種原因,我需要發送按鍵事件到各種窗口。我使用的那一刻在X11發送KeyPress事件

XEvent event; 
/* set some other stuff*/ 
event.type = KeyPress; 
event.xkey.keycode  = XKeysymToKeycode(display,XStringToKeysym(curr_key)); 

作品小寫字母和數字是什麼,但我需要修改這個,以便它能夠發送回車鍵和大寫字母。

回答

1

從XStringToKeysym手冊頁:

無效XConvertCase(keysym的鍵符,鍵符* lower_return,鍵符* upper_return);

如果KeySym受大小寫轉換的影響,XConvertCase函數返回指定Keysym的大寫和小寫形式;否則,指定的KeySym返回lower_return和upper_return。支持除拉丁文和西里爾文KeySyms以外的轉換依賴於實現。

所有的關鍵字都在/usr/include/X11/keysymdef.h例如回車鍵是XK_Return。字母也在那裏,例如XK_a和XK_A。