Skip to main content

Mise en oeuvre lecteur NFC

Le lecteur se connecte en USB au PC de l'accueil, sous Linux.

Il est nécessaire d'installer les paquets lib-nfc6 et lib-nfc-dev, ydotool.

Le script suivant permet d'obtenir un comportement adéquat ressemblant à un clavier :

#/bin/env bash

STRING=""
OLDSTRING=""

while true ; do 

STRING=$(/usr/bin/nfc-list |grep UID |awk '{ print $3,":",$4,":",$5,":",$6,":",$7,":",$8,":",$9 }'|sed 's/ //g')

[[ $STRING != $OLDSTRING ]] && (gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+alt-intl')]" ; ydotool type $STRING < /dev/null > /dev/null 2> /dev/null; gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'fr+latin9'), ('xkb', 'us+alt-intl')]" )
OLDSTRING=$STRING
done

ydotool s'attend à un clavier US, d'où la nécessité de jouer avec gsettings.

Le script est appelé au démarrage via l'application de réglage des préférences gnome-session-properties :

image.png

Malgré le #/bin/env bash en début de script, il est nécessaire d'indiquer /bin/bash /home/fablabuser/run-nfc-scan