From 4de6fa492cbaed10d8e281036122fe148e0fb761 Mon Sep 17 00:00:00 2001 From: MatMasIt Date: Sun, 29 Aug 2021 00:14:55 +0200 Subject: [PATCH] Update README.md --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index a250fe8..749f80f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,16 @@ # hotcuts Transform an input device into a shortcut board + +#How does it work? + +A main daemon (`rootDaemon.py`) running as root intercepts a keyboard device through its device file, acquiring a lock on it and preventing it from sending inputs to the X server. + +The key presses trigger commands by saving them to a file (`lastCommand`), and allowing the puppet process (`userpuppet.py`), which executes the commands and clears the cache file. + +The main daemon should be run as root (edit it accordingly to set your device path, edit the INI file according to your needs) and the puppet process should run in the current user. + +# WeewooWeewo, a process reading commands from a file? + +Yes, besides the daemon needs root to grab the device, so it is best to pass commands to a puppet process in the user, which is also useful because it executes other apps as a normal user. + +if you are concerned about a malicious actor editing the cache command file, be assured they could easily edit the daemon and the puppet too, or if anything the whole home and possibily `.bashrc`