saber
saber copied to clipboard
Immediate refresh of drawn strokes on ONYX e-ink displays (RawDrawing)
Before submitting an issue, please check the following
- [X] I have searched for similar issues (both open and closed) and cannot find a duplicate
- [X] I agree to follow the Code of Conduct
Motivation
One thing to make writing on e-ink-tablets like ONYX tablets way more comfortable is to update the pen stroke immediately as it is being drawn. This helps during writing, sketching and feels way more natural to the user. With this I'm not refering to the normal "draw to UI"-call but to update the display directly.
With the proposed solution, ONYX users have the ability to use higher quality display modes, which would increase display latency under normal usage (like its currently the case) except for pen strokes which update directly while being drawn.
Solution
If I understand correctly, the onyx-sdk offers the functionality to directly and immediately refresh the display in the area where the pen-stroke is being drawn in.
I think the way to do this, is by using the "RawDrawing"-Mode and using the RawInputCallback to quickly draw a bitmap to the display itself. This could reflect a rough estimate on the display on how the pen-stroke looks, that can be fully updated once the penis lifted from the display. The official OnyxAndroidDemo project does this somewhat similarly.
Notable is another app that is specifically build for ONYX tablets that also utilizes the RawDrawing-mode. The official OnyxAndroidDemo project may also have a demo on how to refresh it immediately, but unfortunately,
Alternatives
No response
Saber version
0.21.2 GooglePlay (21020)
Device
- Device: ONYX BOOX Tab Ultra
- OS: Android 11
Anything else?
No response
This seems the same as what we currently have in OnyxsdkPenArea.kt.
You may be referring to how the screen doesn't fully refresh for 1s after you draw with the pen. This is intentional:
1.0.2 Refresh the screen after 1s (default). This fixes the issue where after writing with the pen, the screen wouldn't respond to your finger.
You're free to submit PRs if you can improve the implementation, but I no longer have an Onyx device to test any further development
This seems the same as what we currently have in OnyxsdkPenArea.kt.
Oh, I have completely missed that, sorry!
You may be referring to how the screen doesn't fully refresh for 1s after you draw with the pen. This is intentional
Ahh, not quite. The intentional fix you've mentioned seems to be referring to the screen refresh after pen inactivity. This would coincide with the refreshing I have observed in the current version of the app (but I may be completely mistaken, it's just my understanding).
I've meant the immediate refresh while drawing.
Currently, it is completely dependent on the screen refresh mode:
Noteable, for example, doesn't care for the refresh mode
You're free to submit PRs if you can improve the implementation, but I no longer have an Onyx device to test any further development
Understandable and fair! Maybe this will be THE push for me to get into android app development... 😉
When I had my onyx boox note air2, it worked like the notable app did in your gif (https://github.com/saber-notes/saber/issues/186) @ma-con Is it still working for you?
Can you confirm you downloaded Saber from the Play Store and not somewhere else like F-Droid?
When I had my onyx boox note air2, it worked like the notable app did in your gif (https://github.com/saber-notes/saber/issues/186)
Hmmm, weird. 🤔
Can you confirm you downloaded Saber from the Play Store and not somewhere else like F-Droid?
Yeah, I got it from the play store:
I really want to rule out user error, before I dive into a self learning course for Android development. Are there any accessible settings that could affect this? Otherwise, Android Studio is downloading in the background... ;)
I have an Onyx Boox Note Air 2 Plus and Saber installed from Google Play. Saber used to have fast pen strokes but that hasn't worked for several months by now. I cannot remember which update broke this, but I can confirm (or at least give one more data point) that the fast pen strokes are not working anymore on Onyx Boox devices.
I have an Onyx Boox Note X3s and Saber installed from Github. The fast pen strokes are not working anymore on Onyx Boox devices. And when i was writing the whole screen would refresh but not the writing part. Hope we can fix it.
As I am new to programming in dart (and flutter & kotlin for that matter) I am only slowly starting to understand how things are handled. Unfortunately, I cannot get the required OnyxpenSDK module running in flutter on my end. Something about how no module repo (maven, google, etc. ) is able to serve the referenced libraries. I think I am too inexperienced to get it working myself for now...
As I am new to programming in dart (and flutter & kotlin for that matter) I am only slowly starting to understand how things are handled. Unfortunately, I cannot get the required OnyxpenSDK module running in flutter on my end. Something about how no module repo (maven, google, etc. ) is able to serve the referenced libraries. I think I am too inexperienced to get it working myself for now...
That's all right. We are lucky to have Saber. It's enough for now.
I have Saber version 0.24.1 installed now and the instant stroke feature on my Onyx Note Air 2 plus is working again!
I have Saber version 0.24.1 installed now and the instant stroke feature on my Onyx Note Air 2 plus is working again!
Glad to hear it!
Just wanted to add: works on Boox Tab Ultra again too! thank you! @adil192 for the patch!
I experience the exact same issue described here with an ONYX BOOX Go 10.3 both with version 0.24.4 (F-Droid) and with version 0.24.5 (Play Store). The OS on this device is Android 12. Please let me know if I can provide any other information.
I am facing this issue as well with the same device, using the current version from github 0.24.7
(the non FOSS that should contain onyx-sdk
). Maybe the problem is that the lib is not up-to-date?
Should we open another issue given that the original one was fixed?