I’m very glad to help you! It is planned that lv_lib_100ask_chinese_ime will be comprehensively updated and released in lv_lib_100ask warehouse recently
Just one question: in China are people usually familiar with pinyin? Can it be considered a standard, well-known input method?
Regarding the next step we have two options:
(the simpler) We can add a link in LVGL’s docs to your repo to let them know about the pinyin_ime option is available.
We merge your widget into LVGL. If we take this way, I’ll have some questions about the need of cJSON, or if it really needs to be a new widget (or just an extension like lv_keyboard_add_pinyin_ime(kb, pinyin) which adds the top bar and a custom event handler).
In China, Pinyin is an important tool for reading Chinese characters, learning Putonghua, and cultivating and improving reading and writing skills. Therefore, Pinyin input method (26 key Pinyin input method) is the most commonly used input method. In addition, there are five stroke input method and Jiugongge input method (9 key Pinyin input method) ,etc.
Among them, the small screen device is more friendly to use the Jiugongge input method, which I will add later.
Great! I think a plugin like implementation (e.g. lv_keyboard_add_pinyin_ime) would be better on the long run.
Would you prefer merging it to LVGL or would you like to keep in in your repo?
If it goes to LVGL we should remove the “100ask” prefix to keep the names simple but of course we can add attribution back to your work in comments and the docs.
I also think that it will be better as a plug-in, and a lot of functions will be added later, such as fuzzy input, associative input, and nine-square grid mode.
On the other hand, each country has its own language input method, and it would be too bloated if they were all incorporated into lv_keyboard. Therefore, it is better to use this Pinyin input method as a reference for the implementation of other input methods.
Finally, I hope to enter your repository below as an extension of lv_keyboard, and I will continue to maintain and upgrade.
And the lv_100ask_pinyin_ime in my previous repo will be deprecated and point to your new repo for pinyin_ime.