SailfishOS

De Disposition de clavier bépo

Cette page concerne l'installation d'un clavier virtuel de type bépo sur un appareil Jolla SailfishOS 3.0

Introduction

Il a été possible d'installer un clavier bépo sur SailfishOS. C'est en se basant sur un fichier trouvé sur Internet qu'une adaptation a été réalisée pour le charger sur un appareil Jolla sous SailfishOS 3.0.

Pour que le serveur de clavier virtuel maalit prenne en compte une nouvelle disposition, deux fichiers doivent être créés. Le fichier décrivant la disposition est bepo.qml, accompagné du fichier de configuration layout_bepo.conf, bien plus court. L'installation de ces deux fichiers devra être réalisée avec les droits de super-utilisateur, ce qui sera explicité.

Vous pourrez ajouter modifier cette disposition ou ajouter d'autres claviers.

Fichiers à créer

Deux fichiers "simple texte" doivent être créés (notepad, gedit, kwrite, nano, mc, vim...), en copiant-collant les deux zones suivantes. Le reste de cette page suppose que les fichiers sont créés sur un PC avant d'être transférés sur le smartphone.

Fichier bepo.qml

Il s'agit du fichier de description de la disposition de clavier. Il est possible de modifier ce fichier, à condition de savoir ce que l'on fait.

// No copyright (C)... Enjoy! Done by RbN (Jan 2014)
// Adapté à SailfishOS 3.0 par jchrbe (2019.02.05, rév. 2019.02.17)

import QtQuick 2.0
import com.jolla.keyboard 1.0
import ".."

KeyboardLayout
  {
  splitSupported: true

  KeyboardRow
    {
    CharacterKey { caption: "b"; captionShifted: "B"; symView: "1"; symView2: "€" }
    CharacterKey { caption: "é"; captionShifted: "É"; symView: "2"; symView2: "£" }
    CharacterKey { caption: "p"; captionShifted: "P"; symView: "3"; symView2: "$" }
    CharacterKey { caption: "o"; captionShifted: "O"; symView: "4"; symView2: "¥"; accents: "oœöô"; accentsShifted: "OŒÖÔ" }
    CharacterKey { caption: "è"; captionShifted: "È"; symView: "5"; symView2: "?" }
    CharacterKey { caption: "v"; captionShifted: "V"; symView: "6"; symView2: "%"; accents: "vw"; accentsShifted:"VW" }
    CharacterKey { caption: "d"; captionShifted: "D"; symView: "7"; symView2: "<" }
    CharacterKey { caption: "l"; captionShifted: "L"; symView: "8"; symView2: ">" }
    CharacterKey { caption: "j"; captionShifted: "J"; symView: "9"; symView2: "[" }
    CharacterKey { caption: "z"; captionShifted: "Z"; symView: "0"; symView2: "]" }
    }

  KeyboardRow
    {
    CharacterKey { caption: "a"; captionShifted: "A"; symView: "*"; symView2: "`"; accents: "aàâ"; accentsShifted: "AÀÂ" }
    CharacterKey { caption: "u"; captionShifted: "U"; symView: "#"; symView2: "^"; accents: "uûùü"; accentsShifted: "UÛÙÜ" }
    CharacterKey { caption: "i"; captionShifted: "I"; symView: "+"; symView2: "|"; accents: "iîï"; accentsShifted: "IÎÏ" }
    CharacterKey { caption: "e"; captionShifted: "E"; symView: "-"; symView2: "_"; accents: "eëê€"; accentsShifted: "EËÊ€" }
    CharacterKey { caption: "c"; captionShifted: "C"; symView: "="; symView2: "§"; accents: "cç"; accentsShifted: "CÇ" }
    CharacterKey { caption: "t"; captionShifted: "T"; symView: "("; symView2: "{" }
    CharacterKey { caption: "s"; captionShifted: "S"; symView: ")"; symView2: "}" }
    CharacterKey { caption: "r"; captionShifted: "R"; symView: "~"; symView2: "°" }
    CharacterKey { caption: "n"; captionShifted: "N"; symView: "!"; symView2: "¡" }
    CharacterKey { caption: "m"; captionShifted: "M"; symView: "?"; symView2: "¿" }
    }

  KeyboardRow
    {
    ShiftKey {}
    CharacterKey { caption: "y"; captionShifted: "Y"; symView: "@"; symView2: "«"; accents: "ÿý"; accentsShifted: "ŸÝ" }
    CharacterKey { caption: "x"; captionShifted: "X"; symView: "&"; symView2: "»" }
    CharacterKey { caption: "k"; captionShifted: "K"; symView: "/"; symView2: "÷" }
    CharacterKey { caption: "q"; captionShifted: "Q"; symView: "\\"; symView2: "“" }
    CharacterKey { caption: "g"; captionShifted: "G"; symView: "\""; symView2: "”" }
    CharacterKey { caption: "h"; captionShifted: "H"; symView: ";"; symView2: "„" }
    CharacterKey { caption: "f"; captionShifted: "F"; symView: ":"; symView2: "·" }
    BackspaceKey {}
    }

  KeyboardRow
    {
    splitIndex: 4
    SymbolKey { implicitWidth: symbolKeyWidthNarrow }
    CharacterKey { caption: "."; captionShifted: "…"; implicitWidth: punctuationKeyWidthNarrow; fixedWidth: !splitActive; separator: SeparatorState.HiddenSeparator }
    ContextAwareCommaKey { implicitWidth: punctuationKeyWidthNarrow }
    SpacebarKey {}
    CharacterKey { caption: "’"; captionShifted: "'"; implicitWidth: punctuationKeyWidthNarrow; fixedWidth: !splitActive }
    SpacebarKey { active: splitActive; languageLabel: "" }
    EnterKey {}
    }
  }

Notes

  • L'apostrophe typographique (courbe) a été préférée à l'apostrophe dactylographique (droite).
  • Les touches «é» et «è» ne permettent que ces lettres. Les autres «e» accentués sont situés sur la touche «e» (appui soutenu).

Fichier layout_bepo.conf

Ce fichier très court est également nécessaire. Le nom du fichier de description ci-dessus (bepo.qml) doit être le même que celui entre crochets ci-dessous [bepo.qml]:

[bepo.qml]
name=Bépo
languageCode=FR
handler=Xt9InputHandler.qml

Installation

1. En connexion MTP (transfert de média), charger les pages bepo.qml et layout_bepo.conf à la racine du répertoire utilisateur (/home/nemo).

2. Dans l'application Réglages, dans la section Système, sélectionner Outils de développeur et activer Mode Développeur.

3. Si le mot de passe "root" (super-utilisateur) a déjà été défini, passer directement au 5.

4. Activer Connexion distante (une connexion Internet est nécessaire). Le code de sécurité du téléphone d'au moins cinq chiffres est demandé. Un mot de passe est généré. Le recopier ou le modifier, auquel cas il faut cliquer sur le bouton Enregistrer.

5. Ouvrir le Terminal, application qui vient de s'afficher au bas de la fenêtre des applications. Saisir devel-su puis le mot de passe que recopié ou modifié du 4. Si cela a fonctionné, l'invite est maintenant #

6. Saisir cp /home/nemo/bepo.qml /usr/share/maliit/plugins/com/jolla/layouts/

7. Saisir cp /home/nemo/layout_bepo.conf /usr/share/maliit/plugins/com/jolla/layouts/

8. Relancer le serveur avec killall maliit-server (un peu brutal?)

9. Si ce n'est pas encore fait, saisir un mot de passe super-utilisateur avec passwd (et le ressaisir). Cela évitera de devoir à nouveau activer la Connexion distante (4.). Pour passer en mode super-utilisateur une prochaine fois, saisir su et fournir ce mot de passe suffira.

10. Dans l'application Réglages » Système » Entrée de texte » Claviers, sélectionner Bépo. Pour passer d'une disposition de clavier à une autre, maintenir le doigt sur la barre espace du clavier et choisir parmi les dispositions qui s'affichent.

Considérations

Le clavier BÉPO sur un smartphone ne sert probablement pas à optimaliser la saisie ni à réduire les troubles musculo-squelettiques. Pour les personnes plutôt visuelles, cela pourrait servir à se familiariser avec la disposition. Par ailleurs, faire rentrer un clavier de cinq rangées en quatre, avec deux touches de moins par rangée ne permet pas de respecter toute la disposition BÉPO. Parmi les entorses:

  • les ponctuations courantes (point, virgule et élision) sont sur la rangée du bas, de part et d'autre de la touche [espace]
  • "W" n'est pas visible, il est associé au "V". De la même manière, Ç → C, Ê → E, À → A, etc.
  • il n'y a pas de touche morte, mais on fait apparaître les lettres accentuées en laisser le doigt sur la touche pour les faire apparaître.