.. .$$S. .,. .S$$$$; .,,,,,,,. ;$$$$. .,,;;,,,,. ;S;,;;,,. .;;,;, ,s, s$; .,.;$$S .s$$$, .;S$$$;. s$s;. ,;. .;S$$S .,;,. .s$S;. .,;;. .;sS$S;. ,$$s. .;;. .,S$;. .;sS$$$$$$$s,. ,$$S. .;;. .;S$SSS$$;. .;S$$$$$$$$$Ss;. ,$$$. .;, s$$$$$$$Ss;,. ,sS$$$$$$$$$Ss;,.,s;. ,, ,$$$$$$$$$$S;. .,;S$$$$$$$$$$$S, .sSSSsS$$$$$$$; .,;s$$$$$$$, .S$$$SS$$, .;;,sS, .,ss,.,,,. .,,,,s$$s. ..,;..,,;;,,,,,. .,,,,,,,,,;;,,,;$$$, .,;;. .,,,,,;;,,,,,. .,,,,,,,;;,,,,,,,,,. .s$$. .,;;. .,,,,,;;,,,,. .,;;,,,,,,,. .$$$s .;;,. .,,,,,. .,,. ,$$$$. .;;. .$$$$s .;;. S$$$. .;;. ;$S,,,,,. .;;;, .,;;.S$s .;;,. $$$ .;, .s$$; ..,$$$; ,s$$$;. ,S$$$S.,;. .S$$S,. .;;. .;;,. .,.  shibari is a program that reads inputs from various devices and executes user-specified bindings. It uses the evdev interface exposed by the Linux kernel, which means it can handle keyboards as well as mouse and gamepad buttons and that it can function indiferrently of being run in X11, Wayland or in a headless setup. shibari requires read access to files in /dev/input and /sys/class/input. Bindings are specified in a bindings file searched for at, in order of preference: - the path given as argument to the "-c" option - $XDG_CONFIG_HOME/shibari/bindings.conf - $HOME/.config/shibari/bindings.conf The bindings file expects one binding per line of the form: "[+...] " where is the key code which can be seen by running shibari with the "-t" option or a combination of such codes, specifies wether the binding should be run when the key/combination is pressed or released and is a command string that will be run by /bin/sh when the binding is activated. Empty lines and anything after a "#" is ignored.