- moved arrow generation to a misc function
- script funboxes will be disabled with zen and quote
- fixed arrows after 100 "words"
- added arrows back to the funbox list
* fixed-errors
* Readded whitespace to regex as unicode to prevent linter errors
* Readded key to value conversion
Co-authored-by: Estebene <49330942+TheWanderingRanger@users.noreply.github.com>
* First commit
* Fixed color popup placement and added easy paste colors
* Fixed color popup placement and added easy paste colors
* updated the color of the first button to provide more contrast
* fixed color picker position
* fixed laggy color picker drag
* safari fix for picker position
Co-authored-by: Jack <bartnikjack@gmail.com>
* Rewrite input system to use <input> content
* Tab/Escape, Backspace and Enter are always handled by
$(document).keydown.
* The rest of characters are handled by either $("#wordsInput").on("input")
(default) or $(document).keydown (layout emulation).
* New special handling for dead keys, compose keys and diacritics in
general with the new regex Misc.trailingComposeChars.
input-controller.js has been updated to use the above changes:
* handleBackspace() replaced with simplified backspaceToPrevious().
On PC, a space is immediately re-added to the end of the input to make
use of the browser/OS's Backspace. This lets the browser handle input-
specific things like ctrl+backspace.
* handleSpace() refactored a bit to repeat less logic when word is correct
or incorrect.
* test-ui.js updated to highlight the Misc.trailingComposeChars
correctly, and also refactored a bit to make logic easier to follow.
* AFK checking has also been simplified, now just set with a boolean
flag (TestStats.) setKeypressNotAfk() instead of checking every key and
modifier press (so incrementKeypressMod() was removed as it wasn't used
for anything else).
* Refactor input controller
New function isCharCorrect().
* Remove caps lock backspace setting
Not supported with the input rewrite anymore because we're relying on the
browser's/OS's actual backspace effects. There's no way to emulate this
keypress.
* Refactor input controller
* Reimplement opposite shift mode
* Reimplement the layout emulator
* Fix replay events for input rewrite
Now it's more flexible for a variable amount of backspacing or letter
replacing.
* Pad input with space to handle backspace on mobile
Backspace isn't fired as an event on current mobile browsers, so I worked
around that by adding a permanent space at the start of the input and
treating its removal as a fallback to Backspace to the previous word.
* Force caret to end of input on focus
Fixes initial selection on iOS.
* Use offsetTop from the DOM instead of TestUI
I didn't wanna mess too much with what happens in test-ui.js. Basically,
on a restart after having completed a test, TestUI.activeWordTop is always
wrong for some reason. This caused swipe/instant input after a restart to
always drop the first few characters.
* Prevent pasting on the input
* Revert "Reimplement opposite shift mode"
This reverts commit 9a716ad39b004f0719b05f486465ea03060430ca.
* Use key code to check opposite shift usage
Today I learned what closure actually meant.
* Accept all whitespace as word space
* Added min burst
* no need to calculate burst on a timer
* added a burst history and current burst trackers, added set and push functions, removed burst calculating in stats (should be done on word completion)
* burst will not be calculated on every keypress
* calculating burst and pushing to history on space
setting start time on first keypress
* verifying that burst history and input history are the same length
* bursthistory typo
added function to calculate burst speed and updated the pushing function to consider if the word was already completed once before
* removed fail condition from timer
* removed debug notification
* added fail condition
* rounding burst
* making sure to load burst config
* styling burst display
* including burst in the result
* renamed variable
* removed burst from result screen, changed wording in settings page
* reran npm i to regenerate package lock in version 2
* audit fix
* gulp update
* added two burst modes: flex and fixed
* standardized some code
* swapped classes
* updated settings page min burst input
updated min burst description
* updated the setting sections with inputs to a new, better design
Co-authored-by: Jack <bartnikjack@gmail.com>