Actually I register groups when a key is lifted.
You probably typed fast and had P still pressed when A was pressed. I do not yet have a solution to compensate for varying swiftness. These typos could be prevented with a some effort I guess.
The groupings need to happen client side, timing data is not involved at all, only keyDown and keyUp events are used.
Keyboard Layouts should be no problem (except I missed something) since I use key codes rather than values.
Maybe the source also helps answering some questions: https://gitlab.com/FalkF/combopassword/blob/master/app/compo...
A Combo Password should offer more security but I still got to wrap my head around the math. I got a formula from someone helpful with a master degree in math in the stackexchange post: https://math.stackexchange.com/questions/3133516/number-of-p...