#include "inc/Gamepad.h" // worker void gp_worker() { // do background work, read from gamepad, write to variables while(1) {} } // init, term GEN_TYPE_boolean gp_initialized = false; GEN_TYPE_boolean gp_terminated = false; void gp_init() { // important, since all btns are accessing the same method if(gp_initialized) return; // TODO initialize... } void gp_term() { // important, since all btns are accessing the same method if(gp_terminated) return; // TODO terminate... } // noval GEN_TYPE_boolean gp_btn1_is_noval() { return true; } GEN_TYPE_boolean gp_btn2_is_noval() { return true; } GEN_TYPE_boolean gp_btn3_is_noval() { return true; } GEN_TYPE_boolean gp_btn4_is_noval() { return true; } GEN_TYPE_boolean gp_btnL1_is_noval() { return true; } GEN_TYPE_boolean gp_btnL2_is_noval() { return true; } GEN_TYPE_boolean gp_btnR1_is_noval() { return true; } GEN_TYPE_boolean gp_btnR2_is_noval() { return true; } GEN_TYPE_boolean gp_btnLX_is_noval() { return true; } GEN_TYPE_boolean gp_btnLY_is_noval() { return true; } GEN_TYPE_boolean gp_btnRX_is_noval() { return true; } GEN_TYPE_boolean gp_btnRY_is_noval() { return true; } // readers GEN_TYPE_boolean gp_btn1_read() { return false; } GEN_TYPE_boolean gp_btn2_read() { return false; } GEN_TYPE_boolean gp_btn3_read() { return false; } GEN_TYPE_boolean gp_btn4_read() { return false; } GEN_TYPE_boolean gp_btnL1_read() { return false; } GEN_TYPE_boolean gp_btnL2_read() { return false; } GEN_TYPE_boolean gp_btnR1_read() { return false; } GEN_TYPE_boolean gp_btnR2_read() { return false; } GEN_TYPE_double gp_btnLX_read() { return 0.0; } GEN_TYPE_double gp_btnLY_read() { return 0.0; } GEN_TYPE_double gp_btnRX_read() { return 0.0; } GEN_TYPE_double gp_btnRY_read() { return 0.0; }