Custom keyboard layout, and better language input [suggestion]
-
Hi,
The idea is to be able to design your own keyboard layout. Something like you chose how many key buttons you want (say 30) and then you chose a custom mapping to each key. But you should probably start with a default layout (say the current UT English default) and then you can say you want key X to be mapped to some key of your choice. The way you select the key can either be typed (if you know the keycode from the xev command in terminal, for example) or selected from some default keyboard layout (see picture below but rescaled to fit the screen)
Or maybe just add support for the onboard keyboard application on desktops, I got it from just sudo apt install onboard
So I want to install the ibus-rime package [https://github.com/rime/ibus-rime] and use the jyutping input on that engine, but I failed to even install ibus....
My other problem with the current language settings is that Bulgarian input has two commonly used layouts (traditional phonetic and new phonetic), and I can't choose between them two but can only use one of them.It would be awesome if I could install different ibus or fcitx input methods and then use them to type things. I also do acknowledge that Cyrillic and Latin alphabet inputs need different number of keys, hence my suggestion for a customizable input keyboard above.
The reason I suggest this is that, well this OS is not going to become my daily driver until I can text my mum in Bulgarian with the layout that I am used to. I have a similar issue with the Chinese inputs.... There is also the Chinese stroke input (entering Chinese characters with using only 0-9 keys, used when phones only had about 12-14 buttons) that might need to be incorporated at some point but this seems like far in the future.
ps*
I can find both Bulgarian input layouts if I swipe down and go to the Text Entry settings there, but selecting either layouts does nothing... The only thing that changes the keyboard is in the Settings -> Language place where you can select about 30 language inputs. I don't know if I am being an idiot, do let me know if I am! -
@rayko Hi, with the keyboard showing on screen, did you pressed long the small globe icon from the left bottom corner?
-
@rayko The layouts you saw are for physical keyboards and not for the onscreen keyboard. You can see the available OSK layouts/languages inn
Settings > Language & Text > Keyboard Layouts
. There doesn't seem to be a bulgarian layout though but I believe there's chinese there.As for your suggestion, it seems to be very complicated to implement and with minimal benefits. I think the best way is to implement the layout you want so it would be good to log a feature request in github
-
@kugiigi !
There is a layout for Bulgarian. -
@c0n57an71n Well I don't know how it read
In the physical keyboard layouts, it's called bulgaria so it was easy to confirm -
@kugiigi Thanks for you reply! I did try those Chinese inputs but I am not familiar with them, I can learn them but that's besides the point I was trying to make. It seems a major flaw that I can't use the ibus input engines, and by extension fcitx, that I use on my desktop machine.
The Bulgarian input is ok, but the lack of customization on the keyboard layout seems quite limiting. For example, I like having an extra row of buttons for the numbers so that I don't need to long press [q w e ...] for [1 2 3 ...] and so forth.
Now, besides my petty desire of adding a few more buttons to the input keyboard, there is a general point I want to make. Linux is great for being customizable, you can tweak your desktop to your liking and get the exact workflow that you like. However, on UT I can't change the size of the keys on my keyboard and I am stuck using the layout that the developers thought was the best, which well they have done a really good job! So I probably wouldn't change the settings even if I could but hopefully you get the point. It's not customizable Although adding 4 keys for the up, down, left, right arrows seems cool, to me at least.
Ok, I will go and write a feature request on github, but writing "IBUS support" for a feature request seems a bit strange And I do admit "Customizable keyboard" seems a bit too much work at the current stage of development.
But thanks
-
@c0n57an71n Thanks for your reply! But sadly this is Bulgarian layout that I don't like to use, although it is possible and I not bothered by it, I am just talking about my general thoughts ^.^
-
@rayko While I do agree that customizability is a good thing to have, it can be double edged. Maintaining a software that supports too many customizations will be a nightmare especially with current work force size of UBports. I think it's fine to add customizations here and there but they should be limited. Regarding your concern, I think they can be be solved by implementing more layout options, not necessarily something that the user has to modify themselves.
After all, no one can ever cater to each and every one's liking so usually it'll be a compromise for the general users.
-
@rayko The code for the OSK is here:
https://github.com/ubports/keyboard-component/tree/xenial/plugins/bgYou can modify the qml to improve Bulgarian layout