Accueil Github ↗
Itération 3

Système de clavier

Clavier modulaire : KeyboardSystem (avec champ de saisie, style smartphone) et KeyboardSystemWithoutInput (style pendu, retour visuel immédiat par touche).

Le dossier UserInterface/Keybord/ contient un clavier modulaire qui s’adapte au type d’exercice.

Pipeline global

  1. Initialisation : le clavier lit les PlayerPrefs pour choisir entre clavier complet (AZERTY/QWERTY) ou pavé numérique.
  2. Saisie : selon le type, la lettre s’ajoute dans un TMP_InputField ou est envoyée directement au GameManager.
  3. Validation : soit l’élève valide le mot entier avec “Confirmer”, soit la touche se colore immédiatement (vert/rouge comme dans le Pendu).

KeyboardSystem — clavier avec champ de texte

Clavier standard utilisé principalement en mode AS Clavier. Fonctionne comme le clavier d’un smartphone : lié à un TMP_InputField, avec basculement majuscules/minuscules et caractères spéciaux.

VariableDescription
OnTextConfirmedAction<string> déclenché quand l’élève clique sur le bouton de validation. Envoie le mot entier tapé.
_inputFieldTMP_InputField dans lequel les lettres s’ajoutent. Le script force le focus dessus au démarrage.
_fullKeyboard / _numericKeyboardPanneaux pour le clavier complet ou le pavé numérique
_classic... / _special...Sous-panneaux pour majuscule, minuscule ou caractères spéciaux
MéthodeDescription
Start()Lit la clé "keyboardType" dans les PlayerPrefs et active le bon modèle.
OnClickSpecialCharacter()Alterne entre lettres classiques et caractères spéciaux/chiffres.
OnClickMajuscule()Gère le Caps Lock : masque les panneaux minuscules, affiche les majuscules.
OnClickConfirm()Déclenche OnTextConfirmed avec le texte tapé, puis vide le champ pour la question suivante.

KeyboardSystemWithoutInput — clavier type pendu

Hérite de KeyboardSystem. Pas de champ de texte ni de bouton “Confirmer”. Dès qu’une lettre est cliquée, elle est envoyée au jeu et la touche se colore selon la réponse.

VariableDescription
OnLetterClickedstatic Action<string> déclenché à chaque touche pressée
_buttonsOffstatic List<Button> des touches déjà cliquées et désactivées
MéthodeDescription
OnClickKey()Utilise l’EventSystem Unity pour identifier le bouton cliqué, récupère son nom (= la lettre) et déclenche OnLetterClicked.
DisableKeyWithColor(bool isCorrect)Appelée par le GameManager après vérification. Désactive la touche, la colore en vert (correct) ou rouge, et l’ajoute à _buttonsOff.
ResetKeyboard()Appelée pour chaque nouveau mot. Remet toutes les touches en blanc et cliquables, vide _buttonsOff.