3

如何将密钥代码发送到在 wine 下运行的 linux 中当前正在运行的应用程序?为了简单起见,我希望它处于 bash 之下。

4

1 回答 1

2

使用名为xvkbd的包。它应该在每个 linux 发行版中。语法很简单:

xvkbd -text [line of keycodes]

例如,使用自动战网登录运行魔兽争霸 3 游戏将是:

#!/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
于 2009-06-05T08:14:55.710 回答