Stap 3: Code
#include < core.h >#include < stdio.h >
#include < string.h >
#include < linux/input.h >
#include < fcntl.h >
#include < sys/time.h >
#include < unistd.h >
int InData1 = 0;
int InData2 = 0;
int InData3 = 0;
int InData4 = 0;
int InData5 = 0;
int TouchSensitivity = 800;
int num = 38;
VOID simulate_key (int fd, int kval)
{
struct input_event gebeurtenis;
gettimeofday (& event.time, 0);
Event.type = EV_KEY;
Event.Value = 1;
Event.code = kval;
schrijven (fd, & event, sizeof(event));
Event.type = EV_SYN;
Event.value = 0;
Event.code = SYN_REPORT;
schrijven (fd, & event, sizeof(event));
memset (& evenement, 0, sizeof(event));
gettimeofday (& event.time, 0);
Event.type = EV_KEY;
Event.value = 0;
Event.code = kval;
schrijven (fd, & event, sizeof(event));
Event.type = EV_SYN;
Event.value = 0;
Event.code = SYN_REPORT;
schrijven (fd, & event, sizeof(event));
}
VOID simulate_mouse (int fd, int rel_x, int rel_y)
{
struct input_event gebeurtenis;
gettimeofday (& event.time, 0);
Event.type = EV_REL;
Event.Value = rel_x;
Event.code = REL_X;
schrijven (fd, & event, sizeof(event));
Event.type = EV_REL;
Event.Value = rel_y;
Event.code = REL_Y;
schrijven (fd, & event, sizeof(event));
Event.type = EV_SYN;
Event.value = 0;
Event.code = SYN_REPORT;
schrijven (fd, & event, sizeof(event));
}
VOID Setup
{
for (int i = 6; ik < = 12; i ++)
{
pinMode (ik, OUTPUT);
}
}
void loop
{
int fd_mouse;
int fd_kbd;
int i = 0;
fd_kbd = open ("/ dev/input/event1", O_RDWR);
Als (fd_kbd < = 0)
{
printf ("kan niet openen toetsenbord input file\n");
while(1);
}
while(1)
{
InData1 = analogRead(A1);
InData2 = analogRead(A2);
InData3 = analogRead(A3);
InData4 = analogRead(A4);
InData5 = analogRead(A5);
Als (InData1 < = num)
{
digitalWrite (7, hoge);
simulate_key (fd_kbd, KEY_S);
delay(500);
InData1 = 2000;
InData2 = 2000;
InData3 = 2000;
InData4 = 2000;
InData5 = 2000;
}
anders digitalWrite (7, laag);
Als (InData2 < = TouchSensitivity)
{
digitalWrite (8, hoge);
simulate_key (fd_kbd, KEY_D);
delay(500);
InData1 = 2000;
InData2 = 2000;
InData3 = 2000;
InData4 = 2000;
InData5 = 2000;
}
anders digitalWrite (8, laag);
Als (InData3 < = TouchSensitivity)
{
digitalWrite (9, hoge);
simulate_key (fd_kbd, KEY_F);
delay(500);
InData1 = 2000;
InData2 = 2000;
InData3 = 2000;
InData4 = 2000;
InData5 = 2000;
}
anders digitalWrite (9, laag);
Als (InData4 < = TouchSensitivity)
{
digitalWrite (10, hoge);
simulate_key (fd_kbd, KEY_G);
delay(500);
InData1 = 2000;
InData2 = 2000;
InData3 = 2000;
InData4 = 2000;
InData5 = 2000;
}
anders digitalWrite (10, laag);
Als (InData5 < = TouchSensitivity)
{
digitalWrite (11, hoge);
simulate_key (fd_kbd, KEY_H);
delay(500);
InData1 = 2000;
InData2 = 2000;
InData3 = 2000;
InData4 = 2000;
InData5 = 2000;
}
anders digitalWrite (11, laag);
delay(100);
}
}
De code kan worden gedownload van hier (https://github.com/pcduino/scratch4pcduino_project/blob/master/TestCode.ino).