• 5386阅读
  • 4回复

请高手指点关于模拟键盘操作的问题 [复制链接]

上一主题 下一主题
离线ljp1205
 
只看楼主 倒序阅读 楼主  发表于: 2008-09-02
— 本帖被 XChinux 执行加亮操作(2008-09-03) —
现在的想法是在程序运行的时候来模拟一系列的快捷键如ctrl+h
现在我的代码大致是这样的:

XTestFakeKeyEvent(disply,XKeysymToKeycode(display,  XK_Ctrol_L),True,0);
XTestFakeKeyEvent(disply,XKeysymToKeycode(display,  XK_Ctrol_L),False,0);

XTestFakeKeyEvent(disply,XKeysymToKeycode(display,  XK_h),True,0);
XTestFakeKeyEvent(disply,XKeysymToKeycode(display,  XK_h),False,0);

但是现在的问题是发现输入焦点已经转移到用来操作的程序界面若firefox
但是我想用ctrl+h来模拟打开firefox的帮助
但是发现做不到
还请高手指点一二
。。。。。。。。。
我觉得理论上这样应该是可行的哈
离线ljp1205
只看该作者 1楼 发表于: 2008-09-02

后来自己改成用XModifierKeymap来获得ctrl键码
居然可以了
我晕
有高手来解释下
。。。。。。。。。。
离线mumutouv

只看该作者 2楼 发表于: 2008-09-03
根据不同的键盘标准,它的键值有可能会不一样,类似问题我也碰到过
离线mumutouv

只看该作者 3楼 发表于: 2008-09-03
我上次做的也是以红外线遥控器作为输出,然后根据遥控器的按键来模拟出不同的键盘输入给firefox.
XTestFakeKeyEvent这个函数它只会把模拟键盘发给焦点窗口
离线ljp1205
只看该作者 4楼 发表于: 2008-09-03
引用第3楼mumutouv于2008-09-03 08:08发表的  :
我上次做的也是以红外线遥控器作为输出,然后根据遥控器的按键来模拟出不同的键盘输入给firefox.
XTestFakeKeyEvent这个函数它只会把模拟键盘发给焦点窗口

恩,呵呵,有XSetInputFocuse这个函数还是很好用的
快速回复
限100 字节
 
上一个 下一个