views:

506

answers:

1

How do I send keycode to currently running application in linux which is running under wine? I would like the it to be under bash for simplicity.

+1  A: 

Use package called xvkbd. It should be within every linux distribution. Syntax is simple:

xvkbd -text [line of keycodes]

For example running Warcraft 3 game with automatic Battle.net login would be:

#!/bin/bash
cd ~/.wine/drive_c/Program\ Files/Warcraft3/
wine euroloader.exe -opengl > /dev/null 2> /dev/null & # run W3
sleep 5; # wait until animation fades out
xvkbd -text "b" # "b" is for Battle.net
sleep 7;
xvkbd -text "password\r" # password
sleep 3;
xvkbd -text "h" # "h" is for channel
sleep 5;
xvkbd -text "h" # honestly I don't know why, but without this the script might not work
sleep 5;
xvkbd -text "zcu\r" # type in your channel and join the room
sleep 5;
xvkbd -text ".load\r" # I'm using ghost, so I'll ask him what map is loaded
picca