I think I figured It Out. (note: in my mod, I added my own methods to detect inputs, so the code may need to be modified)
This method only runs the key detection function once, than waits for the key to be released before allowing it to run again. This means it should not return a double press if the user holds the key down. It also will not trigger, if the key is double tapped too slow (so the user pressing the key once, than pressing it again 10 minutes later, will Not trigger a double tap).
long startTime = System.currentTimeMillis();
boolean moveKeyPressed = false;
b