Chinaunix首页 | 论坛 | 博客
  • 博客访问: 237229
  • 博文数量: 72
  • 博客积分: 2592
  • 博客等级: 少校
  • 技术积分: 834
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-28 00:16
文章分类

全部博文(72)

文章存档

2014年(1)

2012年(1)

2011年(6)

2010年(12)

2009年(19)

2008年(28)

2007年(4)

2005年(1)

我的朋友

分类: LINUX

2009-02-19 20:56:53

xAutoClick
http://xautoclick.sourceforge.net/documentation.html

Linux下类似按键精灵的东东。
可以改进一下用于X driver的测试。

XTest Extention是关键,尝试Auto Testing工具的开发,积累.
libXtst包含的函数有:
       XTestQueryExtension, XTestCompareCursorWithWindow, XTestCompareCurrentCursorWithWindow, XTestFakeKeyEvent,
       XTestFakeButtonEvent, XTestFakeMotionEvent, XTestFakeRelativeMotionEvent, XTestGrabControl, XTestSetGContextOfGC,
       XTestSetVisualIDOfVisual, XTestDiscard - XTest extension functions

键盘的按键操作函数:
int XTestFakeKeyEvent(display, keycode, is_press, delay);

 Display *display;
 unsigned int keycode;
 Bool is_press;
 unsigned long delay;


鼠标的按键操作函数:
 int XTestFakeButtonEvent(display, button, is_press, delay);

 Display *display;
 unsigned int button;
  Bool is_press;
  unsigned long delay;


还有判断鼠标移动位置等函数,总体来说是“Keep It Simple”的设计。

使用这个扩展进行X窗口等测试,需要考虑延展性。先实现几个最简单的操作小程序:鼠标单击左键、双击左键、鼠标位置移动、键盘输入等。再编写shell脚本调用‘Little tool’去进行综合测试。

熟悉了XTestFakeKeyEvent, XTestFakeButtonEvent, XTestFakeMotionEvent, XTestFakeRelativeMotionEvent, XTestGrabControl等使用方法。
但是如下两个函数并不熟悉:

XTestSetGContextOfGC
       sets the GContext within the opaque datatype referenced by gc to be that specified by gid.

XTestSetVisualIDOfVisual
       sets the VisualID within the opaque datatype referenced by visual to be that specified by
       visualid.


PS: XTestFakeKeyEvent类似Windows下SendMessage(hwnd, KEY_PRESS,0 ,128)的功能








阅读(731) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~