Видео смотреть бесплатно

Смотреть русское видео

Официальный сайт pharma-24 24/7/365

Смотреть видео бесплатно

mironov_orig 28.07.2011 00:52

How-to`sКак отослать в иксы комбинацию клавиш

Вопрос всплыл в конференции от пользователя Dark_SS. Отвечаю здесь. Для перебежчиков (и не очень) с венды это аналог (с куда меньшими возможностями) функции send из autohotkey. Итак
задача: сэмулировать нажатие ctrl+f2 после старта системы.
Решение: нам понадобиться пакет lineakd, а конкретнее утилита xsendkeys из его состава, которая позволяет отсылать в иксы нажатия клавиш из консоли/скриптов. в данном конкретном случае это выглядит вот так
1
xsendkes "Control_L+F2"

где "+" отвечает за одновременное нажатие.

Чтобы отправить что-то иное, просто передайте это как параметр этой утилите. xsendkes ожидает названия клавишь в иксо-понятном формате, если что-то не работает, вы не знаете как обозвать клавишу (или их комбинацию) обратитесь к xev за помощью. При использовании xev пригодится вот такой однострочник
1
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'

В его выводе вы увидите 2 колонки, 1я - код клавиши, 2я - символьное имя, которое можно использовать с xsendkeys.

Ссылки


1. проект на sf
2. убунтовские патчи
3. pkgbuild из AUR'a на всякий случай (автор не я)
4. тарбол тоже на всякий случай


Тэги: autohotkey X xsendkeys
+ 10 -
Похожие Поделиться

mealsforall 28.07.2011 04:02 #
+ 4 -
Альтернативно в пакете xautomation есть утилитка xte.

Работает так:
нажатие буквы А: xte 'key a'
нажатие Ctrl+F2: xte 'keydown Ctrl_L' 'key F2' 'keyup Ctrl_L'
Dark_SS 28.07.2011 08:02 #
+ 0 -
Спасибо, попробую!
Infy 28.07.2011 09:16 #
+ 4 -
Еще один вариант — использование пакета для автоматизации xdotool.

Примеры:
1) xdotool key F2 — нажатие F2;
2) xdotool key ctrl+l — нажатие ctrl+l.
Dark_SS 28.07.2011 20:54 #
+ 0 -
Сработало! Спасибо.
aguanic 28.07.2011 12:58 #
+ 1 -
Фигня в том, что очень немногие приложения реально обращают на эти нажатия внимание.

Недавно пробовал с помощью xdotool научить мультимедийные клавиши на ноутбуке отправлять правильные сигналы в VirtualBox к запущенному там iTunes.. А потом дочитал до раздела "SENDEVENT NOTES" в man xdotool, и бросил это занятие.

PS. Задумку таки реализовал, с помощью конструкции:
"VBoxManage controlvm [имя] keyboardputscancode [код]".
Dark_SS 28.07.2011 20:54 #
+ 0 -
xsendkeys у меня нажал только F2 без контрола...
mironov_orig 28.07.2011 21:31 #
+ 0 -
1
xsendkeys 'Control_L+F2'
написал, а не проверил☺ я у себя с Super_L в качестве модификатора проверял. Извиняй.
Dark_SS 28.07.2011 21:36 #
+ 0 -
Ничего страшного. В комментах куча альтернатив нашлась.
IT.Tux.Droid 28.07.2011 21:24 #
+ 1 -
На питоне я бы сделал так:
$ sudo apt-get install python python-pyatspi

import pyatspi

reg = pyatspi.Registry.generateKeyboardEvent

reg(37, None, pyatspi.KEY_PRESS)
reg(68, None, pyatspi.KEY_PRESSRELEASE)
reg(37, None, pyatspi.KEY_RELEASE)

И добавил бы скрипт а автозагрузку.

Но это велосипед =)
Dark_SS 28.07.2011 21:36 #
+ 1 -
Сурово!
Dark_SS 09.08.2011 19:32 #
+ 1 -
В итоге в автозагрузке нормально отработала только комбинация пары методов mealsforall и IT.Tux.Droid. Ещё раз всем спасибо!

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн