We are pleased to announce the availability of GNU Xnee 3.07 GNU Xnee is a suite of programs that can record, replay and distribute user actions under the X11 environment. Think of it as a robot that can imitate the job you just did. GNU Xnee can be used to: Automate tests Demonstrate programs Distribute actions Record and replay 'macro' Retype the content of a file Getting the Software ==================== http://ftp.gnu.org/gnu/xnee/xnee-3.07.tar.gz http://ftp.gnu.org/gnu/xnee/xnee-3.07.tar.gz.sig or one of the mirror sites as found in: http://www.gnu.org/prep/ftp.html Checksums =========== md5sum: f9fca0c7475a90487c86eca2027d0fcd xnee-3.07.tar.gz cksum: 510662476 1779830 xnee-3.07.tar.gz New in this release =================== * New features: Supports recording xnd replaying of XInput device events * Forced replaying of X11 core events can be done * Backward compatible with old session files * Build changes: --enable-man Checks for makeinfo once, uses result many times Can build guis and manual without all doc stuff --disable-xinput2 By default Xnee is built with XI support Looks for gtk-config when configuring Checks for makeinfo once, uses result many times Can build guis and manual without all doc stuff * Issues Human printout of X Input events needs more work Need to make X Input code be totally ifdefed away * New options: --force-core-replay,-fcr Discard recorded X Input device data, use recorded core device data --disable-xinput-events Disable recording of XInput events * Fixed bugs as reported on ubuntuforums: http://ubuntuforums.org/showthread.php?t=1253453&highlight=xnee savannah bug: #30134 "Missing xnee.xpm in gnee" savannah bug: #30136 "Configure misses to check for gnome.h" * Reported problems on N900 are fixed * Patches from Tuukka Pasanen, Fabian Keil * Experimental and undocumented features (read the source): * replay backend * xswine - new swinput backend for Xnee
Support for X Input* has been added to GNU Xnee. Tests have been performed on: Debian Lenny Ubuntu 10.04 Mameo , N900 and things (finally) seems to be working.
Building --------------- Download: http://alpha.gnu.org/gnu/xnee/xnee-3.06.96.tar.gz
... unpack and build:
tar zxvf /home/hesa/gnu/xnee/xnee-3.06.96.tar.gz
./configure --disable-gui --disable-gnome-applet --enable-xinput2 && make
Before releasing 3.07 it would be great to have some more tests done on other environments. If you can, here's some test cases:
Preparation: ----------------------------- Execute: ./cnee/src/cnee --record --mouse --keyboard -o test-xi.xns -sk q
Move mouse, press and release some keys, ... stop recording by pressing q
Test case 1 "XI Replay": ----------------------------- ./cnee/src/cnee --replay -f test-xi.xns
Test case 2 "Core Replay": ----------------------------- ./cnee/src/cnee --replay -f test-xi.xns --force-core-replay
Send feedback to http://lists.gnu.org/mailman/listinfo/bug-xnee (or to me and I'll compile and anonymize your report and forward it to the list)
*) Multi-touch, multiple input devices ....
I been writing a small program, xswine, that can take a recorded GNU Xnee session file and replay that to swinput . Swinput had its share of changes and a new swinput release will see the light of day any day. The difference betwen replaying using swinput compared to replaying using Xnee itself is that swinput fakes the device events from the kernel and Xnee fakes at X11 level using XTest.
There’s a some questions that need to be solved before a proper xswine release, such as:
- how to map the device id as recorded from X Input Extension to the “correct” input device as presented by swinput
- timing – what do we do when we drift away from the start time, but want to keep the recorded diff between events
Currently there’s not much of the recorded X11 events that can be replayed. Here’s the current list:
- X11 motion event – no
- X11 button event – no
- X11 key event – no
- X Input device motion event – yes!!!
- X Input device button event – no
- X Input device key event – no
This means xswine can replay (using the kernel) recorded Multi-touch events!
But if that’s all xswine can do do, why do I bother writing a blog entry. Two reasons:
- nobody reads my blog…so nobody will complain about this blog post
- I want to “claim” the name xswine
So, what does xswine mean?
X – is for Xnee
swin – is for Swinput
e – dear reader of this blog (just claimed I had zero readers!), help me out … what should e stand for?
If you compile GNU Xnee and swinput (and install) from CVS HEAD you should be able to do:
sudo modprobe swmouse devs=4 && sudo chmod a+rwx /dev/swmouse*
./cnee/src/cnee --record --mouse -o whoa-mule.xns
cat whoa-mule.xns | ./xswine/xswine