Hasn't
KOReader solved those problems?
I asked Steffen Bauer about reducing the time for making something a long press, and he told me he didn't know how to do it. I told him KOReader did it, and then
he saw that KOReader monitored key presses and releases to be able to determine itself whether some press should be long or short.
And of course KOReader has a very pleasant, "programmable", on-screen keyboard, which you might just be able to copy.