Since the migration to the G13 Configurator for everything, most of these files
have literally no use anymore. We can safely remove them from the project at
this point.
The trick with the LPBM format is that it's actually just the native LCD format
used by the G13. Each byte of the buffer corresponds to a vertical strip of 8
pixels, all monochrome. This stretches across the screen, for a full buffer of
960 bytes.
This starts to make g13d more automatic. Instead of requiring manual
intervention or automatic starts on system start, this will allow udevd to
automatically trigger g13d when a g13 is plugged in.
There's still a bug in g13d where if the device falls off the USB chain g13d
won't exit, though, but this is a good start.
This preps us for proper system installs to distributions, finding depending
libraries, and allowing us to build the foundation for the GUI and support
tooling next.
The plan is to run g13d as a system daemon managed by systemd. We'll use the
system-wide input group to control access to the daemon.
- Add a CMakeLists for etc so we can install the udev rules.
- Move the src dir to g13d to disambiguate a bit.
- Update the toplevel Makefile so we can still build the old way (for now).
This cleans things up significantly in the source tree and makes this easier to
manage longer term. In the next few commits, we'll migrate the build to CMake in
prep for packaging support.
- Move bindings into bindings
- Move system configs and misc files into etc
- Move LCD apps into contrib/
- Move all source files into srcs
- Rename helper extensions to match GNU extension naming, fix the #includes as
well
- Adjust Makefile to be less verbose and more programmatic