LINUX.ORG.RU
ФорумAdmin

xdotool и перехват клавиш

 , , ,


0

1

Доброе утро. Есть 2 компа, на одном из них нет клавиатуры и мыши, поэтому если чтото нужно ввести на нем приходится по ssh через xdotool имитировать нажатия клавиш, но приходится каждую клавишу в отдельной команде вводить... А можно как нибудь сделать так чтоб например подключилась по ssh, запустила скрипт и начала жать по клавишам и они сразу же выполнялись, а курсор мыши например управлять на стрелках? Или такое нельзя сделать? Или такое уже есть либо в xdotool либо в другой програмке? :)


Не проще ли X over ssh и в Xephyr завести на той машине, где планируется «кнопки жать»?

Makhno
()

А в чем проблема сделать небольшой скриптик с read, и потом это в xdotool?

А вообще поддерживаю remote access. x11vnc хорош, сам пользуюсь.

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от legolegs

Почитала о нем, да, это то что надо... но почему то получаю ошибку

x2x - error: can not open display

в конфиге ssh имеется

X11Forwarding yes

jessgt
() автор топика

А можно как нибудь сделать так чтоб например подключилась по ssh, запустила скрипт и начала жать по клавишам и они сразу же выполнялись, а курсор мыши например управлять на стрелках? Или такое нельзя сделать?

Можно, почему нельзя?

while read -n 1 c; 
    do 
        echo " input=$c"; 
    done
Вместо echo подставьте что вам там надо. Я только не знаю, как обработать стрелки, но тоже как-то можно, гугл знает.

crutch_master ★★★★★
()
Ответ на: комментарий от Kroz

Мне именно через терминал чтоб можно было управлять.

jessgt
() автор топика
Ответ на: комментарий от crutch_master

Вот про такой скриптик я и думала, но там тогда стрелки, backpace, esc, enter, tab не пойму как выполнять

jessgt
() автор топика
Ответ на: комментарий от jessgt

Там через escape последовательности надо считывать. Enter, tab - это \n, \t, а всё остальное идёт через несколько символов там надо извращаться. Самое интересное будет с cltr+c. Надо смотреть, как это можно сделать без баша, я думаю.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 2)

о приходится каждую клавишу в отдельной команде вводить...

Почему по одной клавише на команду? Почитай документацию на xdotool - там можно прямо в одной команде последовательность передавать и мышку тоже там же, пока допустимый размер командной строки не закончится.

Zubok ★★★★★
()
       Scripts are processed for parameter and environment variable expansion
       and then run as if you had invoked xdotool with the entire script on
       one line (using COMMAND CHAINING).

       ·   Read commands from a file:

            xdotool filename

       ·   Read commands from stdin:

            xdotool -

       ·   Read commands from a redirected file

            xdotool - < myfile
Zubok ★★★★★
()
Ответ на: комментарий от jessgt

Куда устанавливаешь x2x? Его надо установить на машину, которой надо управлять, на которой стоят иксы. Если они там стоят, то дисплей :0.0 там точно есть, его не может не быть. Но и на управляющей машине должны быть иксы. Если у тебя машина просто консольная, то x2x не годится.

DESCRIPTION
       x2x  allows the keyboard and mouse on one ("from") X display to be used
       to control another ("to") X display.  Since x2x uses the  XTEST  exten‐
       sion, the "to" X display must support XTEST.

Zubok ★★★★★
()

Зайти по ssh -X или VNC. Или вообще X2Go поставь и удалённо пользуйся, не завершая сессию, если так хочется через терминал. Но самое удобное и прямое решение для тебя будет - поставить Synergy. Это ровно то, что ты хочешь. Будешь управлять тем компьютером с клавиатуры и мышки другого компьютера. Synergy ставь из репозитория - там и GUI для настройки есть, и всё, что нужно. На официальном сайте уже проприетарная версия продаётся, так как разработчик решил, что свободное решение никому нельзя давать.

Quasar ★★★★★
()
Последнее исправление: Quasar (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.