L'ouverture des périphériques /dev/input/event nécessite (à raison) les droits root, donc le démon tourne aussi en root.
Euh, ici j'ai (debian 10, mais c'est aussi valide sur la 9):
$ ls -lh /dev/input/event*
crw-rw---- 1 root input 13, 64 août 12 16:14 /dev/input/event0
crw-rw---- 1 root input 13, 65 août 12 16:14 /dev/input/event1
crw-rw---- 1 root input 13, 74 août 12 16:14 /dev/input/event10
crw-rw---- 1 root input 13, 75 août 12 16:14 /dev/input/event11
crw-rw---- 1 root input 13, 76 août 12 16:14 /dev/input/event12
crw-rw---- 1 root input 13, 77 août 12 16:14 /dev/input/event13
crw-rw---- 1 root input 13, 78 août 12 16:14 /dev/input/event14
crw-rw---- 1 root input 13, 66 août 12 16:14 /dev/input/event2
crw-rw---- 1 root input 13, 67 août 12 16:14 /dev/input/event3
crw-rw---- 1 root input 13, 68 août 12 16:14 /dev/input/event4
crw-rw---- 1 root input 13, 69 août 12 16:14 /dev/input/event5
crw-rw---- 1 root input 13, 70 août 12 16:14 /dev/input/event6
crw-rw---- 1 root input 13, 71 août 12 16:14 /dev/input/event7
crw-rw---- 1 root input 13, 72 août 12 16:14 /dev/input/event8
crw-rw---- 1 root input 13, 73 août 12 16:14 /dev/input/event9
Et du fait qu'au taf j'ai implémenté un toolkit pour framebuffer, je dirais qu'il suffit que l'utilisateur qui lance le soft appartienne au groupe input. Dans mon cas, il faut aussi le groupe video pour /dev/fb0, et malheureusement root parce que sinon pas moyen (ou alors pas trouvé lequel) de passer un TTY en mode graphique (pour virer le curseur entres autres, via ioctl( fd, KDSETMODE, KD_GRAPHICS, j'ai même essayé de chercher avec les capabilities, mais rien trouvé, faudrait que je cherche a nouveau).
Ceci étant dit, moi, j'ai utilisé libinput, et pas evdev, que je pense lié à Xorg. Peut-être est-ce la raison.
# droits root non nécessaires
Posté par freem . En réponse au journal Mini-projet (python): un démon système pour gérer des raccourcis clavier. Évalué à 3.
Euh, ici j'ai (debian 10, mais c'est aussi valide sur la 9):
Et du fait qu'au taf j'ai implémenté un toolkit pour framebuffer, je dirais qu'il suffit que l'utilisateur qui lance le soft appartienne au groupe input. Dans mon cas, il faut aussi le groupe video pour /dev/fb0, et malheureusement root parce que sinon pas moyen (ou alors pas trouvé lequel) de passer un TTY en mode graphique (pour virer le curseur entres autres, via
ioctl( fd, KDSETMODE, KD_GRAPHICS, j'ai même essayé de chercher avec les capabilities, mais rien trouvé, faudrait que je cherche a nouveau).Ceci étant dit, moi, j'ai utilisé
libinput, et pasevdev, que je pense lié à Xorg. Peut-être est-ce la raison.