Keyman; Why still age old icon support?

I have used Keyman Developer 5 when my main OS was Windows. Now, though I made my own XKB keyboard and happy with it, I am using Keyman Developer 12 to make keyboards for those who still Windows.

However, I am surprised to note that the same old icon editor support from TIKE 5 persists in Keyman 12. Why not remove the icon editor feature altogether since we don’t need to duplicate image editing functionality better available elsewhere, and just allow to specify the icon PNG file name.

BTW I tried to do this by including store(&bitmap) directly, but found that full-colour PNGs aren’t supported either. This is a big minus in this day and age IMHO.

I hope this situation can be remedied.

Hi Shriramana,

Thank you for the feedback.

This is quite technical and I am not fully understand what you are trying to get at here. The current icon editor allows users to import bitmap file with 16x16 pixels.

.ico files have one advantage over .png files (this is the only advantage, really): they support multiple resolutions in a single file.

Keyman does support multi-resolution .ico files for high DPI screens. If we wanted to support .png files, then we would need to support multiple .png files for the various resolutions. This is certainly a feature we could add (and I would personally like, as .ico is a bit of a platform-specific format, really, favicon aside), but it would probably be low priority given that it doesn’t add new functionality to the desktop apps.

All that said, the icon editor built into Keyman Developer is intended as a basic tool to round out the functionality so that keyboard developers can build a keyboard without needing to install additional tools. I would expect advanced users to be developing icons with their own tools and specifying them in the store(&bitmap) statement. (There are a number of online tools for generating .ico files in multiple resolutions).

There would be no benefit in removing the .ico editor!


I used favicon-generator to try to create .ico files in multiple resolutions, and it gave me a folder with one .ico file and a bunch of different-sized PNGs (along with a ‘browserconfig.xml’ and ‘manifest.json’). It also came with some html that it said to put in the head of the HTML document (assuming that I’m using it for a web page), which seemed to just be references to all the PNGs and the json doc in the folder.

What exactly needs to go in my Keyman project? Is it just the .ico, or do I somehow reference the rest of the files? Or did I totally do it wrong in the first place?


@Matt_A, you should only need the .ico file. All the other files are used for websites.