Отправка кода ключа в Xorg + вино с помощью скрипта bash

Как отправить код ключа в запущенное в данный момент приложение в Linux, которое работает под Wine? Я бы хотел, чтобы это было под bash для простоты.


person picca    schedule 05.06.2009    source источник


Ответы (1)


Используйте пакет с именем xvkbd. Он должен быть в каждом дистрибутиве Linux. Синтаксис прост:

xvkbd -text [line of keycodes]

Например, запуск игры Warcraft 3 с автоматическим входом в Battle.net будет выглядеть следующим образом:

#!/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
person picca    schedule 05.06.2009