6 static int rep_start, rep_rep;
7 static long first_press[16], last_press[16];
8 static unsigned int repmask;
11 void ginp_repeat(int start, int rep, unsigned int mask)
18 void update_ginp(void)
20 static unsigned int prevstate;
23 ginp_bndelta = ginp_bnstate ^ prevstate;
24 prevstate = ginp_bnstate;
26 for(i=0; i<NUM_BN; i++) {
27 unsigned int bit = 1 << i;
28 if(!(bit & repmask)) {
32 if(ginp_bnstate & bit) {
33 if(ginp_bndelta & bit) {
34 first_press[i] = time_msec;
36 if(time_msec - first_press[i] >= rep_start && time_msec - last_press[i] >= rep_rep) {
38 last_press[i] = time_msec;