class mouseTrack{ int [] previousX; int [] previousY; int counter; mouseTrack() { counter = 0; previousX = new int[50]; previousY = new int[50]; } void addLoc(int mX, int mY) { if(counter < 50) { previousX[counter] = mX; previousY[counter] = mY; counter++; } if(counter == 50) { counter = 0; } } boolean hasMouseMoved() { float dx = 0; float dy = 0; if(counter > 0){ for(int i = 0; i < counter;i++) { dx += previousX[i]; dy += previousY[i]; } //println ("dx " + dx/counter + " dy " + dy/counter); // If less than 20 pixels movement, mouse is notmoving if( (dx / counter) > previousX[0]+20 || (dx / counter) < previousX[0]-20 ) //Mouse is moving return true; else if( (dy / counter) > previousY[0]+20 || (dy / counter) < previousY[0] - 20 ) //Mouse is moving return true; return false; } return false; } }