maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   SailfishOS (https://talk.maemo.org/forumdisplay.php?f=52)
-   -   Keyboard layouts for Jolla's Sailfish OS (https://talk.maemo.org/showthread.php?t=91917)

zlatko 2015-04-17 16:33

Re: Keyboard layouts for Jolla's Sailfish OS
 
What are the changes in update 1.1.4.28 with respect to keyboard? I can not get my manually added Bulgarian keyboard to work?

TemeV 2015-04-17 17:12

Re: Keyboard layouts for Jolla's Sailfish OS
 
Quote:

Originally Posted by tmi (Post 1467461)
For anyone still interested, I updated the keyboard to work in 1.1.4.28 and to support the split keyboard mode.

The 'g' is after the separator on purpose. That way the left side of the second row felt more usable to me. If this annoys someone too much, then just adjust the splitIndex value from "4" to "5" in layouts/en_ios.qml.

I rudely forked your work and modified it to Finnish version. Also some other changes to fit my taste. If someone is interested, files are here:
https://github.com/TemeV/Sailfish_Keyboard_fi-arrows

When I find a couple of more minutes to work with this I'll make a rpm.

abyzthomas 2015-04-17 18:11

Re: Keyboard layouts for Jolla's Sailfish OS
 
Quote:

Originally Posted by zlatko (Post 1467534)
What are the changes in update 1.1.4.28 with respect to keyboard? I can not get my manually added Bulgarian keyboard to work?

All changes I needed to fix were to accommodate the split keyboard feature.

In the <language>.qml, a new property value set :
splitSupported: true

If you are using the standard CharcterKey, then the above change is all you need I think.

If you have a custom qml for your Characters,
then look at CharacterKey.qml, and make adjustments:

New properies:
property int separator: SeparatorState.AutomaticSeparator
property bool implicitSeparator: true

Image - visible: property changed.

I think these were the only changes I had to make to fix for Malayalam Keyboard.

Bundyo 2015-04-17 18:55

Re: Keyboard layouts for Jolla's Sailfish OS
 
There are also some changes to the SpaceBarRow, which is modified in the Bulgarian keyboard. Zlatko, did you try this one I posted on TJC? I'll publish an update to OpenRepos later.

As for the changes - I think there are many, but we don't use most of them frequently. For instance, width is now called implicitWidth and as abyzthomas said - SeparatorState is now a separate object.

Also now there is a ContextAwareCommaKey which mutates depending on the input field and also splitting spacebar should be declared like this:

Code:

SpacebarKey {}
SpacebarKey {
    active: splitActive
    languageLabel: ""
}

And the splitIndex should point to the index between those.

Hope this helps.

Bundyo 2015-04-17 20:10

Re: Keyboard layouts for Jolla's Sailfish OS
 
The update is now live in OpenRepos.

zlatko 2015-04-17 21:01

Re: Keyboard layouts for Jolla's Sailfish OS
 
@Bundyo

Yes - definitely helps! :) Now I get it to work, but have to rework all my customizations :) Thank you!

pagis 2015-04-19 19:37

Re: Keyboard layouts for Jolla's Sailfish OS
 
Here is a greek layout that supports split keyboard, it has a flaw tho, for some reason in portrait mode, the DeadKey ' next to λ is merged with char on left i.e. λ' ;-(

DeadKey { id: deadKey; caption: "´"; captionShifted: "¨";}

any ideas?

Code:

import QtQuick 2.0
import ".."

KeyboardLayout {
    splitSupported: true

    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 {
        splitIndex: 5

        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 {
        splitIndex: 5

        ShiftKey {
            width: shiftKeyWidthNarrow
        }
        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 {
        splitIndex: 3

        SymbolKey {
            width: symbolKeyWidthNarrow
        }
        CharacterKey {
            caption: ","
            captionShifted: ","
            implicitWidth: punctuationKeyWidthNarrow
            fixedWidth: !splitActive
            separator: SeparatorState.HiddenSeparator
        }
        SpacebarKey {}
        SpacebarKey {
            active: splitActive
            languageLabel: ""
        }
        CharacterKey {
            caption: "."
            captionShifted: "."
            implicitWidth: punctuationKeyWidthNarrow
            fixedWidth: !splitActive
            separator: SeparatorState.HiddenSeparator
        }
        EnterKey {}
    }
}


tmi 2015-04-19 20:33

Re: Keyboard layouts for Jolla's Sailfish OS
 
I only skimmed but you could try changing width to implicitWidth. Maybe the ShiftKey messes something up... However, I'm just guessing here.

nodevel 2015-04-20 05:58

Re: Keyboard layouts for Jolla's Sailfish OS
 
Quote:

Originally Posted by pagis (Post 1467794)
Here is a greek layout that supports split keyboard, it has a flaw tho, for some reason in portrait mode, the DeadKey ' next to λ is merged with char on left i.e. λ' ;-(

DeadKey { id: deadKey; caption: "´"; captionShifted: "¨";}

any ideas?

Thanks, I thought I was the only one having this problem with my keyboard. I just checked the official Czech keyboard (by Jolla) and it is having the very same problem. Therefore it looks like it is a bug on Jolla's side.

pagis 2015-04-20 07:04

Re: Keyboard layouts for Jolla's Sailfish OS
 
I had a look at the other keyboard layouts, they add the dead key at the bottom bar, this seems to work now. However, if we want the dead key at the end of the base line (asdfghjkl') then I think there is layout problem since that line can accommodate 9 keys?

Here is another simpler version of the greek keyboard that has the dead key at the bar space line:

Code:

import QtQuick 2.0
import ".."

KeyboardLayout {
    splitSupported: true

    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 {
        splitIndex: 5

        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: "¡" }
    }

    KeyboardRow {
        splitIndex: 5

        ShiftKey {
            width: shiftKeyWidthNarrow
        }

        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 {}
    }
 
    SpacebarRowDeadKey {
        deadKeyCaption: "´"
        deadKeyCaptionShifted: "´"
    }
}



All times are GMT. The time now is 23:38.

vBulletin® Version 3.8.8