在X11中发送KeyPress事件

时间:2013-01-03 11:36:00

标签: x11 keypress

我有一个程序,由于各种原因我需要将按键事件发送到各种窗口。我目前使用的是什么

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

适用于小写字母和数字,但我需要修改它,以便它能够发送回车键和大写字母。

1 个答案:

答案 0 :(得分:1)

来自XStringToKeysym手册页:

void XConvertCase(KeySym keysym,KeySym * lower_return,KeySym * upper_return);

如果KeySym受大小写转换,则XConvertCase函数返回指定Keysym的大写和小写形式;否则,指定的KeySym将返回lower_return和upper_return。对拉丁语和西里尔语KeySyms以外的转换的支持取决于实现。

所有的密钥都在/usr/include/X11/keysymdef.h中,例如输入键是XK_Return。这些字母也在那里,例如XK_a和XK_A。