Welcome to mirror list, hosted at ThFree Co, Russian Federation.

usb_dispatcher.cpp « app « pastilda « emb - github.com/thirdpin/pastilda.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: edb89e14d1459ad4c65d524d2db75b55eb2634e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "usb_dispatcher.h"

USB_dispatcher *dispatcher_pointer;

USB_dispatcher::USB_dispatcher()
{
	dispatcher_pointer = this;
	usb_composite = new USB_composite();
	usb_host = new USB_host(redirect, control_interception);
	_interception_enabled = false;
}

void USB_dispatcher::redirect(uint8_t *data, uint8_t len)
{
	dispatcher_pointer->usb_composite->usb_send_packet(data, len);
}

void USB_dispatcher::control_interception()
{
	memset(dispatcher_pointer->key, 0, 8);
	dispatcher_pointer->key[2] = KEY_W;
	dispatcher_pointer->key[3] = KEY_O;
	dispatcher_pointer->key[4] = KEY_N;
	dispatcher_pointer->key[5] = KEY_D;
	dispatcher_pointer->key[6] = KEY_E;
	dispatcher_pointer->key[7] = KEY_R;
	dispatcher_pointer->usb_composite->usb_send_packet(dispatcher_pointer->key, 8);

	dispatcher_pointer->key[2] = 0;
	dispatcher_pointer->key[3] = 0;
	dispatcher_pointer->key[4] = 0;
	dispatcher_pointer->key[5] = 0;
	dispatcher_pointer->key[6] = 0;
	dispatcher_pointer->key[7] = 0;
	dispatcher_pointer->usb_composite->usb_send_packet(dispatcher_pointer->key, 8);

	dispatcher_pointer->key[2] = KEY_SPACEBAR;
	dispatcher_pointer->key[3] = KEY_W;
	dispatcher_pointer->key[4] = KEY_O;
	dispatcher_pointer->key[5] = KEY_M;
	dispatcher_pointer->key[6] = KEY_A;
	dispatcher_pointer->key[7] = KEY_N;
	dispatcher_pointer->usb_composite->usb_send_packet(dispatcher_pointer->key, 8);

	dispatcher_pointer->key[2] = 0;
	dispatcher_pointer->key[3] = 0;
	dispatcher_pointer->key[4] = 0;
	dispatcher_pointer->key[5] = 0;
	dispatcher_pointer->key[6] = 0;
	dispatcher_pointer->key[7] = 0;
	dispatcher_pointer->usb_composite->usb_send_packet(dispatcher_pointer->key, 8);
}