Just set it up for a challenge, and to proove that this stuff really can be done in linux
It was difficult though, First i made a python script using xlib to broadcast the keystrokes, but wines keyboard implimentation is broken so this didn't work. I had to go about it a very strange way.

So, i setup autoit in wine, and used it's ControlSend function to send the keystrokes into world of warcraft, that worked. Then i found out wine doesn't support global hotkeys...so i had to use autoit in wine to send the keystrokes, and python linux side to grab the hotkeys. I had them communicate via sockets.

So, python injects into world of warcraft and hooks the entire keyboard, python then sends all the keystrokes via sockets to autoit, which then sends them to all the open world of warcraft windows! (hacky keyclone for linux lol)

I ran around ogrimmar for a while, got alot of laughs, killed a few boars and got to level 4, concept prooved :P

Heres my autoit code: http://cshadowrun.googlepages.com/multicastinjector.au3
Heres my python code: http://cshadowrun.googlepages.com/keyhooker.py

I never got modifiers (control, alt, shift) working, i think this is a bug in autoit however. Using something else windows side to inject the keystrokes may make things better.
Heres a sexy screenshot running 5 instances of world of warcraft with compiz fusion :P


FPS was ok, although i don't have any numbers. Running around in the troll starting land was not laggy at all. Ogrimmar was a little laggy. But still playable.
My specs are:
8800GT 512mb
Intel core 2 quad Q6600 @ 2.4ghz
4GB DDR2

Edit: I just remembered - i think i had all graphics settings set to max, that can't have helped my time in ogrimmar.

I was however running a windows XP VM, and a few other things while doing this, so no doubt it'd be faster for someone with a faster box and less crap running.

Now off i go back to my beloved team fortress 2 and counter strike source, FPS games rule, linux rules, concept prooved :P

Edit: Xzin: lol CS your monitors hover in mid air.. oh wait nevermind.