GSoC: April 21 - May 04

This is one of the report about my GSoC project and cover the first two weeks of “Community bonding”.

Tax Forms

Tax forms already filled.


Salvador de la Puente González, my mentor, wrote a email to introduce the project to others developers.


I created a metabug to keep track of my project. This should help others developers to follow the project.


This week I started to write the layout (it is available at my math-latex branch).

Screenshot of prototype.

The first set of technical issues that I need to take care off are:

  • the standard layout has 10 columns of keys but I can’t use more than 8 columns for math otherwise some keys will overlap;
  • the height of some keys is great than the standard one, take a closer look at the first key from left to right of the second line;
  • for some keys I need to use HTML in the value field to ensure a properly rendering (e.g., the first key from left to right of the first line) but this make that when I keep pressing the key it shows the HTML.
  • for some keys I want/need to provide a alternative form (e.g, the integral key, ∫, can have as alternative form the contour integral, ∮) but right know the same information to be insert is used for rendering and I need different informations.


Related with user experience, right now the keyboard have four layers:

  • lower alphabetic letters,
  • upper alphabetic letters,
  • numbers and symbols and
  • “alt” symbols.

For the “perfect” math keyboard, available as part of all other keyboards, I need at least more three layers:

  • math symbols,
  • lower Greek letters and
  • upper Greek letters.

How to properly cycle between all this layers is a major priority right now. The options so far are:

  • use the current “layer switch” key,
  • add a extra “layer switch” key and
  • use the “keyboard switch” key (this require not “merge” the keyboard with the others).


Next week I will attend a foss event and meet with others mozillians from Brazil. After the event I want to “solve” the UX issue and fix a small bug to know the patch workflow.