Ejemplo n.º 1
0
void process_controller_events(gl_t *state, int controller_fd)
{
    struct input_event events[10];
    int bytes, i, length;

    // Read in events
    bytes = read(controller_fd, events, sizeof(events));
    if(bytes > 0)
    {
        length =  bytes/sizeof(struct input_event);

        // Process events based on type
        for(i=0; i<length; i++)
        {
            switch(events[i].type)
            {
                case EV_KEY:
                    handle_key(state, &events[i]);
                    break;
                case EV_ABS:
                    handle_joystick(state, &events[i]);
                    break;
                case EV_REL:
                    handle_mouse(state, &events[i]);
                    break;
            }
        }
    }
}
Ejemplo n.º 2
0
 void handle_joysticks()
 {
   for (unsigned i = 0; i < joysticks.size(); i++)
     if (joysticks[i])
       handle_joystick(joysticks[i]);
 }