https://github.com/aahung/Unshaky
You can set custom timings per key, which is useful for particularly difficult keys.