Das Problem mit dem Segfault kommt wahrscheinlich daher, das nicht getetstet wird ob das fopen auch erfolgreich war. Vermutlich könnte man das ändern wenn man die File Attribute von /dev/input/mice ändert. Ist aber natürlich auch nicht ganz ohne Nebenwirkungen.