> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/input-output/data-inputs/keyboard-barcode-reader.md).

# Keyboard/Barcode Reader

Ce bloc fonction lit les entrées clavier et les codes-barres, puis met ces valeurs à disposition du reste de votre flux. Il est utile pour capturer du texte tapé, des lecteurs de codes-barres qui émulant un clavier, ou pour des saisies manuelles simples pendant l'exécution.

## 📥 Entrées

Ce bloc n'a pas d'entrées.

## 📤 Sorties

* `Text` : La dernière ligne de texte lue depuis le clavier ou le périphérique de lecture de code-barres.
* `Check` : Un signal booléen indiquant qu'une nouvelle valeur de texte est disponible (utile comme déclencheur).

## 🕹️ Contrôles

* `Mode` : Menu déroulant pour choisir le comportement d'entrée. Options typiques : "Key Press" et "Barcode Reading".

## 🎯 Fonctionnalités

* Écoute en arrière-plan des entrées de type clavier, pour fournir le texte tapé ou scanné sans interaction supplémentaire.
* Fournit à la fois le contenu textuel (`Text`) et un booléen déclencheur (`Check`) pour réagir uniquement à l'arrivée de nouvelles données.
* Changement de mode simple pour traiter les événements entrants comme des frappes individuelles ou comme des lectures de code-barres complètes (pratique pour les scanners qui envoient tout le code d'un coup).

## 📝 Mode d'emploi

1. Choisissez le comportement désiré via `Mode`.
2. Connectez les sorties de ce bloc aux blocs en aval qui traitent ou stockent le texte.
3. Utilisez la sortie `Check` pour déclencher des actions (par exemple, consigner ou enregistrer le texte lu uniquement lorsqu'une nouvelle donnée arrive).

## 📊 Évaluation

En fonctionnement, ce bloc écoute les événements clavier / émulation clavier de scanners et met à jour ses sorties avec la dernière valeur lue et un indicateur de nouvelle donnée.

## 💡 Astuces

* Pour sauvegarder les entrées scannées sur disque, connectez `Text` (ou utilisez `Check` comme déclencheur) vers `CSV Export` ou `Data Write Local`.
* Utilisez `Debug Input` pour inspecter les valeurs pendant le développement et obtenir des journaux rapides de ce qui est lu.
* Pour combiner la lecture par caméra et les scanners matériels, utilisez ce bloc avec `Barcode Reader` : la détection caméra peut servir de secours ou de contrôle croisé.
* Pour les tests manuels ou injecter des valeurs sans matériel, associez avec `String Input` pour alimenter des valeurs connues dans votre flux.
* Pour démarrer des workflows uniquement lorsqu'un code est lu, alimentez `Check` dans des blocs logiques tels que `Logic Input` ou utilisez-le pour déclencher `Image Logger` ou `Image Write` afin d'associer des images aux identifiants scannés.

## 🛠️ Dépannage

* Aucun texte n'apparaît : vérifiez que votre scanner est configuré en mode "keyboard wedge" (beaucoup de scanners envoient des frappes clavier).
* Le scanner envoie des caractères inattendus : contrôlez les paramètres de préfixe/suffixe du scanner (par ex. retour chariot ou saut de ligne).
* Lectures dupliquées ou manquantes : essayez de changer `Mode` entre "Key Press" et "Barcode Reading" pour correspondre à la façon dont votre appareil envoie les données, et utilisez `Check` pour filtrer les doublons.
* Problèmes d'accès au périphérique ou permissions : vérifiez que le système d'exploitation reconnaît le clavier/scanner et qu'aucune autre application ne capture exclusivement ses entrées.
