Summer of Pinephone: Week 4

A few weeks ago, I mentioned that rather than implementing the virtual keyboard protocol, I would instead implement the input method protocol. That is what I spent much of this week doing. The majority of the work took place in swc, where the input method and text input protocols needed to be implemented. For the sake getting it working, my input method implementation only allows for one input method to be registered at a time. I think in the future, I will make swc start and kill input methods as needed, so extraneous processes aren't running. To test the procotols, I added input method support to svkbd, and text input support to oasis's Wayland port of st.

I also worked on shaping up the AT daemon in preparation for next week, which will probably consist of writing a phone app or possibly a simple SMS app. I was able to make my first phone call using a small program that I wrote which essentially acts as a direct interface to the AT TTY, and using this call-audio program. I was also able to send my first texts this week using the AT interface. My understanding is that calls and texts will be pretty easy, but MMS (media and group text) will be much more difficult, as there is poor support in existing PinePhone distributions.

In lieu of a video demonstration of this week's progress, I uploaded the source code for my modified swc, st and svkbd (check the mobile branch). This was mostly because I was too lazy to take a video, and I figure at this point it's a good idea to have an online backup of my work so far. Be forewarned: the histories will likely be rewritten. If I had uploaded a demo, it would just have been me switching between two st windows, and entering text into them using svkbd.