Установить кнопку мыши или клавиатуры для имитации щелчка левой кнопкой мыши и удержания или быстрого повторного щелчка левой кнопкой мыши в Windows?

У меня была идея tripleClicker во сне, и моя реализация больше похожа на турбо-кнопку для мышей. Теперь я могу использовать autokey или autohotkey. Но я хочу знать, как программное обеспечение делает это.

Я на Linux, вы можете помочь мне отправить левой кнопкой мыши мыши, я могу отправить его непосредственно в /dev /input /event3

Есть ли способ подражать этому сигналу или это многословно? Фактический сигнал hex на USB?

Событие: время 1540772345.223443, тип 4 (EV_MSC), код 4 (MSC_SCAN), значение 90001 Событие: время 1540772345.223443, тип 1 (EV_KEY), код 272 (BTN_LEFT), значение 0 Событие: время 1540772345.223443, ------- ------- SYN_REPORT ------------

PS как мне получить время На моей машине написано: реальный пользователь 0m0.000s 0m0.000s sys 0m0.000s

Это больше время таймера -a увеличивает время -p сбрасывает свою команду секундомера.

Целью этого является обходной путь в LMMS/GIMP, поэтому мне не нужно пытаться сделать инструмент кисти вместо этого. Он будет нажимать несколько раз, чтобы имитировать эффект кисти или эффект рисования.

1 ответ1

1

Чтобы отсортировать различные уровни ядра: USB-слой идентифицирует вашу мышь как устройство HID (устройство интерфейса человека), и, используя дескриптор HID, автоматически преобразует события USB во входные события (что вы видите в /dev/input/eventX). Эти входные события затем читаются драйвером X evdev и транслируются в X-события (или, если вы используете Wayland, нечто подобное делается через libinput), который затем интерпретируется GIMP и т.д.

Вы можете просто написать в /dev/input/eventX для имитации события. Формат описан в struct исходных файлов ядра (include/uapi/linux/input.h и include/uapi/linux/input-event-codes.h). evtest переводит его, так что вы также можете сравнить с hexdump -C /dev/input/eventX .

Вы также можете смоделировать событие X с помощью различных инструментов. Вы не можете смоделировать событие USB.

Время - это время, когда было создано событие, а не время процесса (что вы получаете, используя time).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .