PDA

View Full Version : Keyboard layouts for Jolla's Sailfish OS


Pages : [1] 2

Bundyo
2013-12-02, 21:50
So, it is that time of the year again - Jolla's Sailfish OS seems to be shipping with 12 languages/keyboard layouts only and its up to us to create the additional ones we need.

Bulgarian Phonetic

Obligatory screenshot:
http://bundyo.org/jolla/layouts/jolla_bg_layout.png

RPM file (install with a file manager or with zypper/pkcon-local in Terminal):
http://bundyo.org/jolla/layouts/bulgarian_phonetic_keyboard-0.1-1.noarch.rpm
Updated RPM with fixed predictions in Sailfish OS 1.0.5.16:
http://bundyo.org/jolla/layouts/bulgarian_phonetic_keyboard-0.2-1.noarch.rpm


If you prefer manual installation:
Layout file:
http://bundyo.org/jolla/layouts/bg.qml

BG conf file (no need to modify the layouts.conf, as it gets replaced on updates and all conf files in the layouts folder get parsed by the server):
http://bundyo.org/jolla/layouts/bg.conf

For now both go to (dunno the user location yet):
/usr/share/maliit/plugins/com/jolla/layouts/

and just restart afterwards. You can also do
systemctl --user restart maliit-server.service
as a user or just
killall maliit-server
as root.

Greek layout by qwazix here (http://talk.maemo.org/showpost.php?p=1397706&postcount=25)

Czech qwertz & qwerty layouts by Kaacz here (http://talk.maemo.org/showpost.php?p=1399320&postcount=30)

Catalan layout by fri here (http://talk.maemo.org/showpost.php?p=1399884&postcount=36)

French-Swiss layout by Jordi here (http://talk.maemo.org/showpost.php?p=1400662&postcount=54)

Hungarian layout with arrows by cstom here (http://talk.maemo.org/showpost.php?p=1400743&postcount=57)

Hungarian QWERTZ layout by Venemo here (http://talk.maemo.org/showpost.php?p=1401011&postcount=68)

Latvian layout by ajajaij here (http://talk.maemo.org/showpost.php?p=1401254&postcount=70)

Estonian layout by cstom here (http://talk.maemo.org/showpost.php?p=1402798&postcount=80)

French "ergonomic" layout fr-bépo by RbN here (http://talk.maemo.org/showpost.php?p=1404902&postcount=90)

Arabic layout by MSameer here (http://talk.maemo.org/showpost.php?p=1405478&postcount=91)

Colemak layout by notconfusing here (https://github.com/notconfusing/jolla-colemak/blob/master/en_colemak.qml)

Hebrew layout by Schturman here (http://talk.maemo.org/showpost.php?p=1408245&postcount=106)

German layout with arrows and other enhancements by anyone here (http://talk.maemo.org/showpost.php?p=1411243&postcount=152)

Croatian layout by igor_b here (http://talk.maemo.org/showpost.php?p=1415931&postcount=177)



Solution for accents with multiple dead keys by Venemo here (http://talk.maemo.org/showpost.php?p=1401005&postcount=67)

RPM packages for many of the layouts in this thread made available in Open Repos by Penguin. More here (http://talk.maemo.org/showpost.php?p=1416030&postcount=179)

I can add more layouts to the thread, until we properly package them and submit them to the Jolla Harbour, you can post them below.

Dave999
2013-12-02, 21:52
Any way to add arrows?

Silwer
2013-12-02, 22:06
Can the Mesinput ones be used? For example: http://www.mesinput.com/viewlayouts/layout/426014

Bundyo
2013-12-02, 22:07
Hmm, arrows functionality doesn't seem to be exposed directly, but since the whole thing is in QML, I suspect arrow keys would be quite possible...

kollin
2013-12-02, 22:07
So, it is that time of the year again - Jolla's Sailfish OS seems to be shipping with 12 languages/keyboard layouts only and its up to us to create the additional ones we need.

Here is the first layout - Bulgarian Phonetic.


For now goes to (dunno the user location yet):
/usr/share/maliit/plugins/com/jolla/layouts/

You should also modify the layouts.conf at the same location and add the Bulgarian layout description:

[bg.qml]
name=Български
languageCode=BG

and restart afterwards.

I can add more layouts to the thread, until we properly package them and submit them to the Jolla Harbour, you can post them below.

Thank you!
Arrows and ctrl key for copy and paste would be nice, if it's possible!
Thaks god this is not БДС layout! :D

Bundyo
2013-12-02, 22:09
Can the Mesinput ones be used? For example: http://www.mesinput.com/viewlayouts/layout/426014

Doesn't seem so, as the new layouts are in QML and the MesInput ones in XML. I guess someone from Jolla can confirm/deny this.

Bundyo
2013-12-02, 22:18
Thank you!
Arrows and ctrl key for copy and paste would be nice, if it's possible!
Thaks god this is not БДС layout! :D

I'll see about the arrows, but copy paste buttons are shown on the top of the keyboard anyway when you select something, so no need for that.

justadude
2013-12-02, 22:58
Any plans of a swype layout for the keyboard? Thanks

gsalone
2013-12-03, 06:31
Don't forget Greek layout :-)

droll
2013-12-03, 07:27
swype is more than just a layout. there's quite some logic going on in the background to process the swipes you make (you can read the patent filing here -> http://www.freepatentsonline.com/7453439.pdf)

Schturman
2013-12-03, 08:31
Bundyo, can you share the original EN file please. I want create Hebrew vkb.
Thanks

Bundyo
2013-12-03, 09:59
Here you are:
http://bundyo.org/jolla/layouts/en.qml

juiceme
2013-12-03, 10:19
I'll see about the arrows, but copy paste buttons are shown on the top of the keyboard anyway when you select something, so no need for that.

Actually, if you go to for example here in TMO and reply to a posting, you cannot select/copy/paste anything in the text editor window of the browser. Hence, arrows would be extremely useful!

Bundyo
2013-12-03, 12:53
Yeah, would probably help :D (also the arrows should be able to work with shift pressed). This however is a browser bug and would probably be fixed. Actually the browser does have quite a few bugs, I wonder if they have a public bug tracker for it...

Schturman
2013-12-03, 20:13
Here you are:
http://bundyo.org/jolla/layouts/en.qml

Thank you, please can you post screenshot of english vkb, like you post on the first post.
Thanks

salyavin
2013-12-09, 19:02
Japanese I could use, I wonder of the add on from N9 could be ported or even just be repackaged.

ZogG
2013-12-09, 19:06
Bundyo, can you share the original EN file please. I want create Hebrew vkb.
Thanks

AFAIK there is no hebrew/arabic support yet, as it needs fonts and RTL support

Schturman
2013-12-09, 19:29
Yep.. :( Bundyo already checked...

MSameer
2013-12-09, 23:01
AFAIK there is no hebrew/arabic support yet, as it needs fonts and RTL support

Fonts are there. droid sans Arabic and droid sans Hebrew :)

I don't know Hebrew but browser renders Arabic without issues and I think it should be fine for Hebrew too.

However sailfish native apps show Arabic text as squares. I think this is a fontconfig issue but I am yet to get to the bottom of it.

I also assume Hebrew will have the same issues but I haven't tried.

RTL as in mirroring the UI (I am a native Arabic speaker so I know what RTL is) but I am not sure what's meant by it in this context ?

Bundyo
2013-12-10, 04:57
Probably writing from right to left in input fields?

Also, when I tested, the keyboard showed the hebrew characters as squares, maybe it uses different font by default? Can we change the font in the QML layout file?

Schturman
2013-12-10, 05:34
Bundyo, thanks for tests..
If someone else want to test Hebrew vkb, here is a files:
https://dl.dropboxusercontent.com/u/17706605/Jolla1/he.qml
https://dl.dropboxusercontent.com/u/17706605/Jolla1/he2.qml

ZogG
2013-12-10, 08:00
Fonts are there. droid sans Arabic and droid sans Hebrew :)

I don't know Hebrew but browser renders Arabic without issues and I think it should be fine for Hebrew too.

However sailfish native apps show Arabic text as squares. I think this is a fontconfig issue but I am yet to get to the bottom of it.

I also assume Hebrew will have the same issues but I haven't tried.

RTL as in mirroring the UI (I am a native Arabic speaker so I know what RTL is) but I am not sure what's meant by it in this context ?

It as discussed with sailors on IRC, as well there is difference between browser and system. I have sailfish on n950 and mails with hebrew do not display any hebrew :\

MSameer
2013-12-10, 11:18
Probably writing from right to left in input fields?

Also, when I tested, the keyboard showed the hebrew characters as squares, maybe it uses different font by default? Can we change the font in the QML layout file?

I can write Arabic fine (Did not try much) so there is still something I don't understand.

The issue with Hebrew is seems to be related to the Arabic issue too.

Droid sans hebrew and droid sans arabic are both being "merged" into droid sans family by fontconfig. Silica uses another font which is assigned explicitly via font.fontFamily

I noticed that arabic shows fine if I install another font OR if I remove the fontconfig family merging XML snippet.

I am yet to understand why this is happening. If someone can dig then please do too :)

It as discussed with sailors on IRC, as well there is difference between browser and system. I have sailfish on n950 and mails with hebrew do not display any hebrew :\

Seems I have missed that discussion. Who did you talk to?

I am not surprised here because browser does its own rendering

ZogG
2013-12-10, 18:17
I can write Arabic fine (Did not try much) so there is still something I don't understand.

The issue with Hebrew is seems to be related to the Arabic issue too.

Droid sans hebrew and droid sans arabic are both being "merged" into droid sans family by fontconfig. Silica uses another font which is assigned explicitly via font.fontFamily

I noticed that arabic shows fine if I install another font OR if I remove the fontconfig family merging XML snippet.

I am yet to understand why this is happening. If someone can dig then please do too :)



Seems I have missed that discussion. Who did you talk to?

I am not surprised here because browser does its own rendering

i think it was "special"
We were told that there is ticket for that, as well as arabic would be little bit more difficult than hebrew coz of kerning (i'm noobie so not sure what is what and who is who :) )

qwazix
2013-12-17, 15:48
Ελληνικά


import QtQuick 2.0
import ".."

KeyboardLayout {
KeyboardRow {
CharacterKey { caption: ";"; captionShifted: ":"; symView: "1"; symView2: "€" }
CharacterKey { caption: "ς"; captionShifted: "€"; symView: "2"; symView2: "£" }
AccentedCharacterKey { caption: "ε"; captionShifted: "Ε"; symView: "3"; symView2: "$"; accents: "έ"; accentsShifted: "Έ"; deadKeyAccents: "´έ"; deadKeyAccentsShifted: "´Έ" }
CharacterKey { caption: "ρ"; captionShifted: "Ρ"; symView: "4"; symView2: "¥" }
CharacterKey { caption: "τ"; captionShifted: "Τ"; symView: "5"; symView2: "₹" }
AccentedCharacterKey { caption: "υ"; captionShifted: "Υ"; symView: "6"; symView2: "%"; accents: "ύϋΰ"; accentsShifted: "Ϋ"; deadKeyAccents: "´ύ"; deadKeyAccentsShifted: "´Ύ" }
CharacterKey { caption: "θ"; captionShifted: "Θ"; symView: "7"; symView2: "<"; }
AccentedCharacterKey { caption: "ι"; captionShifted: "Ι"; symView: "8"; symView2: ">"; accents: "ίϊΐ"; accentsShifted: "ΊΪ"; deadKeyAccents: "´ί"; deadKeyAccentsShifted: "´Ί" }
AccentedCharacterKey { caption: "ο"; captionShifted: "Ο"; symView: "9"; symView2: "["; accents: "ό"; accentsShifted: "Ό"; deadKeyAccents: "´ό"; deadKeyAccentsShifted: "´Ό" }
CharacterKey { caption: "π"; captionShifted: "Π"; symView: "0"; symView2: "]" }
}

KeyboardRow {
AccentedCharacterKey { caption: "α"; captionShifted: "Α"; symView: "*"; symView2: "`"; accents: "ά"; accentsShifted: "Ά"; deadKeyAccents: "´ά"; deadKeyAccentsShifted: "´Ά" }
CharacterKey { caption: "σ"; captionShifted: "Σ"; symView: "#"; symView2: "^" }
CharacterKey { caption: "δ"; captionShifted: "Δ"; symView: "+"; symView2: "|" }
CharacterKey { caption: "φ"; captionShifted: "Φ"; symView: "-"; symView2: "_" }
CharacterKey { caption: "γ"; captionShifted: "Γ"; symView: "="; symView2: "§" }
AccentedCharacterKey { caption: "η"; captionShifted: "Η"; symView: "("; symView2: "{"; accents: "ή"; accentsShifted: "Ή"; deadKeyAccents: "´ή"; deadKeyAccentsShifted: "´Ή" }
CharacterKey { caption: "ξ"; captionShifted: "Ξ"; symView: ")"; symView2: "}" }
CharacterKey { caption: "κ"; captionShifted: "Κ"; symView: "~"; symView2: "°" }
CharacterKey { caption: "λ"; captionShifted: "Λ"; symView: "!"; symView2: "¡" }
DeadKey { id: deadKey; caption: "´"; captionShifted: "¨";}
}

KeyboardRow {
ShiftKey {}

CharacterKey { caption: "ζ"; captionShifted: "Ζ"; symView: "@"; symView2: "«" }
CharacterKey { caption: "χ"; captionShifted: "Χ"; symView: "&"; symView2: "»" }
CharacterKey { caption: "ψ"; captionShifted: "Ψ"; symView: "/"; symView2: "÷"}
AccentedCharacterKey { caption: "ω"; captionShifted: "Ω"; symView: "\\"; symView2: "“"; accents: "ώ"; accentsShifted: "Ώ"; deadKeyAccents: "´ώ"; deadKeyAccentsShifted: "´Ώ" }
CharacterKey { caption: "β"; captionShifted: "Β"; symView: "\""; symView2: "”" }
CharacterKey { caption: "ν"; captionShifted: "Ν"; symView: ";"; symView2: "„"}
CharacterKey { caption: "μ"; captionShifted: "Μ"; symView: ":"; symView2: "·" }

BackspaceKey {}
}

KeyboardRow {
SymbolKey {
width: symbolKeyWidthNarrow
}
CharacterKey {
caption: "'"
captionShifted: "'"
width: punctuationKeyWidthNarrow
fixedWidth: true
}
CharacterKey {
caption: ","
captionShifted: ","
width: punctuationKeyWidthNarrow
fixedWidth: true
separator: false
}
SpacebarKey {
fixedWidth: true
}
CharacterKey {
caption: "."
captionShifted: "."
width: punctuationKeyWidthNarrow
fixedWidth: true
separator: false
}
EnterKey {}
}
}

qwazix
2013-12-18, 18:37
If you want to switch quick between two layouts, insert this

KeyBase {
Image{
source: "globe.png";
anchors.centerIn: parent;
}
onClicked: {canvas.layoutRow.switchLayout(0); canvas.updateIMArea()}
width: punctuationKeyWidthNarrow
}


in your spacebar row in both layouts you want. Don't forget to change the number to your target layout in each one.

I'm sure it can be automated so that it can be inserted once in the SpaceBarRow.qml and toggle between any two layouts, but it works for me as is, so I'm leaving the better implementation as an exercise for the reader :-P

Nikos Alexandris
2013-12-20, 12:01
Don't forget Greek layout :-)

+1 | 2nd Greek User :-)

cquence
2013-12-20, 14:19
What did you use to edit the layouts.conf file? I copied the file across to the phone's "documents" folder and tried to open it with a text editor from the PC without success...

Kaacz
2013-12-21, 00:24
?!? layouts.conf is simple unix text file. I use Linux on PC, I am happy... Same end of line, same UTF-8 code base. :)

PS: i hate when people say something as "I use PC" without OS specification. Not, for me not PC==Windows. PC is HW for many OS. :)

Kaacz
2013-12-21, 02:02
Now I create Czech qwerty layout with two deadkeys, near same as I have on N9/Harmattan. I found bug in 'AccentedCharacterKey.qml'. Or I don't know how is right way to define deadKeysAccents for more then one deadkey. :p

I make little patch:


// original code - i don't know what is mean ..
// property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr(_deadAccentIndex*2+1, 1) : ""

// code for definition deadKeyAccents: "´éˇě"
// property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr(_deadAccentIndex+1, 1) : ""

// code for definition deadKeyAccents: "´ˇéě"
property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr((_deadKeyAccents.length/2)+_deadAccentIndex, 1) : ""


https://together.jolla.com/question/843/bug-maliit-definition-for-more-then-one-deadkey/

Second version Czech qwertz & qwerty vkb with two deadkeys here as example
(second release with own files to avoid collision with originals):

Look at Screenshots (https://dl.dropboxusercontent.com/u/101792009/Jolla/VKB/maliit/Jolla/layout/Layout_CZY.jpg) :)

Put to dir /usr/share/maliit/plugins/com/jolla this:
- AccentedCharacterKey2.qml (https://www.dropbox.com/s/uqyokdl6y3ns5ik/AccentedCharacterKey2.qml) patched for more then one deadkey
- DeadKey2.qml (https://www.dropbox.com/s/rero73swtmezly0/DeadKey2.qml) with better recognition on layout.

Put to dir /usr/share/maliit/plugins/com/jolla/layouts this:
- cz.qml (https://www.dropbox.com/s/3kbg36393fynqnr/cz.qml)
- cz_qwerty.qml (https://www.dropbox.com/s/az43mdxkprv1r7o/cz_qwerty.qml)
- 1_custom_czech.conf (https://www.dropbox.com/s/96xfqhprex5ayhi/1_custom_czech.conf) file (no need to edit original layouts.conf, maliit load any .conf file in this dir).

Edit 2014-01-15: fixed cz layout and move some spec chars in both layouts .. improved DeadKey look.
Edit 2014-01-22: created own *2.qml files to avoid conflict with original, created own 'layout.conf'.

Edit: 2014-01-31: fixed cz.qml (qwertz) layout to proper use AccentedCharacterKey2.qml (fixed version).
Bug for more deadkeys still not fixed in update 1.0.3.8.

J4ZZ
2013-12-21, 02:54
Hi there,

I just wanted to ask if we can also add/collect layouts for terminal here.
I can only choose between english and finnish layout for terminal. But I really would love to have my qwertz keyboard back. ;)

Regards

J4ZZ

Bundyo
2013-12-21, 07:16
Hi there,

I just wanted to ask if we can also add/collect layouts for terminal here.
I can only choose between english and finnish layout for terminal. But I really would love to have my qwertz keyboard back. ;)

Regards

J4ZZ

Sure, if someone contributed them. I'll edit the first post later today.

czdosi
2013-12-21, 15:35
Now I create Czech qwerty layout with two deadkeys, near same as I have on N9/Harmattan. I found bug in 'AccentedCharacterKey.qml'. Or I don't know how is right way to define deadKeysAccents for more then one deadkey. :p

I make little patch:


// original - i don't know what is mean ..
// property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr(_deadAccentIndex*2+1, 1) : ""

// for definition deadKeyAccents: "´ˇéě"
property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr((_deadKeyAccents.length/2)+_deadAccentIndex, 1) : ""


First version Czech qwertz & qwerty vkb with two deadkeys here as example:

https://www.dropbox.com/s/3kbg36393fynqnr/cz.qml
https://www.dropbox.com/s/az43mdxkprv1r7o/cz_qwerty.qml

added to layouts.conf:
https://www.dropbox.com/s/9r1oiyu8p30ahyr/layouts.conf

and AccentedCharacterKey.qml patched for more then one deadkey:
https://www.dropbox.com/s/58mruc40se41huc/AccentedCharacterKey.qml

Screenshots:
https://www.dropbox.com/s/l6tpseufxjhvkak/20131221030722.png
https://www.dropbox.com/s/8u7hjusmlljvzaq/20131221030733.png

Hi Kaacz! :-) I think that original idea was to store accents like key => value array. So accent should be before accented char.

deadKeyAccents: "´éˇě"


But there is probably bug in AccentedCharacterKey.qml -- "*2" shouldn't be there.

// Original: property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr(_deadAccentIndex*2+1, 1) : ""
property string _accentedText: _deadAccentIndex > -1 && !keyboard.inSymView ? _deadKeyAccents.substr(_deadAccentIndex+1, 1) : ""


Which works nicely. :-)

My changed files are there: https://drive.google.com/folderview?id=0B9T3FUohKYvVZUNKQWRMU3BlbVE&usp=drive_web

matimilko
2013-12-22, 08:33
Any plans of a swype layout for the keyboard? Thanks

I'm also waiting for SWYPE. After N9 with swype for two years is now all writing like hard work ...

Bundyo
2013-12-22, 19:55
FingerTerm default layouts:
http://www.bundyo.org/jolla/layouts/FingerTerm/

they go to ~/.config/FingerTerm/

fri
2013-12-23, 10:18
Hi,

here's my version for a catalan layout (copy this file ca.qml in /usr/share/maliit/plugins/com/jolla/layouts/):

http://ubuntuone.com/7Bz8nNQLec0EIfnf7MRGsV

and remember to add this lines for the layouts.conf file:


[ca.qml]
name=Català
languageCode=CA


it has [ç] and apostrophe ['] as main keys, and a preference for [à] accent. Also, hold apostrophe to get [-]. Also, hold [L] to get [·] (punt volat) to write correctly the [l·l] phoneme :D

And another question: Has anyone figured out how to tweak the whole dictionary to get predictive text in any language we want?

rventura
2013-12-24, 05:50
Installed! Thanks fri!

Hi,

here's my version for a catalan layout (copy this file ca.qml in /usr/share/maliit/plugins/com/jolla/layouts/):

http://ubuntuone.com/7Bz8nNQLec0EIfnf7MRGsV

and remember to add this lines for the layouts.conf file:


[ca.qml]
name=Català
languageCode=CA


it has [ç] and apostrophe ['] as main keys, and a preference for [à] accent. Also, hold apostrophe to get [-]. Also, hold [L] to get [·] (punt volat) to write correctly the [l·l] phoneme :D

And another question: Has anyone figured out how to tweak the whole dictionary to get predictive text in any language we want?

Bundyo
2013-12-24, 07:37
And another question: Has anyone figured out how to tweak the whole dictionary to get predictive text in any language we want?

Did you manage to find it? I couldn't, at least yet.

Nikos Alexandris
2013-12-24, 09:31
Ελληνικά


import qtquick 2.0
import ".."

keyboardlayout {
keyboardrow {
characterkey { caption: ";"; captionshifted: ":"; symview: "1"; symview2: "€" }
characterkey { caption: "ς"; captionshifted: "€"; symview: "2"; symview2: "£" }
accentedcharacterkey { caption: "ε"; captionshifted: "Ε"; symview: "3"; symview2: "$"; accents: "έ"; accentsshifted: "Έ"; deadkeyaccents: "´έ"; deadkeyaccentsshifted: "´Έ" }
characterkey { caption: "ρ"; captionshifted: "Ρ"; symview: "4"; symview2: "¥" }
characterkey { caption: "τ"; captionshifted: "Τ"; symview: "5"; symview2: "₹" }
accentedcharacterkey { caption: "υ"; captionshifted: "Υ"; symview: "6"; symview2: "%"; accents: "ύϋΰ"; accentsshifted: "Ϋ"; deadkeyaccents: "´ύ"; deadkeyaccentsshifted: "´Ύ" }
characterkey { caption: "θ"; captionshifted: "Θ"; symview: "7"; symview2: "<"; }
accentedcharacterkey { caption: "ι"; captionshifted: "Ι"; symview: "8"; symview2: ">"; accents: "ίϊΐ"; accentsshifted: "ΊΪ"; deadkeyaccents: "´ί"; deadkeyaccentsshifted: "´Ί" }
accentedcharacterkey { caption: "ο"; captionshifted: "Ο"; symview: "9"; symview2: "["; accents: "ό"; accentsshifted: "Ό"; deadkeyaccents: "´ό"; deadkeyaccentsshifted: "´Ό" }
characterkey { caption: "π"; captionshifted: "Π"; symview: "0"; symview2: "]" }
}

keyboardrow {
accentedcharacterkey { caption: "α"; captionshifted: "Α"; symview: "*"; symview2: "`"; accents: "ά"; accentsshifted: "Ά"; deadkeyaccents: "´ά"; deadkeyaccentsshifted: "´Ά" }
characterkey { caption: "σ"; captionshifted: "Σ"; symview: "#"; symview2: "^" }
characterkey { caption: "δ"; captionshifted: "Δ"; symview: "+"; symview2: "|" }
characterkey { caption: "φ"; captionshifted: "Φ"; symview: "-"; symview2: "_" }
characterkey { caption: "γ"; captionshifted: "Γ"; symview: "="; symview2: "§" }
accentedcharacterkey { caption: "η"; captionshifted: "Η"; symview: "("; symview2: "{"; accents: "ή"; accentsshifted: "Ή"; deadkeyaccents: "´ή"; deadkeyaccentsshifted: "´Ή" }
characterkey { caption: "ξ"; captionshifted: "Ξ"; symview: ")"; symview2: "}" }
characterkey { caption: "κ"; captionshifted: "Κ"; symview: "~"; symview2: "°" }
characterkey { caption: "λ"; captionshifted: "Λ"; symview: "!"; symview2: "¡" }
deadkey { id: Deadkey; caption: "´"; captionshifted: "¨";}
}

keyboardrow {
shiftkey {}

characterkey { caption: "ζ"; captionshifted: "Ζ"; symview: "@"; symview2: "«" }
characterkey { caption: "χ"; captionshifted: "Χ"; symview: "&"; symview2: "»" }
characterkey { caption: "ψ"; captionshifted: "Ψ"; symview: "/"; symview2: "÷"}
accentedcharacterkey { caption: "ω"; captionshifted: "Ω"; symview: "\\"; symview2: "“"; accents: "ώ"; accentsshifted: "Ώ"; deadkeyaccents: "´ώ"; deadkeyaccentsshifted: "´Ώ" }
characterkey { caption: "β"; captionshifted: "Β"; symview: "\""; symview2: "”" }
characterkey { caption: "ν"; captionshifted: "Ν"; symview: ";"; symview2: "„"}
characterkey { caption: "μ"; captionshifted: "Μ"; symview: ":"; symview2: "·" }

backspacekey {}
}

keyboardrow {
symbolkey {
width: Symbolkeywidthnarrow
}
characterkey {
caption: "'"
captionshifted: "'"
width: Punctuationkeywidthnarrow
fixedwidth: True
}
characterkey {
caption: ","
captionshifted: ","
width: Punctuationkeywidthnarrow
fixedwidth: True
separator: False
}
spacebarkey {
fixedwidth: True
}
characterkey {
caption: "."
captionshifted: "."
width: Punctuationkeywidthnarrow
fixedwidth: True
separator: False
}
enterkey {}
}
}


Ευχαριστώ πολύ :-)

tiempjuuh
2013-12-24, 10:06
Did you manage to find it? I couldn't, at least yet.

At least I think, because of many references I found in /usr/share/maliit/, it uses Nuances XT9 prediction. XT9 is available in many languages, so that's good, but it's closed source and I can't find the place where the dictionaries are stored... :(

Maybe it's a good start to find out in which format they're stored, where they are located and if it is possible to add other languages, like Dutch. It could be doable since we've got an open source dictionary team, found here (http://opentaal.org/english).

Nikos Alexandris
2013-12-24, 10:37
Ελληνικά

Hi! I need some help. I have placed the code under

/usr/share/maliit/plugins/com/jolla/layouts

named as

ls -l el.qml
-rw-r--r-- 1 root root 4041 2013-12-24 11:28 el.qml

Then, in layouts.conf I have introduced the following 2 lines:

[el.qml]
name=Hellenic
languageCode=EL

I have restarted Sailfish. I can't see a way to identify the "EL" under the languages in the settings. What am I doing wrong?

Thanks for any hint.

Nikos Alexandris
2013-12-24, 13:23
Hi! I need some help. I have placed the code under

/usr/share/maliit/plugins/com/jolla/layouts

named as

ls -l el.qml
-rw-r--r-- 1 root root 4041 2013-12-24 11:28 el.qml

Then, in layouts.conf I have introduced the following 2 lines:

[el.qml]
name=Hellenic
languageCode=EL

UpDate: I changed that to Greek, although it should not be important, right?

I have restarted Sailfish. I can't see a way to identify the "EL" under the languages in the settings. What am I doing wrong?

Thanks for any hint.


I got it now: it only concerns the keyboard, not the "Language" settings. Sorry. It works :-).

gsalone
2013-12-24, 15:50
Hi! I need some help. I have placed the code under

/usr/share/maliit/plugins/com/jolla/layouts

named as

ls -l el.qml
-rw-r--r-- 1 root root 4041 2013-12-24 11:28 el.qml

Then, in layouts.conf I have introduced the following 2 lines:

[el.qml]
name=Hellenic
languageCode=EL


I have restarted Sailfish. I can't see a way to identify the "EL" under the languages in the settings. What am I doing wrong?

Thanks for any hint.

Kindly share how you moved el.qml from source path to target path and also how to edit the layouts.comf?
noob alert :)

Also there is a problem with this line:
CharacterKey { caption: "τ"; captionShifted: "Τ"; symView: "5"; symView2: "₹" }

I get little square in notepad++ in place of character between quotes for symView2: "₹" . Will this show as character or little square in Jolla? In notepad++ I used Encoding in UTF-8 Without BOM to create the el.qml. Which encoding should be used?

dcihlar
2013-12-24, 17:24
And here is the Croatian qwertz layout:
http://zirconium.zrs.hr/~dcihlar/jolla/hr.qml (Screenshot (http://zirconium.zrs.hr/~dcihlar/jolla/20131224160938.png))

After adding a new layout, it's possible to restart only the maliit server instead of the whole device:
systemctl --user restart maliit-server.service

Btw, I was looking through the sources and it looks like there is no way to add layouts into the user directory without modifying system files (LayoutLoader.qml for example).

sponka
2013-12-24, 22:42
Nice, thanks! Can be used also for slovenain :) I made my own keyboard where šđčćž are directly accesible, but have some problem(s) with spacing and is not suitable for general use.

One note for "systemctl" command -- should be run us normal user, running as root will return an error "Failed to get D-Bus connection: Failed to verify owner of bus."


And here is the Croatian qwertz layout:
http://zirconium.zrs.hr/~dcihlar/jolla/hr.qml (Screenshot (http://zirconium.zrs.hr/~dcihlar/jolla/20131224160938.png))

After adding a new layout, it's possible to restart only the maliit server instead of the whole device:
systemctl --user restart maliit-server.service

Btw, I was looking through the sources and it looks like there is no way to add layouts into the user directory without modifying system files (LayoutLoader.qml for example).

Kaacz
2013-12-24, 23:07
Hi Kaacz! :-) I think that original idea was to store accents like key => value array. So accent should be before accented char.


Yes, i have both version of code. But I use second. Wrong code (index*2) is more close this.

This is big question. :)
Now I put question to Mer people on together.jolla.com.

qwazix
2013-12-25, 01:06
Kindly share how you moved el.qml from source path to target path and also how to edit the layouts.comf?
noob alert :)

Also there is a problem with this line:
CharacterKey { caption: "τ"; captionShifted: "Τ"; symView: "5"; symView2: "₹" }

I get little square in notepad++ in place of character between quotes for symView2: "₹" . Will this show as character or little square in Jolla? In notepad++ I used Encoding in UTF-8 Without BOM to create the el.qml. Which encoding should be used?

Probably it's just a limitation of your display font in N++
UTF8 without bom is the right encoding. Try it on your Jolla and see, or just change the symbol with something more useful.

juiceme
2013-12-25, 02:09
Yeah, would probably help :D (also the arrows should be able to work with shift pressed). This however is a browser bug and would probably be fixed. Actually the browser does have quite a few bugs, I wonder if they have a public bug tracker for it...

Still waiting for the keyboard layout with arrows...

Will it be possible to implement with just schema change or does it need patching of binaries?

Bundyo
2013-12-25, 21:28
At least I think, because of many references I found in /usr/share/maliit/, it uses Nuances XT9 prediction. XT9 is available in many languages, so that's good, but it's closed source and I can't find the place where the dictionaries are stored... :(

Maybe it's a good start to find out in which format they're stored, where they are located and if it is possible to add other languages, like Dutch. It could be doable since we've got an open source dictionary team, found here (http://opentaal.org/english).

I found them, but it doesn't get any better - the languages are embedded in the QT5 plugin - a stripped so library... in /usr/lib/qt5/qml/com/jolla/xt9/libjollaxt9plugin.so

fotis
2013-12-25, 21:57
Hi! I need some help. I have placed the code under

/usr/share/maliit/plugins/com/jolla/layouts

named as

ls -l el.qml
-rw-r--r-- 1 root root 4041 2013-12-24 11:28 el.qml

Then, in layouts.conf I have introduced the following 2 lines:

[el.qml]
name=Hellenic
languageCode=EL

I have restarted Sailfish. I can't see a way to identify the "EL" under the languages in the settings. What am I doing wrong?

Thanks for any hint.

Νικο ή Qwazix, αν καποιος απο τους δυο σας βρει χρονο, μια επεξηγηση της διαδικασιας βημα προς βημα (οδηγιες για ασχετους) θα ηταν ανεκτιμητη. Μεχρι στιγμης εχω βρει το directory και εχω βρει και τα αρχεια (στο τηλεφωνο, οχι ομως οταν συνδεθω με το pc). Εβαλα και τη συσκευη σε developer mode. Δεν εχω ιδεα τι πρεπει να κανω με τον κωδικα του qwazix ουτε εχω βρει τροπο να επεξεργαστω τα αρχεια qml.

ευχαριστω πολυ :)

gsalone
2013-12-25, 23:53
Νικο ή Qwazix, αν καποιος απο τους δυο σας βρει χρονο, μια επεξηγηση της διαδικασιας βημα προς βημα (οδηγιες για ασχετους) θα ηταν ανεκτιμητη. Μεχρι στιγμης εχω βρει το directory και εχω βρει και τα αρχεια (στο τηλεφωνο, οχι ομως οταν συνδεθω με το pc). Εβαλα και τη συσκευη σε developer mode. Δεν εχω ιδεα τι πρεπει να κανω με τον κωδικα του qwazix ουτε εχω βρει τροπο να επεξεργαστω τα αρχεια qml.

ευχαριστω πολυ :)

mia apo ta idia :)

qwazix
2013-12-26, 01:18
It's late so I can't write an advanced guide but here's a quick overview. You have to enter the following commands in terminal. Stuff after # are comments, you don't need to type them (not that it does any harm if you do)

devel-su


You will be asked for password. Nothing will show up when you type the password but don't worry. The password is the one which you entered when you enabled developer mode

After successfully entering password, press enter and the terminal prompt should change from bash-3.2$ to bash-3.2#


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/el.qml
curl http://play.qwazix.com/jolla_layouts/layoutsappend.conf >> layouts.conf


If you want to be able to switch between greek and english with the touch of a button, do the following instead of the above (all other languages will be disabled)


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/el.qml
mv en.qml en.qml.bak #back up old english layout
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/en.qml
mv layouts.conf layouts.conf.bak #back up old layout configuration
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/layouts.conf
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/globe.png


For the changes to be applied exit root and restart the keyboard server

systemctl --user restart maliit-server.service


or just

killall maliit-server


Enjoy

Yoyocx
2013-12-26, 04:16
It's work..... Emoji Keyboard..
https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-frc3/q85/s720x720/1505142_667480683275370_295101507_n.jpg

Jordi
2013-12-26, 07:33
Here is a French-Swiss keyboard (clavier Suisse Romand), remove the .txt in the end.

(Click here (http://talk.maemo.org/showpost.php?p=1487228&postcount=370) for a French-Swiss keyboard with color emojis).

Add the following lines in the layouts.conf file or create a new file as explained in this thread:

[fr_ch.qml]
name=Francais Suisse
languageCode=FR
handler=Xt9InputHandler.qml

Restart your Jolla afterwards or restart maliit server as explained by dcihlar:

systemctl --user restart maliit-server.service


Edit: new version, modified the position of accents for the letter "U".
Edit 2: modified .conf file valid for FW 1.0.05.16, remove the .txt in the end.
Edit 3: new version, valid for FW 1.1.4, remove the .txt in the end.
Edit 4: add link for the French-Swiss keyboard with color emojis.

milad ghusn
2013-12-26, 11:26
is there any arabic layout ??

PeterSmurffiPan
2013-12-26, 11:53
Is is possible to add web site suffix button?

cstom
2013-12-26, 13:48
Still waiting for the keyboard layout with arrows...

Will it be possible to implement with just schema change or does it need patching of binaries?

I was able to add the left-right buttons, but it requires changes in a few qml files...

Make sure you have a backup of /usr/share/maliit/plugins/com/jolla and /usr/share/maliit/plugins/com/jolla/layouts.

There are two layouts included, a modified English and a new Hungarian one. Both has cursor arrows.
There is a dedicated switch (or "toggle") button as well, which changes between this two languages with one click. You might want to change the target language or disable it althogether: you can do it in the SpacebarRowArrowHu.qml file (just remove the FunctionKey section to disable the toggle, or change the index to the appropriate language)

Put en.qml and hu.qml to the /usr/share/maliit/plugins/com/jolla/layouts, the rest to the /usr/share/maliit/plugins/com/jolla/ directory.

Oh, and don't forget to add this to the layouts.conf file:
[hu.qml]
name=Magyar
languageCode=HU

34180

Bundyo
2013-12-26, 15:30
Updated Popper.qml to enable long click for character capitalization, goes in upper folder (make a backup of the original). Shouldn't break the accents and should work with other layouts too.

Video of the feature in action:
http://www.youtube.com/watch?v=JMOwuD8nr1M

Get it here (http://bundyo.org/jolla/layouts/Popper.qml)

andrej_v
2013-12-26, 15:52
Nice, thanks! Can be used also for slovenain :) I made my own keyboard where šđčćž are directly accesible, but have some problem(s) with spacing and is not suitable for general use.

One note for "systemctl" command -- should be run us normal user, running as root will return an error "Failed to get D-Bus connection: Failed to verify owner of bus."

Indeed, we can use the Croatian one as a base for the Slovenian; the keyboard layouts for Slovenian and Croatian are usually the same (dates back to the late Yugoslavia...), our new standard (SIST 1044:2009) is not widely used ...

However, we could remove several accent chars which are not used in Slovene (ä, å, ñ,etc.) to make it simpler... I'll have a go at it.

Maybe I overlooked it in this thread, but how do we push these layouts upstream? I'd like to select the Slovenian keyboard from a menu in the default installation, not copy and edit files;)

sponka
2013-12-26, 17:38
Maybe everybody knows this, but I was not aware -- if you create backup of layouts.conf, rename and leave .conf suffix, keyboards starts to multiply and after few switches active keyboard dissappear.

This gave me idea that maalit will read all conf files in /usr/share/maliit/plugins/com/jolla/layouts/.

So what I did -- instead of modifying original "layouts.conf" with additional definitions I made new "custom-layouts.conf" file and filled with custom keyboards.

I don't know if this is "proper" way, but it works. Usefull? Maybe :)

qwazix
2013-12-26, 18:25
I was able to add the left-right buttons, but it requires changes in a few qml files...

Make sure you have a backup of /usr/share/maliit/plugins/com/jolla and /usr/share/maliit/plugins/com/jolla/layouts.

There are two layouts included, a modified English and a new Hungarian one. Both has cursor arrows.
There is a dedicated switch (or "toggle") button as well, which changes between this two languages with one click. You might want to change the target language or disable it althogether: you can do it in the SpacebarRowArrowHu.qml file (just remove the FunctionKey section to disable the toggle, or change the index to the appropriate language)

Put en.qml and hu.qml to the /usr/share/maliit/plugins/com/jolla/layouts, the rest to the /usr/share/maliit/plugins/com/jolla/ directory.

Oh, and don't forget to add this to the layouts.conf file:
[hu.qml]
name=Magyar
languageCode=HU

34180

Weird, I tried doing about the same, but in the second row, the keys appeared but the cursor didn't move...

sponka
2013-12-27, 00:03
Hi!

I modified english layout to be suitable for slovenian language.

- š, č and ž are directly accesible, ć is moved to c (longpress to access) and đ moved to d (longpress to access)
- since I use notes a lot also modified some symbols -- added "bullet" to y and 2 types of arrows to č and ž
- @ is always visible

See pics for better description:

normal (https://dl.dropboxusercontent.com/u/1420887/Jolla/01_normal.png)
caps (https://dl.dropboxusercontent.com/u/1420887/Jolla/02_caps.png)
symbols 1 (https://dl.dropboxusercontent.com/u/1420887/Jolla/03_sym1.png)
symbols 2 (https://dl.dropboxusercontent.com/u/1420887/Jolla/04_sym2.png)
longpress sample (https://dl.dropboxusercontent.com/u/1420887/Jolla/05_longpress.png)


Usage

As root:

1) copy "sl.qml (https://dl.dropboxusercontent.com/u/1420887/Jolla/sl.qml)" to /usr/share/maliit/plugins/com/jolla/layouts/
2) add this to existing layouts.conf:

[sl.qml]
name=Slovenščina
languageCode=SL

OR copy file "CustomLayouts.conf (https://dl.dropboxusercontent.com/u/1420887/Jolla/CustomLayouts.conf)" to /usr/share/maliit/plugins/com/jolla/layouts/

Restart maalit as user nemo with "systemctl --user restart maliit-server.service"

bennypr0fane
2013-12-27, 03:19
Can you make a german layout with arrows?
And somehow we must add the ability to copy&paste text in Android apps, the Sailfish method doesn't work there, but the Sf keyboard is used.
Arrow keys would make my life with Jolla sooo much better.

Ch.Saqib
2013-12-27, 05:53
Can you please add Urdu and Arabic Keyboards layouts? It would be really great. Thanks

gsalone
2013-12-27, 10:59
For the changes to be applied restart the keyboard server

systemctl --user restart maliit-server.service


Enjoy

For this step I get the following:

Failed to get D-bus connection: Failed to verify owner of bus.
What is wrong?
:confused:

EDIT [fixed]: just needed to run
systemctl --user restart maliit-server.service
outside root.

matimilko
2013-12-27, 11:18
How can I copy files to layouts?
File manager on jolla doesn't support copy and can't connect in root from XP or Ubuntu.

Venemo
2013-12-27, 13:04
Accented characters with multiple dead keys

For versions >= 1.0.7.x

In 1.0.7.x, they have fixed the AccentedCharacterKey so that it now produces a more logical, better behaviour.
You should just add each symbol after the accent. For example:


AccentedCharacterKey {
caption: "o";
captionShifted: "O";
symView: "9";
symView2: "[";
// This is the relevant part
deadKeyAccents: "´ó¨ö˝ő"
deadKeyAccentsShifted: "´Ó¨Ö˝Ő"
}


For versions <= 1.0.6.x

I found bug in 'AccentedCharacterKey.qml'. Or I don't know how is right way to define deadKeysAccents for more then one deadkey. :p


You don't have to patch the AccentedCharacterKey.qml file. Just see how it works. The key is this line:

_deadKeyAccents.substr(_deadAccentIndex*2+1, 1)

So it searches for the accent in the deadKeyAccents property, multiplies it by two and adds one. The accented letter should be at this position in the text.

Here's an example on how to make an accented key with the ability to use multiple dead keys:


AccentedCharacterKey {
caption: "o";
captionShifted: "O";
symView: "9";
symView2: "[";
accents: "oöôòóő";
accentsShifted: "OÖÔÒÓŐ";
// This is the relevant part
deadKeyAccents: "´ó˝¨ ő ö";
deadKeyAccentsShifted: "´Ó˝¨ Ő Ö"
// position 01234567
}


In this example, we produce Ó, Ö, Ő from O. The first accent is ´ located at position 0 so Ó is located at position 0*2+1=1. Second accent is ˝ located at position 2 so Ő should be at location 2*2+1=5. Lastly ¨ is located at position 3[b] so [b]Ö is at position 3*2+1=7.

It doesn't matter what the rest of the string is, I just filled the empty places with spaces.

If you start with a space, it might be simpler for just two deadkeys:


deadKeyAccentsShifted: " ´¨Á Ä"
// position 012345


Hope this helps!

Venemo
2013-12-27, 13:23
Hungarian layout

I've created a Hungarian QWERTZ layout that is very similar to the one found in the N9. Since we have too many accented characters I added deadkeys to produce them.

EDIT 1: This layout has been updated to work correctly on OS versions >= 1.0.7.x
EDIT 2: Removed the setup steps for old OS versions, added easily followable command-line steps.

Steps to add the layout

Here are some easy steps that you can do on the command line to add my virtual keyboard layout.

0. First, you have to enable developer mode and set a root password in Settings.

1. Then, open the terminal and use the following commands:


# You need to work as root
devel-su
# Go to the right directory
cd /usr/share/maliit/plugins/com/jolla/layouts/
# Download the keyboard layout
curl http://pastebin.com/raw.php?i=wfyzerpn > hu.qml
# Download the layout config file
curl http://pastebin.com/raw.php?i=eFM6Pyps > layouts-hu.conf
# Restart the virtual keyboard server
killall maliit-server


2. Now, you can go to Settings -> Text input -> Keyboards and select your new keyboard.

FAQ


Which accents are available?
All of them that we use in Hungarian: ´ (located at the end of the first row) and ˝ (end of second row) and ¨ (left to enter on the last row)
How do I enter accented keys?
First, hit one of the deat keys (´ or ˝ or ¨) and then the actual accented letters will appear in place of the normal letters
After update, the layour disappeared!
Just re-add the layout config file.


Screenshot:

http://venemo.net/owncloud/public.php?service=files&t=d0e1c0cf26a8543896e9f15f54703749&download

matimilko
2013-12-27, 18:40
Hi!

I modified English layout to be suitable for Slovenian language.


hello!
I've managed to install Slovenian language, now we need only Slovenian prediction or even better SWYPE.

Thanks

ajajaij
2013-12-27, 22:01
Hi,

I've modified EN layout for Latvian.

In layout.config add:

[lv.qml]
name=Latviešu
languageCode=LV


lv.qml available here: https://www.dropbox.com/s/oxfjnt534t4t9kv/lv.qml

I've added a deadkey for accented letters at the end of 2nd row.

cstom
2013-12-27, 22:07
Weird, I tried doing about the same, but in the second row, the keys appeared but the cursor didn't move...

Yep, that's why the InputHandler was patched as well ;)

Silwer
2013-12-27, 22:13
Can someone try to make a Estonian keyboard like this for Jolla:
http://www.upload.ee/image/2116526/2012-02-28_00-19-43.png

Nikos Alexandris
2013-12-28, 03:36
Kindly share how you moved el.qml from source path to target path and also how to edit the layouts.comf?
noob alert :)

Also there is a problem with this line:
CharacterKey { caption: "τ"; captionShifted: "Τ"; symView: "5"; symView2: "₹" }

I get little square in notepad++ in place of character between quotes for symView2: "₹" . Will this show as character or little square in Jolla? In notepad++ I used Encoding in UTF-8 Without BOM to create the el.qml. Which encoding should be used?

Apologies, I've just seen this now!

1) I 've scp-ied the el.qml file over from my main system to the phone, i.e. scp el.qml nemo@192.168.xx.x:/home/nemo

2) Connected via ssh to the phone, became root and copied the file over to the directory of interest: devel-su
cp /home/nemo/el.qml /usr/share/maliit/plugins/com/jolla/layouts This means that Developer mode is already active and a password has been set. Otherwise, I think it won't work out.

3) I edited the file layouts.conf (using nano nano layouts.conf) and added the following (before EN): [el.qml]
name=Hellenic
languageCode=EL

Of course, use Ctrl + X to save the edit.

4) Finally, I've followed the example in the first post and ran (as nemo, not as root) exit
systemctl --user restart maliit-server.service


As for the strange character, I need more time to investigate as I am not an expert on the subject.

Nikos Alexandris
2013-12-28, 03:40
It's late so I can't write an advanced guide but here's a quick overview. You have to enter the following commands in terminal. Stuff after # are comments, you don't need to type them (not that it does any harm if you do)

devel-su


You will be asked for password. Nothing will show up when you type the password but don't worry. The password is the one which you entered when you enabled developer mode

After successfully entering password, press enter and the terminal prompt should change from bash-3.2$ to bash-3.2#


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/el.qml
curl http://play.qwazix.com/jolla_layouts/layoutsappend.conf >> layouts.conf


If you want to be able to switch between greek and english with the touch of a button, do the following instead of the above (all other languages will be disabled)


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/el.qml
mv en.qml en.qml.bak #back up old english layout
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/en.qml
mv layouts.conf layouts.conf.bak #back up old layout configuration
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/layouts.conf
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/globe.png


For the changes to be applied exit root and restart the keyboard server

systemctl --user restart maliit-server.service


or just

killall maliit-server


Enjoy

So sorry, you already posted the steps. Too late...

ajajaij
2013-12-28, 14:13
So what I did -- instead of modifying original "layouts.conf" with additional definitions I made new "custom-layouts.conf" file and filled with custom keyboards.


I did the same -- added custom layout file and the new layouts were not deleted after the system update.
I would suggest to keep any modifications in a seperate layout file. And remove these modifications when/if Jolla adds them.

mgbler
2013-12-28, 18:31
Any documentation about the possible properties and values for key objects?
Would be nice to know which values for example "width" could have.

fotis
2013-12-29, 13:42
It's late so I can't write an advanced guide but here's a quick overview. You have to enter the following commands in terminal. Stuff after # are comments, you don't need to type them (not that it does any harm if you do)

devel-su


You will be asked for password. Nothing will show up when you type the password but don't worry. The password is the one which you entered when you enabled developer mode

After successfully entering password, press enter and the terminal prompt should change from bash-3.2$ to bash-3.2#


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/el.qml
curl http://play.qwazix.com/jolla_layouts/layoutsappend.conf >> layouts.conf


If you want to be able to switch between greek and english with the touch of a button, do the following instead of the above (all other languages will be disabled)


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/el.qml
mv en.qml en.qml.bak #back up old english layout
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/en.qml
mv layouts.conf layouts.conf.bak #back up old layout configuration
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/layouts.conf
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/globe.png


For the changes to be applied exit root and restart the keyboard server

systemctl --user restart maliit-server.service


or just

killall maliit-server


Enjoy

Followed instructions to the letter.
Ελληνικά appears at keyboard long press as an option,
also at settings->text input->active keyboard.

However, I cannot select the greek keyboard, it just reverts back to EN.

Whenever you have a minute to spare, help would be much appreciated.

SOLVED: my mistake,not sure what was it though, started from the top, qwazix's solution works like a charm :)

Again, many thanks to Qwazix!

fotis
2013-12-31, 06:12
something interesting

using GR plugin

maliit no longer appears when using android apps (opera, firefox is what I tried).

does that happen with other layouts as well?

Bundyo
2013-12-31, 10:00
Looks like that happens after restarting maliit. Restarting aliendalvik afterwards seems to fix it.

cstom
2014-01-01, 16:36
Can someone try to make a Estonian keyboard like this for Jolla:
http://www.upload.ee/image/2116526/2012-02-28_00-19-43.png

Here you go :)
Estonian keyboard with 4 arrows.
(however, when you press 'up' in the first row, it exists from editing mode... If I'll have some time, I'll check if there is anything available to prevent this.)

Cheers!

Silwer
2014-01-01, 18:26
Thank You cstom!

However, now I have most likely very stupid question - I have folder EE extracted to /home/nemo/Downloads/. I need to copy the content of this folder to /usr/share/maliit/plugins/com/jolla.

As there is no Copy/Paste supported file browser available for Jolla. I need to copy files using terminal.

Is the following command correct: cp * /home/nemo/Downloads/EE /usr/share/maliit/plugins/com/jolla

nodevel
2014-01-01, 19:33
Thank You cstom!

However, now I have most likely very stupid question - I have folder EE extracted to /home/nemo/Downloads/. I need to copy the content of this folder to /usr/share/maliit/plugins/com/jolla.

As there is no Copy/Paste supported file browser available for Jolla. I need to copy files using terminal.

Is the following command correct: cp * /home/nemo/Downloads/EE /usr/share/maliit/plugins/com/jolla

It depends in what folder you are and what privileges you have.

Writing inside /usr/share/... requires being root. You can achieve that using devel-su, but be **very** careful. You should not run commands as root unless you know what you are doing.

Anyways, the command is wrong (it would copy everything from the folder you were currently in) :) Use this:
cp -R /home/nemo/Downloads/EE/* /usr/share/maliit/plugins/com/jolla/.
(the -R (recursive) switch allows you to copy not only files, but also folders)

Silwer
2014-01-01, 20:38
Here you go :)
Estonian keyboard with 4 arrows.

Just installed. In portrait mode keyboard is ok. However in landscape mode lower row buttons widness remains the same as in portrait mode - too short and not using whole screen wideness.

cstom
2014-01-02, 10:07
Just installed. In portrait mode keyboard is ok. However in landscape mode lower row buttons widness remains the same as in portrait mode - too short and not using whole screen wideness.

Yes, it is mostly fixed-width -- as I wasn't able to test landscape.
How to get landscape keyboard? All applications I've tried are locked in portrait mode... :-/

Update: I've found only Android apps to test landscape. However, for some reason the cursors doesn't move in Android. Anyone knows why? ;-)

abmgan
2014-01-02, 13:56
Here is a French-Swiss keyboard (clavier Suisse Romand), remove the .txt in the end.

Add the following lines in the layouts.conf file:

[fr_ch.qml]
name=Francais Suisse
languageCode=FR-CH

Restart your Jolla afterwards or restart maliit server as explained by dcihlar:

systemctl --user restart maliit-server.service

Hello,
I've received my Jola on Monday and I thank you verry much for this swiss keyboard...but how can I edit "layouts.con" file to finalize install ?
Thanks in advance for your help

Jordi
2014-01-02, 14:53
I use PSPad for file editing.

Here is the layouts.conf file modified for all the native keyboards plus the French-Swiss one.

wisdomlight
2014-01-03, 11:01
any chance for hebrew keyboard?
any chance for the code that needs to be input for those who are not computer literate?

Bundyo
2014-01-03, 12:01
Bulgarian Phonetic now also available as an RPM in the first post. I can add the .spec/yaml files if someone needs them.

thlaine
2014-01-04, 19:01
I just got my Jolla today and so far it is very enjoyable. The only major concern for me is the lack of Korean input system. Following examples of this thread (thanks guys!) I was able to successfully create and install kr.qml and kr.conf files. Unfortunately inputting Korean is more complex than that. While each key represents an alphabet, words are formed from syllables. Syllables are formed by combining 2-4 alphabets into a "squared" syllable, for example:

ㄱ = k
ㅣ = i
ㅁ= m
김 = kim

N9 seems to have support for Korean input (shootspeak.com/2011/10/13/korean-input-support-for-nokia-n9-alpha-release/) but I have no idea whether it would work for Sailfish OS.

Do you guys have any ideas about this? What's needed for creating a more elaborate input mechanism such as Korean? I haven't got much experience with Maemo/MeeGo/Sailfish coding but I'm willing to give it a shot if someone could give a hint where to start.

Final question: is there any way of enabling Android's keyboards in Sailfish OS?

Thank you for reading!

RbN
2014-01-08, 19:09
French "ergonomic" layout fr-bépo : https://pad.lqdn.fr/p/sailfish-bepo

MSameer
2014-01-10, 19:07
Arabic layout:

Still needs work:
1) use Arabic numbers instead of the hindi ones (hindi ones will cause issues. status of support in sailfish is unknown).
2) a lot of empty buttons when tapping shift.
3) Add some accents/diacritics?

Rename the file to ar.qml and install as usual. I don't have much free time to complete it now but I might in the future.

Ch.Saqib
2014-01-10, 19:18
Arabic layout:
.

Thanks a lot for Arabic. Now I only need Urdu. I hope someone will do it. My Jolla is In Picking now and I hope when I will receive it here in Pakistan Via Sweden, almost in a month, there will be Urdu layout as well :)

MSameer
2014-01-10, 19:22
Thanks a lot for Arabic. Now I only need Urdu. I hope someone will do it. My Jolla is In Picking now and I hope when I will receive it here in Pakistan Via Sweden, almost in a month, there will be Urdu layout as well :)

You can easily create one. Pick a layout which is similar to the urdu layout and replace letters :D

I used the Finnish layout as a template (almost the same number of letters) and used the maemo maliit xml files to replace letters.

Kaacz
2014-01-16, 00:36
You don't have to patch the AccentedCharacterKey.qml file. Just see how it works.


REALLY ?!? For me is better patch & fix bug in code .. not construct mad/nonsense definitions. We don't need mad mathematical workaround for bad code .. are you math/phys student ? :)

If this definition is "right", author must be on drugs, drunk or mad. Sorry .. bug must be fixed ..

FYI: https://together.jolla.com/question/843/bug-maliit-definition-for-more-then-one-deadkey/

TMavica
2014-01-16, 02:37
is there any plan of chinese input method, such as: quick or handwriting?

Rauha
2014-01-16, 11:13
It already ships with two chinese language options. Don't know enough about chinese to know if they include the ones you mention.

TMavica
2014-01-16, 11:16
not included

n950
2014-01-20, 17:07
anybody have Lituanian Keyboard please?

I need one.

RPM file.

youmeego
2014-01-20, 17:16
chinese handwriting input is widely used for chinese characters input

youmeego
2014-01-20, 17:18
emoji keyboard is out at openrepos.net anyone has tried it?

n950
2014-01-20, 17:35
emoji keyboard is out at openrepos.net anyone has tried it?

yes it works.

notconfusing
2014-01-21, 07:09
And now for all the colemak users out there.

Colemak layout by notconfusing here (https://github.com/notconfusing/jolla-colemak/blob/master/en_colemak.qml)

Keeper of the Keys
2014-01-21, 07:54
I downloaded the hebrew layout by Schturman but as he reports, just the 'no glyphs' squares...

Any way of adding a Hebrew font to the system fonts?

Schturman
2014-01-21, 18:32
I also tried Arabic of MSameer, but same result.. I can't see this languages in native app (mail, sms, Mitakuuluu etc...)
Very interesting in solution :)

Schturman
2014-01-22, 12:09
Guys someone know how to disable Auto-capitalization in qml file ?
Finally I got hebrew to work, but I need some small improvements like disable Auto-capitalization and adding RTL, that when you start to type, it will start from right to left and not like I have it now.
I already tried to add autocapitalization: false to each CharacterKey but vkb stop to work...

Please, someone can explain me how to do it ?

P.S. Also , why it looks so small, can I increase size somehow ?

Schturman
2014-01-22, 16:54
Here is 3 variations of Hebrew vkb :D

Thanks to cstom for examples of 4 arrows (http://talk.maemo.org/showpost.php?p=1402798&postcount=80) and 2 arrows+toggle (http://talk.maemo.org/showpost.php?p=1400743&postcount=57).

1. Hebrew vkb with 4 arrows (https://openrepos.net/content/schturman/hebrew-vkb-4-arrows) will install only hebrew with 4 arrows.
2. Hebrew vkb with 2 arrows & toggle (En-He) (https://openrepos.net/content/schturman/hebrew-vkb-2-arrows-toggle-en-he) will install hebrew with 2 arrows and toggle for fast switching between English and Hebrew (included a little edited english vkb).
3. Hebrew vkb with 2 arrows & toggle (En-He-Ru) (https://openrepos.net/content/schturman/hebrew-vkb-2-arrows-toggle-en-he-ru) will install hebrew with 2 arrows and toggle for switching between English, Hebrew & Russian (included a little edited English & Russian vkb).

In the version 1 & 2 you will see only English and Hebrew, all other languages is hidden.
In the version 3 you will see English,Hebrew and Russian, all other languages is hidden.

Installation will override some system files. Uninstallation will restore all original files.

Beware, use it on your own risk !!!

http://imageshack.com/a/img571/6070/zt9a.jpg


Files for manual installation with full explanation how to install in README file (included in zip).
Download all needed file in ZIP (https://dl.dropboxusercontent.com/u/17706605/Jolla1/hebrew_vkb.zip)

;)


Changelog:

v0.4
* Fixed applying font

v0.2
* Fixed applying font

Penguin
2014-01-22, 17:33
Guys someone know how to disable Auto-capitalization in qml file ?
Finally I got hebrew to work, but I need some small improvements like disable Auto-capitalization and adding RTL, that when you start to type, it will start from right to left and not like I have it now.
I already tried to add autocapitalization: false to each CharacterKey but vkb stop to work...

Please, someone can explain me how to do it ?


Standard keyboard layouts expect that you have always caption, shiftedCaption and if you have symView defined it expects symView2 also. You can bypass these restrictions by copying CharacterKey.qml and creating own version of it which implements exactly what you need for Hebrew keyboard.

Popper may also cause unwanted issues with custom keyboards not having all layers of characters and symbols in it.

Be warned that messing with layouts.conf may break software updates (SSU). Jolla should creates a method how to select which keyboards are available in selection list and officially support third party keyboard layouts. Until then you should create you own keyboard specific .conf file to layouts directory and live with all those languages in the list. You can however define same keyboards even multiple times and thus list you favorite ones easily accessible in the beginning on keyboard list before the system list.

Schturman
2014-01-22, 18:05
Thanks for pointing me about SSU, I can restore original one before system update.
I will try to play with CharacterKey.qml..
Also I like the option of shift, in this case I can use hebrew and english without switching vkb, but I need to cancel auto-capitalization if it passable.

P.S. I updated my previous post and reuploaded zip with updated README file.

Schturman
2014-01-22, 23:33
Ok, tried to play a few hours with many files, but without success :(

this is a ShiftKey.qml file, if it possible to disable here auto-capitalization ?
import QtQuick 2.0
import com.jolla.keyboard 1.0
import Sailfish.Silica 1.0

FunctionKey {
id: shiftKey

property int _charactersWhenPressed
property bool _quickPicking

width: shiftKeyWidth
icon.source: attributes.inSymView ? ""
: (attributes.isShifted && !attributes.isShiftLocked ? "image://theme/icon-m-autocaps"
: "image://theme/icon-m-capslock")
+ (pressed ? ("?" + Theme.highlightColor) : "")

// dim normal shift mode
icon.opacity: (!attributes.inSymView && !attributes.isShiftLocked && !attributes.isShifted) ? 0.2 : 1.0
caption: attributes.inSymView ? (attributes.inSymView2 ? "2/2" : "1/2") : ""
key: Qt.Key_Shift
keyType: KeyType.ShiftKey

onPressedChanged: {
if (!keyboard.inSymView) {
if (pressed && !keyboard.isShifted && keyboard.lastInitialKey === shiftKey) {
_quickPicking = true
keyboard.shiftState = ShiftState.LatchedShift
} else {
_quickPicking = false
}

_charactersWhenPressed = keyboard.characterKeyCounter
keyboard.shiftKeyPressed = pressed
keyboard.updatePopper()
}
}

onClicked: {
if (keyboard.characterKeyCounter > _charactersWhenPressed) {
keyboard.shiftState = ShiftState.NoShift
} else if (!_quickPicking) {
if (keyboard.inSymView) {
keyboard.inSymView2 = !keyboard.inSymView2
} else {
keyboard.cycleShift()
}
}
}
}


Thanks

Bundyo
2014-01-23, 07:18
Be warned that messing with layouts.conf may break software updates (SSU). Jolla should creates a method how to select which keyboards are available in selection list and officially support third party keyboard layouts. Until then you should create you own keyboard specific .conf file to layouts directory and live with all those languages in the list. You can however define same keyboards even multiple times and thus list you favorite ones easily accessible in the beginning on keyboard list before the system list.

I guess this is not certain, as the previous update just overwrote all changed files (including my custom Popper:)

Bundyo
2014-01-23, 07:21
Ok, tried to play a few hours with many files, but without success :(

this is a ShiftKey.qml file, if it possible to disable here auto-capitalization ?

...

Thanks

Why don't you just put the same characters for lower and upper case?

Schturman
2014-01-23, 08:35
Why don't you just put the same characters for lower and upper case?
I can do it, but I want to leave english, it's nice when you need to write one eng. words, you just press shift to use english vkb instead switching vkb...
Just donn't want auto-capitalization ;)

Schturman
2014-01-23, 20:27
Guys, how to add dead key (empty place) ?
What I need to add to for example:
CharacterKey { ?????????; symView: "*"; symView2: "`" }????????? = dead key

Salla
2014-01-24, 20:33
Can someone try to make a Esperanto keyboard for Jolla? http://en.wikipedia.org/wiki/Esperanto#Alphabet

I'm glad if this can be done.

Schturman
2014-01-25, 23:00
OK, I updated my previous post. I completely changed vkb, it looks much better, 3 different variation :)

http://talk.maemo.org/showpost.php?p=1408245&postcount=106

Schturman
2014-01-25, 23:46
Maybe someone already know how to adjust text to right, that when I type hebrew it will start writing from right side ?
Maybe adding some lines to the vkb qml file ?

Keeper of the Keys
2014-01-27, 00:53
I switched to my Jolla thanks to you Schturman! (Hebrew was an absolute prerequisite)

As far as the shift on start, I noticed the chinese input method has no auto capitalization, maybe that's where we need to look for hints...?

peremen
2014-01-27, 02:19
I just got my Jolla today and so far it is very enjoyable. The only major concern for me is the lack of Korean input system. Following examples of this thread (thanks guys!) I was able to successfully create and install kr.qml and kr.conf files. Unfortunately inputting Korean is more complex than that. While each key represents an alphabet, words are formed from syllables. Syllables are formed by combining 2-4 alphabets into a "squared" syllable, for example:

ㄱ = k
ㅣ = i
ㅁ= m
김 = kim

N9 seems to have support for Korean input (shootspeak.com/2011/10/13/korean-input-support-for-nokia-n9-alpha-release/) but I have no idea whether it would work for Sailfish OS.

Do you guys have any ideas about this? What's needed for creating a more elaborate input mechanism such as Korean? I haven't got much experience with Maemo/MeeGo/Sailfish coding but I'm willing to give it a shot if someone could give a hint where to start.

Final question: is there any way of enabling Android's keyboards in Sailfish OS?

Thank you for reading!

Based on Japanese keyboard posted here, I used custom input handler part to create Korean one.

Grab your rpm here: https://github.com/peremen/jolla-input-ko (click on releases section)

It may have bugs, so reporting bugs are always encouraged :)

Ascense
2014-01-27, 02:49
Based on Japanese keyboard posted here, I used custom input handler part to create Korean one.

Grab your rpm here: https://github.com/peremen/jolla-input-ko (click on releases section)

It may have bugs, so reporting bugs are always encouraged :)

Wow, I wish I'd found this earlier... Just wrote my own input handler for Korean over the weekend. :)

EDIT: your implementation looks to be better, though the ohi code is rather hard to follow

Schturman
2014-01-27, 06:01
I switched to my Jolla thanks to you Schturman! (Hebrew was an absolute prerequisite)

As far as the shift on start, I noticed the chinese input method has no auto capitalization, maybe that's where we need to look for hints...?
For now it work good also with autocap. I just added to it hebrew, all wirk good. I will check chinese...

m4r0v3r
2014-01-30, 10:35
i need to get rid of the fullstop button and extend the keyboard, its so annoying when i try and press space with my right fingers

Schturman
2014-01-30, 18:15
I updated my post with RPM files, ready to installation :)

http://talk.maemo.org/showpost.php?p=1408245&postcount=106

gaiosgf
2014-01-30, 20:44
It's late so I can't write an advanced guide but here's a quick overview. You have to enter the following commands in terminal. Stuff after # are comments, you don't need to type them (not that it does any harm if you do)

devel-su


You will be asked for password. Nothing will show up when you type the password but don't worry. The password is the one which you entered when you enabled developer mode

After successfully entering password, press enter and the terminal prompt should change from bash-3.2$ to bash-3.2#


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/el.qml
curl http://play.qwazix.com/jolla_layouts/layoutsappend.conf >> layouts.conf


If you want to be able to switch between greek and english with the touch of a button, do the following instead of the above (all other languages will be disabled)


cd /usr/share/maliit/plugins/com/jolla/layouts
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/el.qml
mv en.qml en.qml.bak #back up old english layout
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/en.qml
mv layouts.conf layouts.conf.bak #back up old layout configuration
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/layouts.conf
curl -O http://play.qwazix.com/jolla_layouts/quick_switch/globe.png


For the changes to be applied exit root and restart the keyboard server

systemctl --user restart maliit-server.service


or just

killall maliit-server


Enjoy
Σας ικετευω παιδια,καποιος συμπατριωτης μπορει να κανει τον κοπο να μου εξηγησει στα ελληνικα τι ακριβως να κανω;Δεν ξερω γιατι,αλλα το τερματικο του jolla μου φαινεται καπως διαφορετικο απο του Ν9 και το φοβαμαι λιγακι.Ευχαριστω.

marsch
2014-01-31, 11:56
Maybe everybody knows this, but I was not aware -- if you create backup of layouts.conf, rename and leave .conf suffix, keyboards starts to multiply and after few switches active keyboard dissappear.

This gave me idea that maalit will read all conf files in /usr/share/maliit/plugins/com/jolla/layouts/.

So what I did -- instead of modifying original "layouts.conf" with additional definitions I made new "custom-layouts.conf" file and filled with custom keyboards.

I don't know if this is "proper" way, but it works. Usefull? Maybe :)

Take all permissions from the backup directory by issuing chmod 000 BACKUPDIR (you could theoretically leave the execute bit, then take 100 instead of 000).

ZogG
2014-01-31, 16:23
I updated my post with RPM files, ready to installation :)

http://talk.maemo.org/showpost.php?p=1408245&postcount=106

it lacks font/ font configuration. i see the keyboard of squares ;)
As well you need just to add hebrew, not remove others ;)

Schturman
2014-01-31, 19:15
Ohhh, you are right, sorry I forgot to add apply command for the font because for me it already applied :) , I will update later today. About lyouts.conf, I know but I don't want to see all other languages, like it as is ;)

PS. finally you got your Jolla ?

Penguin
2014-01-31, 19:28
Overwriting system files in with RPMs offered for others to download is not very nice thing.

Schturman
2014-01-31, 21:24
Overwriting system files in with RPMs offered for others to download is not very nice thing.
I wrote it on the page, also uninstallation will restore all original files back.
The problem is I can't find in the files that I need to apply where them use file named: InputHandler.qml
If I already change this file also not important for me to change other too. If I will find how to point my files to this one, I can create another packages that will use only my files without overriding system files.
For now who want to use it, can use it as is. It work good without any problem and easy uninstalable (restore all to default)..

Schturman
2014-01-31, 21:26
PS. New version uploaded to OpenRepos.
* Fixed applying font

http://talk.maemo.org/showpost.php?p=1408245&postcount=106

TMavica
2014-02-02, 02:08
is it possible port the chinese input method from n9 to Jolla?
the one preinstalled in Jolla is useless..

gsalone
2014-02-02, 07:23
Σας ικετευω παιδια,καποιος συμπατριωτης μπορει να κανει τον κοπο να μου εξηγησει στα ελληνικα τι ακριβως να κανω;Δεν ξερω γιατι,αλλα το τερματικο του jolla μου φαινεται καπως διαφορετικο απο του Ν9 και το φοβαμαι λιγακι.Ευχαριστω.

Open Terminal.
Change from bash-3.2$ to bash-3.2#:
devel-su
<password>

Just type those three exactly like you see them:
cd /usr/share/maliit/plugins/com/jolla/layouts

curl -O http://play.qwazix.com/jolla_layouts/el.qml

curl http://play.qwazix.com/jolla_layouts/layoutsappend.conf >> layouts.conf

Exit root to return to bash-3.2$
exit

Restart toh.service
systemctl --user restart maliit-server.service

gaiosgf
2014-02-02, 20:19
Open Terminal.
Change from bash-3.2$ to bash-3.2#:
devel-su
<password>

Just type those three exactly like you see them:
cd /usr/share/maliit/plugins/com/jolla/layouts

curl -O http://play.qwazix.com/jolla_layouts/el.qml

curl http://play.qwazix.com/jolla_layouts/layoutsappend.conf >> layouts.conf

Exit root to return to bash-3.2$
exit

Restart toh.service
systemctl --user restart maliit-server.service
τα εκανα ολα οπως τα γραφεις κι ενω δειχνει οτι πηγαν ολα καλα δεν βρισκω πουθενα ελληνικα.εκανα και reboot.

tiempjuuh
2014-02-02, 20:27
Αυταρ επει πετρας φυγομεν δεινην τε χαρυβδιν Σκυλλην τ', αυτικ' επειτα θεου ες αμυμονα νησον ικομεθ'.

:)

Schturman
2014-02-02, 23:37
Fixed version uploaded to OpenRepos.

http://talk.maemo.org/showpost.php?p=1408245&postcount=106

Penguin
2014-02-03, 00:58
I have been creating toolset for managing custom keyboards and while testing my package creation tools I took liberty to publish Greek keyboard layout as RPM for others too. It can be downloaded from OpenRepos: https://openrepos.net/content/penguin/greek-keyboard

albloushi
2014-02-03, 03:18
Arabic layout:

Still needs work:
1) use Arabic numbers instead of the hindi ones (hindi ones will cause issues. status of support in sailfish is unknown).
2) a lot of empty buttons when tapping shift.
3) Add some accents/diacritics?

Rename the file to ar.qml and install as usual. I don't have much free time to complete it now but I might in the future.


I modified the file for the Arabic layout.

Silwer
2014-02-03, 07:54
Penguin & Schturman
Could you share screenshots of your custom keyboards? Just to get ideas how you have modified the layout...

gabriel9
2014-02-03, 08:31
Here is Serbian Cyrillic: https://bitbucket.org/gabriel9/sailfish-serbian-keyboard/get/master.tar.bz2
And it is still work in progress.

Best regards.

Schturman
2014-02-03, 08:35
Penguin & Schturman
Could you share screenshots of your custom keyboards? Just to get ideas how you have modified the layout...
press on the link 3 oosts above you..

gsalone
2014-02-03, 08:39
τα εκανα ολα οπως τα γραφεις κι ενω δειχνει οτι πηγαν ολα καλα δεν βρισκω πουθενα ελληνικα.εκανα και reboot.

Apla phgaine sta mhnymata, krata pathmeno to space mexri na emfanistei h lista me tis glwsses kai epelekse ta ellhnika.
an den ta vlepeis, kapoio typo tha exei ginei stis entoles.

gsalone
2014-02-03, 08:43
I have been creating toolset for managing custom keyboards and while testing my package creation tools I took liberty to publish Greek keyboard layout as RPM for others too. It can be downloaded from OpenRepos: https://openrepos.net/content/penguin/greek-keyboard

I have already installed Greek from qwazix tip, so someone else would have to test it :)
Just a question, is this package permanently staying, even after a jolla sw update?

gsalone
2014-02-03, 08:52
Αυταρ επει πετρας φυγομεν δεινην τε χαρυβδιν Σκυλλην τ', αυτικ' επειτα θεου ες αμυμονα νησον ικομεθ'.

:)

Someone is reading Homer :)

Bundyo
2014-02-03, 11:09
The ones that use a separate conf file do stay after an update. The bulgarian one, for instance, does.

Penguin
2014-02-03, 23:31
I have already installed Greek from qwazix tip, so someone else would have to test it :)
Just a question, is this package permanently staying, even after a jolla sw update?

Yes, I will not create packages overwriting system files. Of course there is a risk of overwriting if Jolla starts naming their files with prefix "custom_" but I think it will be very minor risk.

Penguin
2014-02-04, 00:31
Penguin & Schturman
Could you share screenshots of your custom keyboards? Just to get ideas how you have modified the layout...

Few web pages with screenshots:

https://openrepos.net/content/penguin/emoji-keyboard
https://github.com/JanneEdelman/the-emoji-keyboard/wiki/User-Guide
https://twitter.com/JanneEdelman/media - screenshots during the evolution of The Emoji Keyboard


And couple videos:

http://youtu.be/PxerLPM1zas
http://youtu.be/4GQApHayoIY


Or install the rpm package and look at it in action. You can also access files in phone or you can extract rpm package
rpm2cpio keyboard-custom-emoji-0.2-5.armv7hl.rpm | cpio -idmv

Kaacz
2014-02-04, 02:04
Solution for accents with multiple dead keys by Venemo here (http://talk.maemo.org/showpost.php?p=1401005&postcount=67)


Sorry, but this is no "solution". This is crazy math-phys workaround to make this bug working. Definition is useless and mad.

Please remove this link from first post.

:)
Kaacz

Kaacz
2014-02-04, 02:07
On Linux, .rpm files are simple inside accessible in MC ..

Silwer
2014-02-04, 07:03
Is there a way to use bit smaller arrow keys? Currently used ones seem to be bit big and as a result space bar gets too small.

anidel
2014-02-04, 14:00
Anyone know how Maliit passed the type of the input box the user is inserting text into ?

I am asking because I'd like to show a 'password'-type keyboard when entering passwords in the password fields.

nodevel
2014-02-04, 14:19
Anyone know how Maliit passed the type of the input box the user is inserting text into ?

I am asking because I'd like to show a 'password'-type keyboard when entering passwords in the password fields.

This should work:

http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-textinput.html#echoMode-prop

anidel
2014-02-05, 09:32
Thanks. Will start looking for this and see if that type is passed onto Maliit. As I can see this for Maliit:

http://maliit.org/doc/framework/latest/namespace_maliit.html#ac574fd4c98da494bd95ad3652bf efe6c

which doesn't seem to include password. But that may be it's because they don't handle password fields differently from normal input text.

I hope Maliit will pass the password type to the keyboard plugin, otherwise a patch to Maliit is in order.

anyone
2014-02-06, 00:45
Attached a German keyboard layout with
Arrow keys

Number keys in upper row accented characters

Reduced time until accented character list appears


Unpack and install in /usr/share/maliit/plugins/com/jolla

Warning: Overwrites
InputHandler.qml (to make cursor keys working)

Popper.qml (to reduce time til accented characters appear)


For more details see https://together.jolla.com/question/21510/howto-adapt-sailfish-virtual-keyboard-vkb-layout/#comment-24801

cstom
2014-02-06, 07:18
Is there a way to use bit smaller arrow keys? Currently used ones seem to be bit big and as a result space bar gets too small.

Sure there is, you just need to put your custom arrow-icon to somewhere accessible, and use that image instead of the one in use now. You can define exactly the width of the button (remember, now there is landscape keyboard layout as well, so it should resize itself smartly :) )

Bundyo
2014-02-12, 06:38
Sorry, but this is no "solution". This is crazy math-phys workaround to make this bug working. Definition is useless and mad.

Please remove this link from first post.

:)
Kaacz

Well, I have no idea what the solution is, so I don't know why should I remove it. Why don't you discuss it with Venemo first?

Mo7utd
2014-02-14, 06:42
I modified the file for the Arabic layout.
Can please add conf file for arabic keyboard
Thank you keep the good work

peremen
2014-02-18, 17:54
Have anyone tried to implement 10-key based layout? I implemented Korean 10-key based layout based on numeric keypad. While it looks nice in portrait mode, landscape mode makes layout less nicer. There were separate qml files for portrait and landscape mode for numeric layouts, but how I can implement that kind of feature in custom-created layout for now?

My QML code is at: https://github.com/peremen/jolla-input-ko/blob/master/src/ko_naratgeul.qml

albloushi
2014-02-19, 03:59
Can please add conf file for arabic keyboard
Thank you keep the good work

Kindly find attached

zlatko
2014-02-22, 08:43
With the latest update a landscape mode for keyboard was introduced, but the spacebar row keys seem too low(in vertical direction). Is there a property that can be set to increase slightly the height of that row?
I understand that this lowering the height is done to increase the amount of screen left usable above the keyboard, but I would like to test different experience as well.

peremen
2014-02-22, 15:38
Not my code, I found Japanese kana-only (no kanji) keyboard layout (in Japanese): http://blog.livedoor.jp/furikku9310/archives/52355219.html

This blog also explains about how to test custom input handlers on the emulator.

Penguin
2014-02-22, 17:58
With the latest update a landscape mode for keyboard was introduced, but the spacebar row keys seem too low(in vertical direction). Is there a property that can be set to increase slightly the height of that row?
I understand that this lowering the height is done to increase the amount of screen left usable above the keyboard, but I would like to test different experience as well.

You can modify the spacebar row for custom layouts, but not just by changing single property value as all rows have equal height definde with keyHeight property. Visually spacebar row looks less tall but actual row and touch area are equal high compared to character keys.

zlatko
2014-02-23, 11:24
@Penguin
Thank you for the information! If key rows height is globally defined, it is a mystery for me why it was chosen the for the spacebar row to look narrower.

Penguin
2014-02-24, 02:57
It only looks narrower because those keys have visible boundaries. Character keys do not have and that keeps the illusion those are higher. IMO padding around spacebar row keys could be thinner than it is which would make those visually bigger looking keys. Functionality would be same though.

zlatko
2014-02-24, 05:57
@Penguin
You are probably right about the height. I measured this - in landscape all rows are proportionally shrunk to cope with less space available. But in anyway for me the space bar row in landscape needs a slight tuning, making the key area visually(and functionally) bigger. This especially needed as space is used for keyboard layout changing.

Penguin
2014-02-24, 06:36
Give feedback and propose change in together.jolla.com. I can check the code but as I remember this would require pretty nasty amount of changes to get implemented for all layouts. Doesn't make sense if next OS update wipes those changes away.

zlatko
2014-02-24, 09:42
@Penguin
Already proposed this on TJC: https://together.jolla.com/question/656/keyboard-bugschangesideas/?answer=30086#post-id-30086. But so far I think I am the only one who feels it must be improved :)

Penguin
2014-02-24, 10:30
I voted up

Schturman
2014-02-25, 20:27
Hi to all
Can someone help me here ? How I can fix this problem:

https://dl.dropboxusercontent.com/u/17706605/Jolla1/20140225185402_1.jpg

I need to move the "Enter" button to the corner and the spacebar should be stretched or just enlarged... In the portrait mode all is ok...
Thanks

Penguin
2014-02-25, 23:16
Show the spacebar row code and how you define key widths for the row.

Schturman
2014-02-26, 07:27
Show the spacebar row code and how you define key widths for the row.
Ohh sorry, I forgot to add this:
import QtQuick 2.0

KeyboardRow {
SymbolKey {}
FunctionKey {
icon.source: "image://theme/icon-s-sync"
onClicked: {canvas.layoutRow.switchLayout(0); canvas.updateIMArea()}
width: 64
}
LeftArrowKey {}
SpacebarKey {
fixedWidth: true
}
RightArrowKey {}
EnterKey {}
}

and in the en.qml it just:
SpacebarRowArrowEn {}

Salla
2014-03-03, 21:22
Can someone try to make a Esperanto keyboard for Jolla? http://en.wikipedia.org/wiki/Esperanto#Alphabet

I'm glad if this can be done.

Esperanto keyboard layout is now configured and istalled.

mced
2014-03-04, 06:41
I need to move the "Enter" button to the corner and the spacebar should be stretched or just enlarged... In the portrait mode all is ok...

I've edited this file:

/usr/share/maliit/plugins/com/jolla/KeyboardGeometry.qml

Look for this line:

property int spacebarKeyWidthLandscape: 324*scaleRatio

And play with that number. Mine is 280. This is my Spanish layout now. I love those arrows at the sides. I know, that lower bar is not really centered...

http://i62.tinypic.com/5npxqr.jpg

You must make backups when modifiying files, both original and custom. I guess they will be overwritten in future updates.

Schturman
2014-03-04, 07:18
I've edited this file:

/usr/share/maliit/plugins/com/jolla/KeyboardGeometry.qml

Look for this line:

property int spacebarKeyWidthLandscape: 324*scaleRatioAnd play with that number. Mine is 280. This is my Spanish layout now. I love those arrows at the sides. I know, that lower bar is not really centered...

http://i62.tinypic.com/5npxqr.jpg

You must make backups when modifiying files, both original and custom. I guess they will be overwritten in future updates.
Thank you, I will try...

mced
2014-03-04, 07:29
Hint: when playing with those Maliit files, I use to have two SSH sesions opened:

-A root one (devel-su) for editing.
-A normal one (nemo) just for invoking:
systemctl --user restart maliit-server.service

Schturman
2014-03-04, 09:03
I know that , thanks ;)

EDIT: Thanks, it worked.. My vkb fixed :)

Penguin
2014-03-05, 03:02
Do not mess with system keyboard files. You can modify even the spacebar width for your keyboard layout only without messing other layouts.

Ohh sorry, I forgot to add this:
import QtQuick 2.0

KeyboardRow {
SymbolKey {}
FunctionKey {
icon.source: "image://theme/icon-s-sync"
onClicked: {canvas.layoutRow.switchLayout(0); canvas.updateIMArea()}
width: 64
}
LeftArrowKey {}
SpacebarKey {
fixedWidth: true
}
RightArrowKey {}
EnterKey {}
}


I would say to this that define FunctionKey to be with fixed width when you have defined the exact width. Opposite for spacebarkey that if you defined it should be fixed width then define how wide it should be.

That way it may work nicely in Jolla, but not in other phones with other resolutions. IMO spacebar should always have flexible width to fill the row what is left from the other keys.

Schturman
2014-03-05, 07:24
OK, I have another problem, when In portrait mode the spacebar key is good, but in the landscape it is small, If I enlarge the spacebar key in spacebar row, it also enlarged in the portrait mode :(
Can I somehow add separated spacebarkey for portrait and for landscape in the spacebar row ?

igor_b
2014-03-08, 18:52
I created Croatian layout. It's just a QWERTZ layout with additional accented characters.

Download it here:
http://f.hyperglitch.com/custom_hr.qml
http://f.hyperglitch.com/custom_hr.conf

As with other keyboard layouts, copy the qml files to /usr/share/maliit/plugins/com/jolla/layouts/ and restart keyboard service to apply changes:

systemctl --user restart maliit-server.service

Penguin
2014-03-08, 19:19
Better if you create your own "custom_hr.conf" file and system layouts.conf does not need to be changed. Less room for errors and less broken pieces after system update.

Penguin
2014-03-10, 02:55
After some amount of testing I created RPM packages for several keyboard layout announced on this thread and made those available from Openrepos:


Catalan (https://openrepos.net/content/penguin/catalan-keyboard)
Croatian (https://openrepos.net/content/penguin/croatian-keyboard)
Czech (https://openrepos.net/content/penguin/czech-keyboard)
Czech QWERTY (https://openrepos.net/content/penguin/czech-qwerty-keyboard)
English Colemak (https://openrepos.net/content/penguin/english-colemak-keyboard)
English Dvorak (https://openrepos.net/content/penguin/english-dvorak-keyboard)
Estonian (https://openrepos.net/content/penguin/estonian-keyboard)
French Bépo (https://openrepos.net/content/penguin/french-bepo-keyboard)
French-Swiss (https://openrepos.net/content/penguin/french-swiss-keyboard)
Greek (https://openrepos.net/content/penguin/greek-keyboard)
Hungarian (https://openrepos.net/content/penguin/hungarian-keyboard)
Latvian (https://openrepos.net/content/penguin/latvian-keyboard)
Serbian cyrillic (Српски) (https://openrepos.net/content/penguin/serbian-cyrillic-keyboard)
Serbian latin (Srpski) (https://openrepos.net/content/penguin/serbian-latin-keyboard)
Slovenian (https://openrepos.net/content/penguin/slovenian-keyboard)


I hope this is ok for authors of each keyboard layout.

To make sure nothing is conflicting with system keyboard files and each layout can be installed independently, I made few modifications to file names and QML and configuration files. I think this way these are more user friendly for not so advanced users and installation and uninstallation can be made nice and safe.

I also have Arabic keyboard layout ready for packaging but it is lacking proper font with arabic glyphs and licensed with applicable license for distributing it in keyboard package.

Edit (2014-03-10 14:43 CET):
Added Croatian layout (identical with Slovenian layout)

Edit (2014-03-10 15:25 CET):
Added Estonian layout

Edit (2014-03-28 21:58 CET):
Added Serbian cyrillic and latin layouts
Greek layout listed on same list as other layouts

Edit (2014-03-31 16:55 CET):
Added English Dvorak keyboard

Schturman
2014-03-10, 05:45
Thanks for you work , can you share the .spec file of one of this vkb's ?

Silwer
2014-03-10, 06:19
Penguin - Could you also make Estonian keyboard rpm? http://talk.maemo.org/showpost.php?p=1402798&postcount=80

Thanks!

igor_b
2014-03-10, 08:32
Better if you create your own "custom_hr.conf" file and system layouts.conf does not need to be changed. Less room for errors and less broken pieces after system update.

i didn't knew that was possible. i edited the original post.

Penguin
2014-03-10, 11:38
SPEC file of a single custom keyboard layout as requested:

Name: keyboard-custom-hu
Version: 0.1
Release: 1
Summary: Hungarian keyboard layout
Group: Qt
License: BSD
Vendor: Janne Edelman
URL: https://openrepos.net/content/penguin/hungarian-keyboard
Source0: %{name}-%{version}-%{release}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: jolla-keyboard
Requires: jolla-xt9
Requires: qt5-qtdeclarative-systeminfo

%description
Enables Hungarian keyboard layout in native SailfishOS applications in Jolla.

%prep
%setup -q
pwd
ls -l
echo prep done

%install
mkdir -p %{buildroot}/usr/share
cp -av . %{buildroot}/usr/share
pwd
ls -l

%clean
rm -rf %{buildroot}

%files
%defattr(644,root,root,-)
%doc
/*

%post
fc-cache -r
su nemo -c "/bin/systemctl --user restart maliit-server.service"

%postun
su nemo -c "/bin/systemctl --user restart maliit-server.service"


and content of source tarball for above SPEC file:

keyboard-custom-hu-0.1/
keyboard-custom-hu-0.1/maliit/
keyboard-custom-hu-0.1/maliit/plugins/
keyboard-custom-hu-0.1/maliit/plugins/com/
keyboard-custom-hu-0.1/maliit/plugins/com/jolla/
keyboard-custom-hu-0.1/maliit/plugins/com/jolla/layouts/
keyboard-custom-hu-0.1/maliit/plugins/com/jolla/layouts/custom_hu.conf
keyboard-custom-hu-0.1/maliit/plugins/com/jolla/layouts/custom_hu.qml


I will still clean up my scripts before I will post all into Github.

Schturman: You could change your keyboard RPM's so that those do not overwrite any system files. You've wrote that those return original files when uninstalled, but that actually is real issue with them if system has been updated meanwhile and rpm uninstall will replace files updated by system update with files from earlier sailfish release.

Silwer: I will check that if there was some issue why I skipped Estonian keyboard.

EDIT:
(however, when you press 'up' in the first row, it exists from editing mode... If I'll have some time, I'll check if there is anything available to prevent this.)

Have you solved this issue or is there any issue still?

igor_b: Is there difference in Slovenian and Croatian keyboard layouts except language code? I compared your Croation keyboard to what generally has been documented as "Hrvatska Tipkovnica" in Wikipedia (QWERTZ (http://hr.wikipedia.org/wiki/QWERTZ) and Hrvatska nacionalna tastatura (http://hr.wikipedia.org/wiki/Datoteka:Hrvatska_nacionalna_tastatura.svg)) and another virtual keyboard (http://www.branah.com/croatian) I found. This national keyboard is different of course but how about qwertz?

Generally I would say that this is excelled work and you who have contribited to these keyboards have earned the recognitition what Jolla spokes man gave this morning "Great work!".

However one thing I would like to comment regarding many of virtual keyboards. When you take that English or any other keyboard layout QML file as basis, please be brave and add more keys on the keyboard rows if your national keyboard insists that. Maxium of 12 keys can be put on single row and keyboard still remains usable, so you do not have to stick in the number of keys on English keyboard.

Silwer
2014-03-10, 12:04
Silwer: I will check that if there was some issue why I skipped Estonian keyboard.

EDIT:


Have you solved this issue or is there any issue still?

I never had issue with "Up" arrow.

I used this keyboard only for a short period of time with last Sailfish OS version. After upgrading to newer OS version, keyboard arrows stopped working as during the upgrade part of the keyboard files were overwritten. I am using currently original Finnish keyboard. It is pretty close to Estonian one, however, sometimes I still miss the arrows I had in the custom Estonian keyboard.

igor_b
2014-03-10, 12:15
igor_b: Is there difference in Slovenian and Croatian keyboard layouts except language code? I compared your Croation keyboard to what generally has been documented as "Hrvatska Tipkovnica" in Wikipedia (QWERTZ (http://hr.wikipedia.org/wiki/QWERTZ) and Hrvatska nacionalna tastatura (http://hr.wikipedia.org/wiki/Datoteka:Hrvatska_nacionalna_tastatura.svg)) and another virtual keyboard (http://www.branah.com/croatian) I found. This national keyboard is different of course but how about qwertz?


It seems that Croatian (QWERTZ) and Slovenian keyboard layouts are exactly the same (didn't kew that till now :)). That other (national) layout is something I've never seen before and I'm using Croatian keyboards for almost twenty years :D.


When you take that English or any other keyboard layout QML file as basis, please be brave and add more keys on the keyboard rows if your national keyboard insists that. Maxium of 12 keys can be put on single row and keyboard still remains usable, so you do not have to stick in the number of keys on English keyboard.

I tried making full variant of the keyboard with additional keys but (at least for me) usability is much lower so I decided to use accents for extra characters (as it is on Android and iOS keyboards too).

Penguin
2014-03-10, 13:48
Ok, I copied existing Slovenian layout to be as Croatian layout and created own RPM for that. Any improvenets are welcome as you are the ones using those layouts not me and you know what works best.

igor_b
2014-03-10, 14:08
Ok, I copied existing Slovenian layout to be as Croatian layout and created own RPM for that. Any improvenets are welcome as you are the ones using those layouts not me and you know what works best.

Slovenian layout, as shown here http://www.branah.com/slovenian is identical to Croatian (except letter "ž" is more often in the row below, after "ć"). But the one that you packaged is not the best one.. It has characters "š", "č" and "ž" on direct keys but "ć" and "đ" are hidden behind accented keys (in Slovenian those letters are maybe used more rarely but that's not the case for Croatian).

Penguin
2014-03-10, 14:24
Slovenian layout, as shown here http://www.branah.com/slovenian is identical to Croatian (except letter "ž" is more often in the row below, after "ć"). But the one that you packaged is not the best one.. It has characters "š", "č" and "ž" on direct keys but "ć" and "đ" are hidden behind accented keys (in Slovenian those letters are maybe used more rarely but that's not the case for Croatian).

Thanks for your feedback! I will look those still today to make better layout available. I will study more that layout you have made and all additional input is also welcome.

Penguin - Could you also make Estonian keyboard rpm? http://talk.maemo.org/showpost.php?p=1402798&postcount=80

Thanks!

Estonian keyboard is now available from OpenRepos too but without arrow keys as that would require modifying system files and I do not want to publish a single rpm package which mess with system files.

If someone has feasible solution to the arrow keys without modifying systems InputHandler.qml, please point it out so it could be adapted in custom keyboards.

Penguin
2014-03-10, 15:04
Would this be better croatian layout with direct keys "ć" and "đ" and "š", "č" and "ž" hidden behind accented keys.

I was also thinking to implement this http://www.branah.com/croatian as such, but it does not fit as is to portrait mode vkb and I am afraid people would feel even 12 keys on row too tight, although IMO it could be usable.

igor_b
2014-03-10, 15:35
Would this be better croatian layout with direct keys "ć" and "đ" and "š", "č" and "ž" hidden behind accented keys.

No, it's actually the same. All those characters are of "same importance".


I was also thinking to implement this http://www.branah.com/croatian as such, but it does not fit as is to portrait mode vkb and I am afraid people would feel even 12 keys on row too tight, although IMO it could be usable.

I tried putting all of them on direct keys and yes, it could be usable, but it's not :) - any typing without being very still is quite a challenge.

I personally don't think any of those characters should be on direct keys. Putting it all on accented keys is the way Android and iOS are doing it and it works well.

Penguin
2014-03-10, 15:44
Now I got it. Stock keyboars have also dead keys on use, would that be a working solution, although not like iOS or Android? Neither is SailfishOS or Jolla. Of course if you think that your layout is the best solution then I can just take your layout as is and put into rpm.

Edit: I guess dead keys won't make it any faster to type than accented keys with popup do and thus no benefit from those. I do not know.

Penguin
2014-03-10, 16:34
Hi,

here's my version for a catalan layout (copy this file ca.qml in /usr/share/maliit/plugins/com/jolla/layouts/):

http://ubuntuone.com/7Bz8nNQLec0EIfnf7MRGsV


Are those dead key accents supposed work or are those just historical leftovers from spanish keyboard layout? Currently there is no deadkey to make those work.

Silwer
2014-03-10, 18:30
Thank you for the Estonian version. However, I found few issues to be ammended:

1. There should also be letters "š" and "ž" hidden under "s" and "z"
2. Also, it would be good if by pressing "Shift", keys "." and "," turn into "!" and "?" (this we had on the Estonian Nokia N9 keyboard and it was very comfortable to use).

igor_b
2014-03-10, 19:30
Now I got it. Stock keyboars have also dead keys on use, would that be a working solution, although not like iOS or Android? Neither is SailfishOS or Jolla. Of course if you think that your layout is the best solution then I can just take your layout as is and put into rpm.

Edit: I guess dead keys won't make it any faster to type than accented keys with popup do and thus no benefit from those. I do not know.

IMO both dead keys and accented keys could be equally good solutions. Now when I think, maybe the dead keys would be even a bit better (never tried it for real things though so I can't say for sure - maybe I'll give it a go tomorrow :)).

But I'm not for adding direct keys - there are five of them and if you put them all it's too much and adding just some is not good solution.

Schturman
2014-03-11, 05:57
Schturman: You could change your keyboard RPM's so that those do not overwrite any system files. You've wrote that those return original files when uninstalled, but that actually is real issue with them if system has been updated meanwhile and rpm uninstall will replace files updated by system update with files from earlier sailfish release.
1. when update will come, I will update my packages with new backup files.

2. I would like to do this, but the problem is I'm not programmer and I dondon't know how to point some files to use for example custom "inputhandler.qml" file... This is a reasone that I just override the original one and restore it on uninstallation...

Penguin
2014-03-11, 09:45
1. when update will come, I will update my packages with new backup files.

2. I would like to do this, but the problem is I'm not programmer and I dondon't know how to point some files to use for example custom "inputhandler.qml" file... This is a reasone that I just override the original one and restore it on uninstallation...

1. That does not solve possible issue when someone uninstalls the keyboard after system update. You are expecting re-installation which might never happen in such case.

2. Study, study and study. Is there any other need for custom InputHandler than arrow keys? Thats not the only file you have changed and currently your keyboard is breaking other keyboard layouts.

I know this might be rare issue but still we should not just select the easiest path but. We should keep in mind that when making these modifications publicly available there will more users downloading and installing these than just people writing and participating here on TMO.

An other thing I just noticed: Where does this https://openrepos.net/content/schturman/hebrew-vkb-4-arrows say it contains English and Russian keyboards too and that it will change those? Is that just a mistake or is it missing description.

I will look this arrow keys issue that has made so many custom keyboard creators to modify InputHandler.qml. For all other files there is already a solution how to avoid overwriting system files. You can find those solutions in use in Korean keyboards, Emoji Keyboard, and in those Croatian and Czech keyboard RPM's I made available recently.

If you want to look inside the rpm without installating it, that can be done with commands
rpm2cpio package-name.rpm | cpio -idmv
replace the package-name.rpm with your rpm file from which you want to extract the files.

Penguin
2014-03-11, 14:19
Ok, here we have a solution to arrow keys without altering systems InputHandler.qml.

Same file supports directions up, down, left and right. You can call it place it into you keyboard QML with following code lines:

CustomArrowKey { direction: "left" }
CustomArrowKey { direction: "up" }
CustomArrowKey { direction: "down" }
CustomArrowKey { direction: "right" }


If default key width is not ok for your needs, you may define property value arrowKeyWidth like this
CustomArrowKey { direction: "left"; arrowKeyWidth: 100 }
or with property width like all other keys.

Repetition is on by default and can be disabled with repeat property as in any function key.
CustomArrowKey { direction: "up"; repeat: false }

When used in custom keyboards, please locate the file in such path it won't conflict with files installed from other custom keyboards.

Penguin
2014-03-11, 14:44
Thank you for the Estonian version. However, I found few issues to be ammended:

1. There should also be letters "š" and "ž" hidden under "s" and "z"


Thanks to cstom who originally created the layout. I have now updated those missing characters.

2. Also, it would be good if by pressing "Shift", keys "." and "," turn into "!" and "?" (this we had on the Estonian Nokia N9 keyboard and it was very comfortable to use).

Sorry to say, but I did not implement it yet. Instead I have put that to my todo list. I am trying to get some kind of custom keyboard framework in place and I would not like to maintain same code multiple times in different layouts. Currently those layouts are not in common code space but I am working with it.

Penguin
2014-03-11, 14:46
Just for notice, result from off the thread discussion and few prototypes was to use both accented keys and dead keys in parallel in Croatian keyboard and new version has been published earlier today.

Schturman
2014-03-11, 14:53
Penguin,
1. Big thanks for your help.
2. I looked again in to the Emoji vkb and I think I found how to point to my custom files. I need to do some tests to be sure if it will work...

Penguin
2014-03-11, 22:51
If you want to hack autocaps and preedit off in your custom keyboard that can be done easily with few lines in layout QML file:

KeyboardLayout {
// enables possibility to use own InputHandler,
// disables autocaps and text prediction
type: "custom"
Component.onCompleted: {
// disable autocaps
keyboard.autocaps = false
}
...
}


Value of property type can be actually anything which does not match to supported types.

Updated: bug fix to this instruction. Property type alone disables both text prediction and autocaps and enables usage of custom input handler. Do not use it unless you want to change input handler from default.

Update ; Ouch! I tried to disable to word prediction by changing value of read only property...

Schturman
2014-03-11, 23:22
OK, I did one test...
1. Created folder custom-he inside: /usr/share/maliit/plugins/com/jolla
2. Copied all .qml, .js and qmldir files from /usr/share/maliit/plugins/com/jolla to my folder custom-he
3. In he.qml I changed this line: import ".." to this one: import "../custom-he"
4. created custom-he.conf
5. edited KeyboardLayout.qml inside my folder custom-he to fit landscape and portrait mode.
5. restart maliit server.

The vkb loads ok, all work good without touching the original files EXCEPT arrows buttons :( they just not work for some reasons...
Here is a content of the one arrows (LeftArrowKey.qml):
import QtQuick 2.0
import Sailfish.Silica 1.0

FunctionKey {
icon.source: "image://theme/icon-l-left" + (pressed ? ("?" + Theme.highlightColor) : "")
repeat: true
key: Qt.Key_Left
width: 52
}2-3 hours tried different variations to get it work, but without succsess :(
Don't know how to get it work, or which file I need to edit...

Penguin
2014-03-12, 10:29
Check this http://talk.maemo.org/showpost.php?p=1416252&postcount=197 to get arrow keys working. Forget those LeftArrowKey.qml, RightArrowKey.qml, etc and use that one file for all four arrow key directions. It has internal input handler for arrow keys and it works.

Forget also that modified InputHandler.qml which you have and which adds support for arrow keys. You can't modify only that file to get custom input handler, you need more files from system and that wouldn't be feasible compared to solution I made in CustomArrowKey.qml

That and few other files also available in Github Gist: https://gist.github.com/JanneEdelman/9496850

Edit: Changing stock KeyboardLayout.qml is typically an indication that something is wrong with your layout, not in KeyboardLayout.qml file which is very flexible if your layout file has been properly defined. Let me know what is the problem with stock KeyboardLayout.qml, I think we can solve it.

andreas1
2014-03-12, 11:02
Mr Penguin, would you care to make an finnisk kb rpm with side-arrows?

Penguin
2014-03-12, 11:27
I am working to get custom keyboard framework implemented which would contain as many layouts as possible, preferrably separately installable and configurability to all layouts for spacebar row whether you want

possible deadkey on left or right side
arrow keys (left-right) or (left-right-up-down)
possible other alternatives

Penguin
2014-03-12, 11:28
French "ergonomic" layout fr-bépo : https://pad.lqdn.fr/p/sailfish-bepo

I got following feedback regarding this layout:
Thank you for this mapping;

But you are missing [W] key, so this mapping is not usable…
[W] key is next to [Z] (in place of []] on qwerty keyboard).

If there is not enough place on the first row, [W] should at least be accessible with a long press on [Z].
Another option could be to remove [È], which is already accessible with a long-press on [E].
You already did the same for [À] and [Ç]…

Edit: actually W was there behind V and now as own key too. Let's see how crowded users will feel this layout now. I kept previous version available just as backup option.

Schturman
2014-03-13, 10:46
Check this http://talk.maemo.org/showpost.php?p=1416252&postcount=197 to get arrow keys working. Forget those LeftArrowKey.qml, RightArrowKey.qml, etc and use that one file for all four arrow key directions. It has internal input handler for arrow keys and it works.

Forget also that modified InputHandler.qml which you have and which adds support for arrow keys. You can't modify only that file to get custom input handler, you need more files from system and that wouldn't be feasible compared to solution I made in CustomArrowKey.qml

That and few other files also available in Github Gist: https://gist.github.com/JanneEdelman/9496850

Edit: Changing stock KeyboardLayout.qml is typically an indication that something is wrong with your layout, not in KeyboardLayout.qml file which is very flexible if your layout file has been properly defined. Let me know what is the problem with stock KeyboardLayout.qml, I think we can solve it.
Ok, got it work with your arrowkey file :D
Thanks

P.S. But if user don't want to see all languages and want to see only 2-3, he still need replace layouts.conf file...

rob_kouw
2014-03-14, 11:40
Normally I use an English keyboard, and I compiled an extended English keyboard with a few changes.
- For a Dutchman not all extended characters are necessary, so I skipped most of them.
- I added numbers 1 to 0 at the upper row. It requires some counting ("Now where is the 7 again?"), but it should be doable.
- I added characters ;\([{ to the comma and !?:/)]} to the dot.
- Some other useful characters were added to the L. I thought that would be the easiest to remember. These characters are -#%*_

The keyboard is in the zip under enx.qml. There is an extra enx.conf file with it, all normal English settings are being used.

Both to be copied as instructed earlier as root to
/usr/share/maliit/plugins/com/jolla/layouts
Followed by restarting the Maliit engine
killall maliit-server
And to be selected from the spacebar as EnglishX.

Thanks to Penguin for helping me along the way.

Penguin
2014-03-14, 18:02
Very nice ideas for custom keyboards. I like!

Penguin
2014-03-14, 18:21
But if user don't want to see all languages and want to see only 2-3, he still need replace layouts.conf file...

Actually only once. We can also customize language selector, may be even layout vector storing all layouts, although that will require custom version of all stock languages wanted too, but thats what you have done now anyway.

Unless someone else will deepdive into this I will look this matter after next Sailfish update (or may be this night, who knows what mad scientist will do ;)

Schturman
2014-03-14, 20:14
Actually only once. We can also customize language selector, may be even layout vector storing all layouts, although that will require custom version of all stock languages wanted too, but thats what you have done now anyway.

Unless someone else will deepdive into this I will look this matter after next Sailfish update (or may be this night, who knows what mad scientist will do ;)
For now I leaved the original layout.conf file for the hebrew with 4 arrows. Already updated package on the openrepos.
Now I will try to do the same for two additional heb vkb's with toggle. Will see if I can leave orig. layout.conf or need to change it...
Thanks for your help..

Schturman
2014-03-14, 23:31
OK, finally I did it. All 3 variations of Hebrew vkb's updated and reuploaded to openrepos. Now all of them not touched the original files and all work :D
Thanks Penguin!

gaiosgf
2014-03-15, 00:03
greek with arrows?it was very helpfull.

Penguin
2014-03-17, 20:14
SailfishOS 1.0.4.20 Ohijärvi breaks custom keyboard installation process and you have go to settings to enable installed keyboard manually.

Does anyone know if there is a method to alter settings from command line or do we need to write an application to enable new keyboard layout automatically? I know pretty much how to do it from qml, but I would like to do it automatically from post install script when new keyboard layout is installed.

rob_kouw
2014-03-17, 20:55
My manually installed keyboard EnglishX went on without problems. Emoji are still there. Maybe the setting for Untrusted software should be enabled first?

Penguin
2014-03-17, 21:02
No problem with installation and "Untrusted software" setting does not make any difference. New keyboards won't be visible in keyboards language selection without enabling them in settings.

coderus
2014-03-17, 21:18
https://together.jolla.com/question/33614/fast-input-method-change-when-only-two-keyboards-available/

for fast switching between two layouts

Bundyo
2014-03-17, 22:06
I've installed my package and it was enabled by default (at least it was on when I opened the language chooser).

Penguin
2014-03-17, 23:22
I tested with your package (bulgarian_phonetic_keyboard) too and neither of my two Jollas enable that layout either. Could be something to do with if you have ever touched the enabled layout list in settings or not. I have.

Schturman
2014-03-18, 00:10
No problem with installation and "Untrusted software" setting does not make any difference. New keyboards won't be visible in keyboards language selection without enabling them in settings.
Hmmm.. My visible in keyboards language selection after installation, but I need to choose it because It not shown automatically after installation like it was before the last system update...

P.S. Just noticed, we can disable not necessary languages in keyboards language selection area :D

Penguin
2014-03-18, 02:21
So are you saying that you get new keyboard layout automatically visible in virtual keyboards language popper after installation and you do not have to go to Settings -> System Settings -> Text Input -> Keyboards and enable it from there? I do not mean keyboard already installed before SailfishOS update, but new ones.

I get new keyboards visible on text input settings as disabled keyboard and need to enable from there manually.

Anyway I have now configuration script that can automatically enable and disable keyboard when installed/uninstalled. I wait confirmations how this feature actually works for others and do some testing before updating any keyboard packages.

Schturman
2014-03-18, 05:32
yep, exactly.. not needed to go to setting.

Bundyo
2014-03-18, 08:34
I tested with your package (bulgarian_phonetic_keyboard) too and neither of my two Jollas enable that layout either. Could be something to do with if you have ever touched the enabled layout list in settings or not. I have.

Maybe because it was installed and enabled before the update (just guessing).

Penguin
2014-03-18, 10:01
Yes, only such keyboard is applicable to testing this, which was not installed during Ohijärvi update. Once enable remains enabled even if uninstalled and installed again. Once disabled remains disabled after uninstall - install cycle.

TMavica
2014-03-18, 10:45
do u know how to make chinese keyboard??

Penguin
2014-03-18, 14:41
Ok, now I have end user confirmation that new keyboard must be manually enabled from settings. I will proceed according to that and target to publish my solution to this by tomorrow.

Penguin
2014-03-19, 03:38
Czech keyboard (https://openrepos.net/content/penguin/czech-keyboard) has now script to enable it automatically during installation and cleanup configuration during uninstallation. After user feedback I will update other layouts too (or start fixing issues).

Install with warehouse to ensure keyboard-custom-common (https://openrepos.net/content/penguin/custom-keyboard-common) dependency package will be installed too or download it separate and install first.

Requires SailfishOS 1.0.4.x or newer and won't install on older releases.

Penguin
2014-03-19, 03:44
do u know how to make chinese keyboard??

Who? Me? I do not know chinese, but if you or anyone has interest to create one I can try to help in the creation process.

Schturman
2014-03-19, 05:53
Czech keyboard (https://openrepos.net/content/penguin/czech-keyboard) has now script to enable it automatically during installation and cleanup configuration during uninstallation. After user feedback I will update other layouts too (or start fixing issues).

Install with warehouse to ensure keyboard-custom-common (https://openrepos.net/content/penguin/custom-keyboard-common) dependency package will be installed too or download it separate and install first.

Requires SailfishOS 1.0.4.x or newer and won't install on older releases.
can you share your script please ?

Penguin
2014-03-19, 06:24
Of course. I want to ensure first that it works really properly

rob_kouw
2014-03-21, 15:28
So there are a lot of other keyboards now. Did anyone include a dictionary as well? To put it differently: I am using an English dictionary and word guesser for both Dutch and English messages. So the English dictionary is being flooded with Dutch words. Still, not all frequently used Dutch words are displayed by the word guesser, as English words seem to have a higher priority.

I wouldn't mind starting with an empty dictionary and call it Dutch. I would fill it up myself. Does anybody know how to proceed?

(And then I'd like to replace my messed-up English dictionary with an original one...)

Penguin
2014-03-21, 18:32
I have custom input handler under construction to prevent flooding dictionaries with words from other languages.

Dictionaries are based on commercial and closed source xt9 and adding custom dictionaries into that is not possible. I would be very much interested to implement custom word prediction and dictionary solution based on presage. Presage could be even used as plugin in maliit but Jolla is holding modifications they have made to maliit source code. There is also a challenge that it should be recompiled and stock maliit installation replaced with custom one, which in my opinion is not feasible solution for larger audience.

Presage could be used as Qt plugin with QML import if anyone with enough knowledge could help in such implementation. Implementing such goes way too much beyond my skills.

Stskeeps
2014-03-21, 18:53
Presage could be even used as plugin in maliit but Jolla is holding modifications they have made to maliit source code.


https://github.com/nemomobile-packages/maliit-framework/commits/master should really be it

Penguin
2014-03-21, 19:08
Thanks! Let's see what we can find out.

I don't still fancy about idea of replacing stock maliit with custom one. That might cause unexpected issues later.

Bundyo
2014-03-22, 05:14
I have custom input handler under construction to prevent flooding dictionaries with words from other languages.

Dictionaries are based on commercial and closed source xt9 and adding custom dictionaries into that is not possible. I would be very much interested to implement custom word prediction and dictionary solution based on presage. Presage could be even used as plugin in maliit but Jolla is holding modifications they have made to maliit source code. There is also a challenge that it should be recompiled and stock maliit installation replaced with custom one, which in my opinion is not feasible solution for larger audience.

Presage could be used as Qt plugin with QML import if anyone with enough knowledge could help in such implementation. Implementing such goes way too much beyond my skills.

You can also vote for that here:
https://together.jolla.com/question/6951/allow-adding-additional-languages-to-xt9/

Penguin
2014-03-22, 16:57
I have voted it there but it is more about replacing xt9 with presage which I do not see feasible solution in short term. Presage may require more own work than using xt9 requires and thus for commercial use and product creation with limited resources xt9 might be still better option. However xt9 won't be ever open and this might be also matter of resources.

Current xt9 as it has been implemented is also pretty useless. I am used to prediction system in iOS that allows me to write blindly as it replaces the written alphabets with proposed ones automatically. I can write words where no character is correct and still the prediction system finds the correct one automatically. Not always, but for most of the words. This xt9 system as it has been implemented in Jolla shows list of words where you need to select. With the time and effore to read the proposed words and select from those I can write the whole word and thus this current solution is useless for me.

branek
2014-03-28, 11:02
Hi all,

I would like to introduce 2 additional layouts for Jolla.

Serbian Latin, and Serbian Cyrillic.
Latin is almost like Slovenian which is used as starting point (one letter difference).

Cyrillic is made to be as similar to desktop keyboard layout as possible.

Penguin, could I kindly ask you to pack this and attach to your repository on openrepos. Thanks in advance. I would do it by myself, but I do not have setup here for that.

Thanks
Branek

Penguin
2014-03-28, 20:56
Thanks for your contribution to custom keyboard layouts. Both Serbian keyboard layouts now available from openrepos:

Cyrillic (Српски) (https://openrepos.net/content/penguin/serbian-cyrillic-keyboard)
Latin (Srpski) (https://openrepos.net/content/penguin/serbian-latin-keyboard)

gitful
2014-03-30, 18:40
And I made a layout for those of you who like Dvorak (https://gist.github.com/gitful/9878142).
If you have any suggestions, feel free to comment at the gist.

albloushi
2014-03-31, 03:35
Hi,

Can someone guide me how to create RPM in order to distribute the Arabic keyboard that I created via RPM?

Penguin
2014-03-31, 14:53
albloushi: Have you tested your layout? I tested and found some issues with it in accents. I am working to solve those issues with custom keyboard components to make for example popper work properly with characters currently having issues with stock keyboard components.

There has been posted sample SPEC file earlier in this thread. You need rpmbuild available in mersdk and various Linux distros to create the package. Very good rpm creation guides can be found by googling "How to create RPM package". For Arabic keyboard you need font files too with license allowing redistribution.

I took liberty to pack dvorak keyboard made by gitful and share it as rpm package at https://openrepos.net/content/penguin/english-dvorak-keyboard

albloushi
2014-04-01, 03:17
Penguin: yes, I tested the keyboard layout, and don't have any issue, the popper of accent is quite big, I don't know how to change the size of it.

yes, also I changed the layout, if you like, then I can share it with you.

And thanks for your reply.

zlatko
2014-04-01, 05:20
@Bundyo
Do you experience issues with word prediction when using the letter "ь" in Bulgarian Cyrillic keyboard? For me when I start to type a word with "ь"(e.g. "вальор") it is normally suggested until I enter "ь" - after that word I am typing is no longer underlined and there is no word prediction in top row. The next letters I type are considered new word by the word prediction.

Bundyo
2014-04-01, 17:31
Sorry, didn't see it here. Still no, though. :)

Penguin
2014-04-02, 01:13
albloushi: size of popper is big because it can't handle correctly glyphs with negative or no advance as in Arabic. Sorry There is no other way to fix that issue than write new popper working properly as I have done with emoji keyboard.

Please sharee that modified layout, I will look that and see what can be done for the popper.

I do not know the correct wording for all of those Arabic glyphs but I find this Arabic writing facinating because it differs so much from writing with latin characters. That makes me interested to work with Arabic layout.

albloushi
2014-04-08, 03:59
Penguin: Sorry for the delay, and appreciate your support.

Kindly find attached the layout

Jordi
2014-04-12, 06:31
Since the last SW update (1.0.5.16) the word prediction is not working anymore when I use my custom keyboard.

Previously, when switching to a custom keyboard, the phone was keeping the word prediction of the last standard keyboard used (French in my case).

Any idea to have this working again?

zlatko
2014-04-12, 07:04
I have same problem as @Jordi. I am using Bulgarian&English setup, both keyboard layouts modified to my liking and using a custom layouts.conf file. Since 1.0.5.16 I am not getting any word predictions. According to TJC thread dictionaries are in /home/nemo/.local/share/xt9/ but there is no such directory on my device.

Leinad
2014-04-12, 10:44
I have this directory, but word prediction also does not work for me, with custom keyboard.

there are 2 files in it:

[nemo@Jolla xt9]$ ls -l
total 1236
-rw-r--r-- 1 nemo nemo 10240 Apr 10 08:23 cp_pinyin.udb
-rw-r--r-- 1 nemo nemo 1249856 Apr 12 12:25 xt9.dlm


i tried to open them with a text editor, but this does not work.

Jordi
2014-04-12, 11:59
I also have this directory and I open the file called xt9.dlm: it's big, almost empty but contains the typed words, I recognise some sentences I typed in Mitakuuluu.