Offres Produits Études de cas Expertises À propos Nous contacter Blog Offres d'emploi
FR EN

Configuration

Prédiction de mots

Activée par défaut. Désactivez-la globalement sur le composant ou à l'exécution via le singleton :

VirtualKeyboard { predictionEnabled: false }

// ou à l'exécution :
Lnvk.predictionEnabled = false

La prédiction est automatiquement désactivée pour les champs avec Qt.ImhNoPredictiveText, Qt.ImhSensitiveData, Qt.ImhHiddenText, ou tout hint numérique, de composition, de date ou d'heure. Les propriétés en lecture seule Lnvk.effectivePredictionEnabled et Lnvk.imeInteractionEnabled reflètent le masque de hints actif (voir Hints de méthode de saisie).

Dictionnaires de prédiction personnalisés

Fournissez des dictionnaires de prédiction métier (médical, juridique, noms de produits, etc.) par langue.

Étape 1 : compiler un fichier .pred

Utilisez le compilateur fourni dans votre bundle LNVK :

# Depuis la racine du package
./bin/lndict-compiler --flat my-words.txt prediction-en-custom.pred

Formats d'entrée acceptés par --flat :

  • Liste de mots (un mot par ligne) : word
  • Mot + fréquence : word<TAB>frequency
  • TSV de prédiction complet : word<TAB>word<TAB>frequency

Les lignes de type liste reçoivent automatiquement une fréquence par défaut élevée pour classer les entrées personnalisées en tête.

Étape 2 : enregistrer les dictionnaires dans votre app

Enregistrez un dictionnaire par langue/tag.

Depuis QML (via le singleton Lnvk) :

import Ln.VirtualKeyboard 1.0

Component.onCompleted: {
    Lnvk.setCustomPredictionDictionary("en", "/opt/mydicts/prediction-en-custom.pred")
    Lnvk.setCustomPredictionDictionary("en-US", "/opt/mydicts/prediction-en-us-custom.pred")
}

Depuis C++ :

#include <lnvk>

auto *kb = lnvk::qt::KeyboardManager::instance();
kb->setCustomPredictionDictionary("en", "/opt/mydicts/prediction-en-custom.pred");
kb->setCustomPredictionDictionary("en-US", "/opt/mydicts/prediction-en-us-custom.pred");

Les deux chemins référencent la même instance singleton ; les appels C++ sont visibles depuis QML et inversement.

Ordre de résolution des langues :

  1. tag BCP47 exact (par exemple en-US)
  2. repli sur le tag principal (par exemple en)

Étape 3 : choisir le mode de fusion

VirtualKeyboard {
    customPredictionMode: Lnvk.Supersede
}

// ou sur le singleton :
Lnvk.customPredictionMode = Lnvk.Supersede

Depuis C++ :

auto *kb = lnvk::qt::KeyboardManager::instance();
kb->setCustomPredictionMode(lnvk::qt::KeyboardManager::Supersede);

Modes :

  • Disabled : ignorer les dictionnaires personnalisés ; utiliser uniquement le dictionnaire intégré
  • Replace : utiliser uniquement le dictionnaire personnalisé pour la langue/tag correspondante (repli sur l'intégré si absent/invalide)
  • Supersede : candidats personnalisés en premier, puis candidats intégrés

Effacer les mappings à l'exécution :

Lnvk.clearCustomPredictionDictionary("en-US")
Lnvk.clearCustomPredictionDictionaries()
kb->clearCustomPredictionDictionary("en-US");
kb->clearCustomPredictionDictionaries();

Rangée de chiffres

Affichez une rangée persistante de touches numériques au-dessus de la rangée de lettres :

VirtualKeyboard { numberRowEnabled: true }

Lnvk.numberRowEnabled = true

Apprentissage

Le clavier apprend des mots saisis pour améliorer les prédictions futures. Désactivez la persistance entre sessions avec rememberLearning :

VirtualKeyboard { rememberLearning: false }

Lnvk.rememberLearning = false
Vie privée : tout l'apprentissage est réalisé sur l'appareil. Aucune donnée ne quitte l'appareil. Avec rememberLearning: false, les mots appris sont effacés à la fermeture de l'application.

Hints de méthode de saisie

Le clavier s'adapte automatiquement aux inputMethodHints du TextInput ou TextEdit qui a le focus :

HintDispositionIMEPrédiction
Qt.ImhNoneDisposition du profilactivéactivée (si activée)
Qt.ImhDigitsOnlyPavé numériquedésactivédésactivée
Qt.ImhDialableCharactersOnlyClavier de numérotationdésactivédésactivée
Qt.ImhFormattedNumbersOnlyNombres avec décimale/signesdésactivédésactivée
Qt.ImhDateSaisie de datedésactivédésactivée
Qt.ImhTimeSaisie d'heuredésactivédésactivée
Qt.ImhPreferNumbersChiffres avec accès aux lettresdésactivédésactivée
Qt.ImhEmailCharactersOnlyTouches e-mail sur disposition alphabétiquedésactivéactivée
Qt.ImhUrlCharactersOnlyTouches URL sur disposition alphabétiquedésactivéactivée
Qt.ImhNoPredictiveTextDisposition du profildésactivédésactivée
Qt.ImhSensitiveDataDisposition du profildésactivédésactivée
Qt.ImhHiddenTextMode mot de passe (numérique si aussi sensible)désactivédésactivée

Lorsque l'IME est désactivé, toute composition active est effacée. La barre de candidats reste visible pour la prédiction de mots lorsque effectivePredictionEnabled est vrai. Lorsque imeInteractionEnabled est vrai, la barre apparaît aussi pendant la composition IME et les suggestions post-commit.