De laatste paar dagen heb ik de kans gehad om de bestaande code te refactoren, en deze uit te breiden met nieuwe apparaten. Ook ben ik erin geslaagd om een debian package te voorzien voor dit programma.
De eerste apparaten die ik heb geimplementeerd zijn toetsenbord en muis: hiervoor moest ik de X library gebruiken, aangezien ik in linux werk en er hiervoor nog geen bestaande module is die naar toetsenbord en muisinput pollt. Op windows is hiervoor de library pyHook beschikbaar.
Het volgende apparaat is bluetooth: hiervoor gebruik ik de lightblue module, waardoor dit niet lang heeft geduurd om te verwerken in het project.
Aangezien er niet meer van 1 apparaat sprake is zoals in de oorspronkelijke code, werd het ook nodig om te code op te splitsen: de bestaande facedetection code werkt verwerkt in een nieuwe klasse, en een gedeelte van de daemon werd ook hergebruikt in de nieuwe daemon. Ook wordt er nu gebruik gemaakt van een presence level, hoe hoger deze waarde, hoe meer apparaten de gebruiker hebben ontdekt. Elk apparaat heeft echter een ander effect op het presence level: toetsaanslagen bijvoorbeeld spelen een belangrijkere rol bij de aanwezigheid van de gebruiker dan het detecteren van een bluetooth-apparaat in de buurt.
Ook heb ik besloten een debian package te voorzien, hierdoor wordt het eenvoudiger om dit project te herdistribueren, aangezien deze alle dependencies zelf berekent en installeert.