The latest version includes experimental sequential triggers. There is one caveat though, the initial trigger seq = 1;
will always be executed. This is a flaw in the design. I intended to resolve this later by refactoring and maybe moving the project to Python instead of C. I only released it as is since I too am suffering from Bluetooth issues that require both bluetooth and bluebinder to be restarted.
Pressing the assist button twice really fast will launch seq = 1;
and seq = 2;
pressing it once will only launch seq = 1;
hereās an example cfg for camera as seq = 1;
and restarting the fingerprint service as seq = 2;
// Not recommended to run keymapper as root,
// Provide full correct-cmdline e.g /usr/bin/invoker -s -n -d 5 --type=silica-media,silica-qt5 -A -- /usr/bin/jolla-camera
// Otherwise the process will never die
// seq is the order of operation. If pressed once, then seq 1 will exec. If pressed twice very fast then seq 2 will exec after seq 1
name = "TEST CONFING";
keymap = {
assist_button_1 = {
seq = 1;
proc = "Camera Starting...";
trigger = 457;
process_name = "/usr/bin/jolla-camera";
cmd = "/usr/bin/invoker -s -n -d 5 --type=silica-media,silica-qt5 -A -- /usr/bin/jolla-camera";
};
assist_button_2 = {
seq = 2;
proc = "";
trigger = 457;
process_name = "";
cmd = "systemctl restart sailfish-fpd";
};
};