LINUX.ORG.RU

Вставить текст в любое текстовое поле с помощью сочетания клавиш не трогая буфер обмена

 , , ,


1

3

Прошло 9 лет и я опять озадачился вставкой текста по сочетанию клавиш Вставка текста в текстовое поле, минуя буфер обмена Попробовал всё что было в той теме.

xvkbd -xsendevent -text 'Текст, который вставляется'

По прежнему проблема с кириллицей, об этом и пишет в консоль и вставляет только запятую.

echo "Текст, который вставляется" | iconv -f UTF8 -t UTF16 | xvkbd  -utf -file -

Вставляет кашу из оригинального текста и кучей ошибок, как-будто человек пишет быстро на клавиатуре смартфона без автозамены в трясущемся на ямах автобусе.

xdotool type --clearmodifiers --delay 10 'Текст, который вставляется'

Нормально вставляет текст, но после этого клавиатура сходит с ума и при нажатии любых клавиш происходит лютая дичь в системе, как-будто срабатываю все сочетания клавиш одновременно, как я понял залипает ctrl, который отлипает если его нажать. Вопрос тот же что и 9 лет назад: вставить текст в любое текстовое поле с помощью сочетания клавиш не трогая буфер обмена. Неужели линукс не может такое сделать нормально? Не верю.

★★

Последнее исправление: KOT040188 (всего исправлений: 1)

Мне понравилось: «в текстовое поле». Поля вокруг бескрайние.. То есть, вокруг меня. Не городской я житель, да. А это ваше «текстовое поле» в люнексах однозначно и неоспоримо хаоактеризует «географические координаты»? Чёрт его знает, может для пользователя с девятилетним стажем пофигу где поле, лишь бы текстовое. Но лично я нахожу некоторые отличия в месте их расположения, в связи с чем догадываюсь почему клавиатуру может вынести, если не подходящее поле нашлось, хотя и текстовое.

anonymous
()
Ответ на: комментарий от etwrq

Я попробовал всё что предлагали в той теме. Я в скриптах не сильно разбираюсь. И вопросы не очень понял.

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

информацию приняли, продолжайте наблюдение.(тм)

etwrq ★★★★★
()

Прерывание int 16h используй. =)

Ну а вообще - каким собственно образом ты пытаешься копипастить без использования буфера обмена? Ну, даже не теоретически, а чисто практически - можно. Получив Handle нужного окна ввода. Получив его - можно делать с этим окошком что угодно, хоть на весь экран развернуть, посылая ему соотвестствующие сообщения (WM_ -итп). Ну и любой текст туда впихнуть, запросто, разумеется.

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

В итоге ты сделаешь свое подобие буфера обмена... или «общей шины». Или очереди сообщений. Но криво и через жеппу.

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

Добавил -delay 50 в echo «Текст, который вставляется» | iconv -f UTF8 -t UTF16 | xvkbd -utf -file - в конце. Набор происходит медленно но с теми же ошибками и в конце нажимается ентер зачем-то…

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

Неужели линукс не может такое сделать нормально?

Может, конечно же. Нужно использовать uinput вместо того говна и костылей, которые ты перечислил.

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.