Stap 1: How to Simuleer toetsenbord Input?
(1) om te injecteren toetsaanslagen, moeten we de gebeurtenissen van de aanraking van banaan tot standaard toetsaanslagen gebeurtenis, zoals KEY_0, KEY_Z, enz., die correspondeert met toetsaanslagen uit 0-9, X_Z kaart. Meer in het bijzonder, moeten we gebruik maken van een bestand '/ dev/input/gebeurtenis/X', en schrijven een gegevensstructuur genaamd input_event om het te injecteren een bepaalde toetsaanslag. Als u wilt weten van alle de invoerapparaten, we het volgende commando kunnen gebruiken: $cat /proc/bus/input/devices. We ontdekten dat in ons geval event1 is het toetsenbord.(2) moeten nu ontdekten we de input file, we de gegevens structuur input_event naar het schrijven. De gebeurtenis wordt gedefinieerd in /usr/include/linux/input.h. We willen vullen met de toetsaanslag die we willen om te injecteren. De structuur wordt gedefinieerd als volgt:
struct input_event {}
struct timeval tijd;
__u16 type;
__u16 code;
__s32 waarde;
}
type: het type gebeurtenis.
EV_KEY: de toetsaanslag gebeurtenis, bijvoorbeeld welke toets is ingedrukt toetsenbord, en als links van de knop of de rechterknop van de muis wordt ingedrukt.
EV_REL: De relatieve coördinaten, dat voornamelijk betrekking heeft op de beweging van de muis
EV_ABS: absolute coördinaten, dat voornamelijk betrekking heeft op het touchscreen.
code: de code van de gebeurtenis. Als het type EV_KEY is, is de code de code. Code 0-127 verwijst naar de sleutel van het toetsenbord. Code 0 × 110-0 × 116 verwijst naar de code van de pers van de muis, waar 0 × 110 (BTM_LEFT) betekent dat de linkerknop van de muis, 0 × 111 (BTN_RIGHT) betekent dat de rechterknop van de muis, 0 × 112 (BTN_MIDDLE) betekent de middelste knop van de muis. Raadpleeg voor andere code, bestand "/ usr/opnemen/linux /input.h".
Waarde: de waarde van het evenement. Wanneer het type EV_KEY, wanneer de toets wordt ingedrukt, wordt de waarde 1 en 0 wanneer het wordt vrijgegeven. Als het type EV_REL is, betekent de positieve en negatieve waarde de relatieve beweging in twee verschillende richtingen.
Makey Makey gebruiken USB-HID om te simuleren toetsenbordgebeurtenis aan op de host PC. In pcDuino draait kras zelf op pcDuino, dus we rechtstreeks toetsaanslag injecteren kunnen.