Here it is.
It's 40.2 kb.
Okay, so I've made another timer. It's kinda different from all other currently available timers I know of. Here's why:
The Pyraminx scrambler isn't added yet. The 2x2x2 scrambler currently generates 25 random moves. I'll add the optimal random state scrambler soon. All other scramblers are official WCA scramblers taken directly from the WCA regulations page.
I hope there aren't any more bugs or problems with this. I've tried to make the code as readable as possible so others could help fix bad code. I've only learned JavaScript for a week, so yeah
Please tell me if there's anything wrong with the timer, thanks 
Edit: Unfortunately, I've only tested this in Firefox in Linux Ubuntu because that's the only thing I have, so I'm gonna need lotsa feedback from other guys using other OSes and other browsers, yup.
It's 40.2 kb.
Okay, so I've made another timer. It's kinda different from all other currently available timers I know of. Here's why:
- The timer is almost entirely keyboard-controlled.
- There are 9 events, each event has two modes: Speed and blindfolded.
- Hit 1 for Square-1, 2 to 7 for 2x2x2 to 7x7x7, 8 for Megaminx and 9 for Pyraminx.
- Hit the same number repeatedly to toggle between speed and blindfolded mode of that event. Switching events will NOT erase time logs of any other event.
- In speed mode, hit the spacebar to start the timer, hit any key to stop the timer.
- In blindfolded mode, hit the spacebar to start both the main timer and the memorization timer, hit any key to stop the memorization timer, hit any key again to stop the main timer.
- Timer starts when the spacebar is released and stops when any key is hit (same as qqTimer).
- In blindfolded mode, when the memorization timer stops, the screen flashes black and white 3 times to provide visual feedback. (Customizable, explained in post #29 of this thread.)
- IMPORTANT: You can only switch events (a) when the timer is not running and (b) one second after the timer stops. (Customizable, explained in post #29 of this thread.)
- In speed mode, once the timer stops, hit O or P for OLL parity or PLL parity, hit both keys in any order for double parity, hitting the same key repeatedly toggles it on or off.
- In blindfolded mode, once the timer stops, hit P for parity, hitting it repeatedly toggles it on or off.
- In speed mode, once the timer stops, hit A, E, F, G, H, J, R, N, T, U, V, Y or Z for the PLL you got. For PLLs with more than one "type", for example A(a) and A(b), hit the same key repeatedly to cycle between different "types". Hit X to nullify the PLL, hit S for a PLL skip.
- In both modes, once the timer stops, hit D for a DNF, hit it again for a +2, hit it again to nullify the penalty.
- In both modes, when the timer is not running, hit backspace or delete to delete the last time. (Some browsers have backspace as the hotkey to return to the last page, and Macs don't have delete keys.)
- Clicking on any time in the time log deletes that time.
- In both modes, when the timer is not running, hit escape to reset the time log for that mode for that event. It will not reset the time logs for any other mode or event, if you want to do this, you can hit F5

- In both modes, when the timer is not running, hit L to highlight the last scramble and "lowlight" the current scramble. Hitting L again turns this off.
- In both modes, when the timer is not running, hit Q repeatedly to toggle between showing the time log in simple format and in detailed format (with scrambles and solve #).
- Hovering the cursor over the best/worst average of 5 "lowlights" all the times in the time log and leaves the best/worst 5 times the same color.
- Hovering the cursor over the best/worst average of 12 "lowlights" all the times in the time log and highlights the best/worst 12 times.
- Hovering the cursor over any single time in the time log displays the "hovering average" at that point, and lowlights all times but the rolling averages of 5 and 12 at that point.
- In both modes, there is a DNF calculator that calculates the % of solves that are DNFs.
- In both modes, there is a parity calculator that calculates the % of occurrence of each type of parity.
- In blindfolded mode, there is a memorization:execution time ratio calculator.
- Read post #29 of this thread for customization of the timer.
- All stats are made into a very nice copy-and-paste-anywhere format.
- There are some other miscellaneous stuff not mentioned here, like there's a standard deviation calculator and some other stuff, but these should be pretty trivial once you start using the timer.
The Pyraminx scrambler isn't added yet. The 2x2x2 scrambler currently generates 25 random moves. I'll add the optimal random state scrambler soon. All other scramblers are official WCA scramblers taken directly from the WCA regulations page.
I hope there aren't any more bugs or problems with this. I've tried to make the code as readable as possible so others could help fix bad code. I've only learned JavaScript for a week, so yeah
Edit: Unfortunately, I've only tested this in Firefox in Linux Ubuntu because that's the only thing I have, so I'm gonna need lotsa feedback from other guys using other OSes and other browsers, yup.
Last edited: