Горячая клавиша для отправки текстовых строк в программу

наследие личинки или личинка (не grub2), не совместимо с 4K секторами, но grub2, конечно; до остальной части системы у меня не было проблем, создающих хинду сервер для клиента: имел IDE на 160 ГБ жесткий диск как ОС и диски емкостью 2 x 3 в RAID 1 (dmraid) с 4K секторами. У хинду не было проблемы с ним; у меня даже была установка LVM2 на нем.

Вы не должны испытывать проблемы с использованием 2 ТБ 4K сектор жесткий диск как вторичный, незагрузочный диск.

14
20.04.2012, 04:49
5 ответов

Один простой подход xdotool, как

xdotool type 'text'
14
27.01.2020, 19:50
  • 1
    Это - половина решения..., как я присваиваю сочетание клавиш для выполнения этого? Делая ярлык в настройках Xfce 4.8, Клавиатура не работала. –  Steven 20.04.2012, 05:24
  • 2
    @Steven это работает непосредственно от терминала? –  jw013 20.04.2012, 05:31
  • 3
    Да. Кроме того, 'сон 5 && xdotool текст типа' отправляет текст в "активное" окно. –  Steven 20.04.2012, 05:35
  • 4
    @Steven, в котором я не использовал Xfce некоторое время, но моя следующая догадка, - то, что, когда команда выполняется, активное окно является неправильным так или иначе. Я попытался бы работать xdotool getwindowfocus и от терминала и как сочетание клавиш, в то время как тот же терминал открыт и сравнивает результаты для равенства. Необходимо будет, вероятно, перенаправить версию сочетания клавиш во временный файл для наблюдения его. –  jw013 20.04.2012, 05:40
  • 5
    я использую xbindkeys. –  Mikel 20.04.2012, 05:47

Ваш диск имеет 1 текущий ожидающий сектор; это означает, что сектор не может быть прочитан правильно. обычно это аппаратная проблема, которая приводит к неудачному чтению во время самотестирования SMART. Если вы пишете этот сектор, он может либо «исправить» проблему, либо превратиться в перераспределенный сектор.

Поскольку технически диск уже потерял данные на данном этапе, я бы больше не доверял ему важные вещи.

-121--86086-

@ Способ JJoao, безусловно, используется. Однако я написал этот очень неэффективный сценарий, который может представлять интерес:

#! /bin/bash

SRC_DIR="/path/to/programs"
TMP_DIR="/tmp/tree"
declare -A FUNCS

iterate ()
(
    program="$1"
    FUNCS["$program"]="$TMP_DIR/$program"
    mkdir "${FUNCS[$program]}"
    grep -Po '(?<=\bCALL ")[^"]*' "$SRC_DIR/$program" | while read child
    do
        if [[ -n ${FUNCS[$child]} ]]
        then
            ln -s "${FUNCS[$child]}" "${FUNCS[$program]}/$child"
        else
            iterate "$child"
        fi
    done
)

[[ -n $1 ]] && { iterate "$1"; tree -dlo call-graph.html -H "$TMP_DIR" "$TMP_DIR"; }
rm -rf "$TMP_DIR"

Он создает каталог дерево , с каждым каталогом, представляющим функцию, содержащую символические ссылки на другие каталоги/функции, которые он вызывает. Программа tree естественно хороша в рисовании деревьев (опция -l следует по символьным ссылкам, если не обнаружена рекурсия, -o генерирует вывод HTML).

Конечно, в идеале вы должны смотреть на генераторы графов вызовов для вашего языка. В этом SO-вопросе перечисляются некоторые для C, возможно, вы сможете найти тот, который поддерживает ваш язык.

-121--253600-

Можно использовать Автокей . Вот описание из веб- сайта. "AutoKey - это утилита автоматизации рабочего стола для Linux и X11. Он позволяет управлять коллекцией сценариев и фраз и назначать им сокращения и горячие клавиши. Это позволяет выполнять сценарий или вставлять текст по требованию в любую программу, которую вы используете ".

Он упакован, насколько я могу судить, для Gentoo (анонсирован здесь ); для Ubuntu ( здесь ); Debian ( здесь )...

4
27.01.2020, 19:50

Xdotool работает. Однако, если вы интегрируете его с помощью сочетания клавиш... простой текст xdotool типа «текст» не работает.

В этом мне помог следующий сценарий оболочки

windowid=$(xdotool getwindowfocus)
sleep 0.5 && xdotool windowactivate --sync $windowid type 'text'
7
27.01.2020, 19:50

Один -вкладыш, который работал у меня (украден из комментария k.tsm)

xdotool sleep 0.3 type 'string that you want to type / paste'

Затем назначьте ярлык для этой команды в KDE, и после того, как вы нажмете ярлык, нужный текст будет волшебным образом напечатан за вас.

1
27.01.2020, 19:50

вы можете использовать это для управления вводом диалога открытия файла в Linux:

import pyautogui
import subprocess, time

pyautogui.hotkey('ctrl', 'o', interval = 0.15)
pyautogui.hotkey('ctrl', 'l', interval = 0.15)
subprocess.Popen("xdotool sleep 0.3 type  '{Path_file}'".format(Path_file = "............................"), shell = True)
time.sleep(10)
pyautogui.press('enter')
0
04.03.2021, 14:15

Теги

Похожие вопросы