maliit / keyboard

Maliit Keyboard, a free software virtual keyboard for Linux
GNU General Public License v3.0
139 stars 34 forks source link

How to add alternative layouts (e.g. Dvorak or equivalent) #18

Open ariasuni opened 3 years ago

ariasuni commented 3 years ago

I’d like to add the Bépo (Dvorak-like for French) keyboard layout to this project. Looking quickly at the source code, it seems there is one keyboard layout per language/locale.

jpetersen commented 3 years ago

Yes I think you would need to add a language variant (fr_bepo ?) for it right now.

It would be nice to have the layout more flexible instead of "hard coded" into QML to make it easier. But we do not have that right now.

spacekookie commented 3 years ago

@jpetersen I've just had a look at the QML files and couldn't actually find where the language specific layouts are defined. Could you point me at some files to look at? (I was gonna just change the layouts and build a variant with dvorak for myself)

ariasuni commented 3 years ago

You can find, for example, the French layout at plugins/fr/qml/Keyboard_fr.qml.

dobey commented 2 years ago

The Lomiri keyboard (continuation of ubuntu-keyboard project) has an en@dv abstract layout. You can see how it's added in #60 where I've started merging that code into maliit keyboard, and add a fr@bepo layout.

jbaker0428 commented 5 months ago

I'm working on a Colemak (en@co) abstract layout. I'm trying to go by the Dvorak merge commit https://github.com/maliit/keyboard/pull/60/commits/0b1ffc431d2c0c37eadfd7c7a36c446363a93f44 in #60 but that shows some extra files that aren't in the current repo. My fork of current master is missing a debian folder, plugins/en@dv/en@dv.pro, plugins/en@dv/qml/qml.pro, plugins/en@dv/src/src.pro, and plugins/plugins.pro. Is that correct? Looks like there was maybe an architectural change to how plugins work somewhere along the way, but I'm not having any luck finding the matching commit history to confirm that.

dobey commented 5 months ago

Is that correct?

Yes. The lomiri-keyboard source still uses qmake (hence the .pro files), while maliit-keyboard was converged to CMake some time ago.