it uses dichotomic splitting though
[1] https://github.com/rvaiya/warpd
[2] https://github.com/petoncle/mousemaster
it uses dichotomic splitting though