Search code examples
linuxwinekeycodexorg

Sending keycode to Xorg + wine with bash script


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.


Solution

  • 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