mordak / Term48

50 stars 20 forks source link

Symbol menu on Passport #25

Open ardangelo opened 6 years ago

ardangelo commented 6 years ago

I just tried out Term48 on my Passport and find personally that the "no swipe for symmenu" and "manual shift key toggling" are blockers for my daily use! Both issues could be resolved by completely reimplementing the symmenu (like we have done for Q10). According to this SDK link, we can detect keyboard swipe events purely in C (good, because I've been unsuccessful in getting C++ Cascades code linked in). Not sure how much time I'll have due to school, but I'll be putting the efficiency investigations on hold to get this working.

mordak commented 6 years ago

I don't object to having an option to use a user-defined symmenu instead of the built in one on the Passport, but I have always preferred to go the other way. Ideally, I wouldn't have had to implement the symmenu at all on Q10, but I ended up doing it because the built in one simply didn't work. I would have vastly preferred to use the system symbol menu, which we can do on Passport.

Shift key toggling was way I implemented hold key actions and auto-capitalization. :-)

ardangelo commented 6 years ago

I see where you're coming from (especially having done the work to reimplement the symbol menu)! I'm pretty used to swiping down to open the symbol and then using a physical key to input a symbol, something that doesn't seem possible to trigger inside the app. If we can use stock and still have those features, I'd be happy to go back to the system board. For now, I'm working on feature-parity with the system board.

mordak commented 6 years ago

Sounds good. Detecting keyboard swipe events and controlling the layout on the system vkbd should be doable, but I never worked on it because I don't use that feature elsewhere so am not used to it like you are.

ardangelo commented 6 years ago

Do you have any info on build steps for libSDL? I recall that the app would crash before launching until we replaced the .so with the prebuilt one from the release version. To get SDL to detect keyboard touch events I think patching libSDL is necessary.