espruino / BangleApps

Bangle.js App Loader (and Apps)
https://banglejs.com/apps
MIT License
498 stars 1.17k forks source link

EdgeWrite keyboard #3618

Closed retcurve closed 1 month ago

retcurve commented 1 month ago

Keyboard that implements the EdgeWrite system https://depts.washington.edu/ewrite/

thyttan commented 1 month ago

This is really cool - thanks!

I have some suggestions:

These are not a requirement. I can merge now if you want? or wait if you want to add anything.

retcurve commented 1 month ago

@thyttan I did originally use require("widget_utils").hide()/.show() but decided against it in the end in case the calling app had hidden the widget bar - didn't want the keyboard to force it back on if it shouldn't be there. But thinking about it reading Bangle.appRect before hiding the bar will indicate if the bar needs to be shown on exit so I'll add that now.

thyttan commented 1 month ago

The readme says word level stroking doesn't work. I wonder if that's outdated? I can do e.g. word forward/backward, home, end.

Please just say if you want me to merge!

retcurve commented 1 month ago

Word level stroking is an extension to the basic edgewrite system that does a kind of word autocompletion. The idea is that after a letter stroke is completed the 4 most likely words based on frequency are shown and some kind of extension to the stroke selects one of the words. I'm not sure yet if this will be practical on a small screen like the Bangle which is why I haven't implemented it.

This PR is good to merge now, thanks.

thyttan commented 1 month ago

Thanks again!

thyttan commented 1 month ago

P.s. would love accents so umlauts became possible!