Eu tive a mesma pergunta - parece que, infelizmente, não há uma (pelo menos, não pela maneira como meu sistema é configurado). Um patch foi enviado para a Lista de Discussão do Kernel do Linux em 2010 que teria adicionado arquivos para sysfs para consultar o estado de um comutador GPIO, mas o patch parece ter sido retirado depois que o remetente foi informado das chamadas ioctl()
para ler isto ( EVIOCG*
).
A solução que estou usando é evtest para consultar o estado do switch (que sai 0 se a tampa for aberto e 10 se a tampa estiver fechada):
sudo evtest --query /dev/input/event5 EV_SW SW_LID
Seria bom se houvesse uma versão dessa solução que não exigisse acesso root.