Filtre clavier participant — pilote Interception
================================================

Ce dossier contient le composant qui restreint le CLAVIER DU PARTICIPANT aux
seules touches alphanumeriques, au niveau systeme (pilote noyau Interception).

Principe (mode AUTO, par defaut) : le clavier INTEGRE du portable (non-USB) reste
libre ; tout clavier USB externe (participant) est filtre. Detection basee sur le
hardware id (un clavier USB expose "VID_"). "Refus par defaut" : un clavier externe
inconnu est verrouille, et changer de clavier participant ne demande aucune reconfig.

Poste FIXE sans clavier integre : epinglez explicitement le clavier de confiance
(operateur) avec "isoloir-keyfilter.exe --learn <cfg>" (option -Learn du script
d'installation). Diagnostic : "isoloir-keyfilter.exe --list".

Contenu du dossier
------------------
  keyfilter.c        Source du filtre resident (fourni, versionne).
  build.ps1          Script de compilation (MSVC ou MinGW/gcc).
  README.txt         Ce fichier.

A AJOUTER dans ce dossier (binaires non versionnes)
---------------------------------------------------
Telechargez la derniere release d'Interception :
  https://github.com/oblitum/Interception/releases

Depuis l'archive, placez ici :
  interception.h                 (SDK, dossier "library/") — pour compiler.
  interception.lib               (SDK, "library/x64/")      — pour compiler (MSVC).
  interception.dll               (SDK, "library/x64/")      — requis A L'EXECUTION.
  install-interception.exe       ("command line installer/") — installe le pilote.

Puis compilez :
  isoloir-keyfilter.exe          (produit par build.ps1 sous Windows)

ATTENTION BITNESS : l'exe doit avoir la meme architecture que interception.dll.
La DLL fournie ici est en 32 bits (PE32 / x86) ; l'exe doit donc etre 32 bits
(un exe 32 bits fonctionne sur Windows 10/11 64 bits). Pour du x64, remplacez
interception.dll et interception.lib par les versions "x64" du SDK.

Cross-compilation depuis Linux/WSL (methode utilisee pour l'exe livre) :
  sudo apt-get install -y gcc-mingw-w64-i686           # 32 bits (DLL x86)
  i686-w64-mingw32-gcc -O2 -s -Wall -o isoloir-keyfilter.exe keyfilter.c interception.dll
  # x64 : gcc-mingw-w64-x86-64 + x86_64-w64-mingw32-gcc, contre la DLL x64.

A l'execution, interception.dll doit rester A COTE de l'exe (c'est le cas ici).

NB : le pilote lui-meme (le .exe d'installation ci-dessus) installe un service
noyau. Il faut des droits ADMIN et UN REDEMARRAGE pour qu'il se charge.

Installation sur la borne
-------------------------
Utilisez le script "install-keyfilter.ps1" a la racine du projet (clic droit >
Executer avec PowerShell, en tant qu'administrateur). Il installe le pilote
Interception ; un REDEMARRAGE est requis. Ensuite le filtrage est automatique
(mode AUTO ci-dessus) : demarre par start.ps1 au lancement de l'Isoloir.

Options du script :
  -List    liste les claviers et leur classement (diagnostic).
  -Learn   epingle le clavier de confiance (poste fixe sans clavier integre).

Voir aussi documentation/install.md (verrouillage du clavier participant).

Antivirus / SmartScreen
-----------------------
Interception installe un pilote noyau non signe par Radio France ; l'antivirus ou
SmartScreen peut le signaler. A valider avec l'IT du poste avant deploiement.
