zxcvbn currently matches against QWERTY, DVORAK, and keypad patterns.
Problems:
The script that generates these maps is clunky. Adding new maps is error-prone.
Only adjacent-key keyboard patterns (eg. "asdfgvc" on QWERTY) are matched. skip-a-key patterns such as "adgj" or "qzwxec" aren't.
Planned changes:
More bundled keyboard layouts, with easier support for including new layouts.
Default (bundled) support for: QWERTY-UK (BS 4822), AZERTY, QWERTZ, JIS, maybe JCUKEN, and other common keyboard layouts. These keymaps are small compared to dictionary size, so I don't see any disadvantage in supporting several common layouts.
Smarter match code, that can catch more types of keyboard patterns.
I'll soon have some time to work on this, and wanted to open the issue to solicit more ideas. Thanks to everyone who has provided input so far and submitted pull requests.
zxcvbn currently matches against QWERTY, DVORAK, and keypad patterns.
Problems:
Planned changes:
I'll soon have some time to work on this, and wanted to open the issue to solicit more ideas. Thanks to everyone who has provided input so far and submitted pull requests.