-
Notifications
You must be signed in to change notification settings - Fork 23
Fix multitouch handling to fix onscreen keyboard handling #298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@X-Ryl669 would you be able to test this? One thing to be aware of, is that this has some breaking changes from the stable 2.5 that would make going back not work quite right. A bunch of settings have been moved to the shared settings file. You may want to back up the |
|
Ok, I've tested this PR (it was a journey by itself), and it still doesn't work. Instead of jumping to the full launcher page, I now get a icon roll on the bottom of the screen containing only Xochitl. Also, the battery level in the launcher is not the same as the battery level reported by xochitl (71% vs 68% if it's of any use) |
Oh, I guess that might be due to switching to toltecmk, so installib is no longer available. I'll have to source it manually. I wonder why nobody else has reported that when testing PRs for me.
This is the application switcher, you can get to it by swiping up from the bottom of the screen.
Xochitl reports the battery as being 0% when there is still around 10% available. I'm just reporting the raw percentage that sysfs outputs.
It being harder to reproduce is at least better. Could you get some logs with DEBUG=1 when you reproduce it to see what is happening? |
|
Please refer to the issue page, I've posted more logs and a patch that fixed the issue for me. |
That's what I did, I've followed the README to create a package and ended up with plenty of ipk files I had to install. But it failed, so I did a opkg update and an opkg upgrade. And then it failed in the upgrade, it upgraded Yet, when trying to install tarnish, the postinst script fails so I guess there are missing dependencies like you said. |
| } | ||
| auto touch = touches.first(); | ||
| if(swipeDirection != None){ | ||
| if(swipeDirection != None || touch->x == NULL_TOUCH_COORD || touch->y == NULL_TOUCH_COORD){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tried this at first, but this fails (some event are missed).
If the event was complete, then the code would generate a DOWN event.
The next report then would generate a MOVE event.
Typically, what happens is that an incomplete touch is received for slot 0 (for example, missing X).
If you don't ignore it in the SYN_REPORT handler, then a DOWN event is generated (it goes to the pressed list).
Then when the complete event is received, a MOVE event is generated while it should be a DOWN event.
So for small sampling, where you'd get DOWN, MOVE, UP from the driver, it's actually treated as DOWN, MOVE, MOVE, UP, with the first DOWN having a invalid position so it'll never be treated as a swipe with this patch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The result is that when you swipe from the bottom of the screen, it doesn't trigger Oxide's launcher anymore, the log are full of "Swipe cancelled" (well with my previous patches, it was ;-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gotcha, I'll just need to fabricate the touchDown call when the X or Y was NULL_TOUCH_COORD and the next event is a move that fills it in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't my (last) patch worked ?
It's simply patching inside the SYN_REPORT case to ignore it, so everything else works as expected.
It's not dealing with lists so it shouldn't require fixing the malloc stuff size either.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While your patch may work, I'd rather use the modified and existing flags that I implemented the way I intended for them to be used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, I only set existing if it's a valid event, which will force touchDown handling instead of skipping the touchMove.
|
Build artifact doesn't work either (tested before the last commit). |
:( Alright, I'll have to fix the build to add install-lib somehow. |
|
@X-Ryl669 have you had a chance to test the latest build? |
|
@X-Ryl669 poke? |
|
Sorry Nathaniel, I forgot to test it. I'll fetch it on Monday and let you know. |
|
Ok, I've removed my packages and installed yours. I wasn't able to reproduce the issue, so it's a clear success! |
|
Awesome! Time to merge the PR! |

No description provided.