1

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

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

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

4

1 回答 1

1

从 XStringToKeysym 手册页:

无效 XConvertCase(KeySym 密钥,KeySym *lower_return,KeySym *upper_return);

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

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

于 2013-01-03T11:57:24.063 回答