Kann ich direkt über USB mit Eingaben wie Tastatur und Maus kommunizieren?

603
Punkroku

Maus- oder Tastatur-Taste zum Simulieren des Linksklicks und Haltens oder des schnellen Linksklicks in Windows einstellen?

Ich hatte diese Idee mit dem TripleClicker in einem Traum und meine Implementierung ähnelt eher einem Turbo-Button für Mäuse. Ich kann jetzt autokey oder autohotkey verwenden. Aber ich möchte wissen, wie die Software das macht.

Im Linux können Sie mir helfen, linker Mausklick zu senden. Kann ich ihn direkt an / dev / input / event3 senden

Gibt es eine Möglichkeit, dieses Signal zu emulieren oder ist dies verbose. Ist das eigentliche Signal hex auf usb?

Ereignis: Uhrzeit 1540772345.223443, Typ 4 (EV_MSC), Code 4 (MSC_SCAN), Wert 90001 Ereignis: Uhrzeit 1540772345.223443, Typ 1 (EV_KEY), Code 272 (BTN_LEFT), Wert 0 Ereignis: Uhrzeit 1540772345.223443, ------- ------- SYN_REPORT ------------

PS, wie ich die Zeit bekomme Auf meinem Rechner heißt es: Real 0m0.000s Benutzer 0m0.000s sys 0m0.000s

Dies ist mehr eine Timer-Zeit -a erhöht die Zeit -p setzt einen Stoppuhr-Befehl zurück.

Das Ziel dieses Problems ist eine Umgehung in LMMS / GIMP, sodass ich nicht versuchen muss, stattdessen ein Pinsel-Werkzeug zu erstellen. Es wird wiederholt angeklickt, um einen Pinsel oder einen Tupfer-Effekt zu simulieren.

0
https://stackoverflow.com/questions/20595716/control-mouse-by-writing-to-dev-input-mice ivanivan vor 5 Jahren 0
@ivanivan: Dein Link hat Antworten, die verschiedene Systemebenen vermischen (altes Mausprotokoll bei `/ dev / input / mice`, X-Protokoll), und keines kann ich sehen, dass es für` / dev / event 'Antworten gibt dirkt vor 5 Jahren 0
xdotool ist bei weitem die bequemste Art, Tastatur- und Mauseingaben zu emulieren, verwendet jedoch Xlib-Funktionen, anstatt direkt mit den / dev-Knoten zu interagieren. Layne Bernardo vor 5 Jahren 0
Ich finde, es ist vielleicht einfacher, den Quellcode für LMMS oder GIMP zu bearbeiten. Ich möchte einen Rechtsklick-Schlüssel aber für Linksklick. Ich möchte nur klicken und ziehen statt klicken, klicken, klicken, klicken, klicken, klicken, klicken, klicken Sie, wenn ich das eingeben kann. Punkroku vor 5 Jahren 0
Das Bearbeiten des Quellcodes für LMMS oder GIMP ist wahrscheinlich nicht einfacher als die Verwendung von xdotool und das Erstellen eines kleinen Skripts. Übrigens erhalten Sie Mäuse mit schneller Auto-Click-Funktion: https://www.amazon.com/SPEEDLINK-Symmetrical-Optical-Gaming-Illumination/dp/B00EOTR10K Layne Bernardo vor 5 Jahren 0

1 Antwort auf die Frage

1
dirkt

So sortieren Sie die verschiedenen Kernel-Layer: Der USB-Layer identifiziert Ihre Maus als HID-Gerät (Human Interface Device). Mit Hilfe des HID-Deskriptors werden USB-Ereignisse automatisch in Eingabeereignisse (was Sie sehen /dev/input/eventX) übersetzt. Diese Eingabeereignisse werden dann vom X-Treiber gelesen evdevund in X-Ereignisse übersetzt (oder, wenn Sie Wayland verwenden, wird etwas Ähnliches über durchgeführt libinput), das dann von GIMP usw. interpretiert wird.

Sie können einfach schreiben /dev/input/eventX, um ein Ereignis zu simulieren. Das Format ist in den structInclude-Dateien ( include/uapi/linux/input.hund include/uapi/linux/input-event-codes.h) des Kernels beschrieben . evtestübersetzt es, damit Sie es auch vergleichen können hexdump -C /dev/input/eventX.

Sie können ein X-Ereignis auch mit verschiedenen Werkzeugen simulieren. Sie können kein USB-Ereignis simulieren.

Die Zeit ist die Zeit, zu der das Ereignis erstellt wurde, nicht die Prozesszeit (die Sie verwenden time).

Dies scheint näher an dem zu sein, was ich tun möchte. Wenn ich auf die Tastatur verzichten kann und Midi-Signale verwenden kann, die in Tastatureingaben übersetzt werden, kann ich eine Tastatur nur für Kennwörter erstellen. Glauben Sie, dass es noch funktionieren würde oder funktionieren Keylogger auf dem Eingabeformular auf höherer Ebene? Danke für die Methode, Hexdump anzusehen, dachte ich> oder | dazu Punkroku vor 5 Jahren 0
include / uapi / linux / input.h und include / uapi / linux / input-event-codes.h war so wie das su !! Injektionspasswort? Nun, SUE ME! Punkroku vor 5 Jahren 0
Wenn Sie MIDI-Signale in Keyboard-Pressen übersetzen möchten, werfen Sie einen Blick auf `uinput` und erstellen Sie einfach Ihr eigenes Eingabe-Layer-Gerät, anstatt ein vorhandenes zu entführen. Viel sauberer Nein, Sie können das nicht verwenden, um Keylogger zu umgehen. Eigentlich funktioniert nichts, um Keylogger zu umgehen, da die Anwendung die Schlüsselereignisse sehen muss, und der Keylogger auch. dirkt vor 5 Jahren 0
wie wäre es, ctrl c zu senden und u + u oder alt f4 an Keylogger zu senden? Wo finde ich Uinput-Ressourcen? Punkroku vor 5 Jahren 0
1) Warum sollte der Schlüssel Unterschiede machen? 2) [Erste Schritte mit uinput] (http://robocup.wtb.tue.nl/svn/techunited/trunk/dev/GeertJan/scrum_and_bump/vel_estim/mouse_input/documents/Getting%20started%20mit%20uinput_%20 den%20user % 20level% 20input% 20subsystem.pdf) dirkt vor 5 Jahren 0
Danke @dirkt && vielleicht wird der Keylogger auf ctrl c oder ctrl q in einem Passwort aufbrechen. Oder durch das Setzen einer Pfeiltaste werden die Passwörter ausgeglichen und ein Zeichen überschrieben? Punkroku vor 5 Jahren 0
Warum versuchen Sie es nicht mit "evtest", wenn Sie mir nicht glauben? dirkt vor 5 Jahren 0