Commit Graph

29 Commits

Author SHA1 Message Date
June Tate-Gans
73f10be688 g13d: Migrate string_repr_out into a cc file and fix the deps
This was a mistake I made accidentally -- meant to have the function in the C++
file, not in the header.
2021-04-25 17:27:07 -05:00
June Tate-Gans
073860faad g13d: Fix build dependendies 2021-04-25 17:24:47 -05:00
June Tate-Gans
358fb509db g13d: Final-final cleanups to the codebase
- Removing a bunch of silly star comment separates
  - Moving font8x8 back into its own header
  - Move string_repr_out into repr.cc
2021-04-25 17:22:34 -05:00
June Tate-Gans
a05dcb04c8 g13d: More symbol relocations and cleanups
Lots of cross-translation unit messes in here cleaned up finally. This should be
the last change necessary to clean up these refs between translation units.
2021-04-25 17:09:19 -05:00
June Tate-Gans
95b137f3db g13d: Fix the font translation unit name 2021-04-25 16:53:50 -05:00
June Tate-Gans
648c14690f g13d: More cleanups and migrations
Second part of the big refactor. Migrating all of the relevant method bodies to
their respective translation units.
2021-04-25 16:51:41 -05:00
June Tate-Gans
ae6cf5084a g13d: Rework and cleanup namespaces and files
This is the first half of some major rework of the g13d codebase to make things
a bit more manageable. This splits out a great deal of stuff from helper.h into
separate translation units, and also breaks out a great deal of the g13.h header
into separate translation units as well.

Doing this saves in compilation time as we make changes to the system, and also
helps to clean up a whole bunch of leaking symbols.
2021-04-25 16:35:44 -05:00
June Tate-Gans
efe01fb850 g13d: Remove switch and handle all switch cases 2021-04-25 14:40:31 -05:00
June Tate-Gans
9c15e935a7 g13d: Add a blank line 2021-04-25 14:40:16 -05:00
June Tate-Gans
b7f784563c g13d: Fix initialization order 2021-04-25 14:39:54 -05:00
June Tate-Gans
47d876b4cb g13d: Fix a bunch of sign comparisons 2021-04-25 14:39:40 -05:00
June Tate-Gans
9bf95336cc g13d: Remove a bunch of unused vars and definitions 2021-04-25 14:38:41 -05:00
June Tate-Gans
8e14f1f853 g13d: Clean up initialization order 2021-04-25 14:38:08 -05:00
June Tate-Gans
f289bdf850 g13d: Style fixes and remove an unused variable 2021-04-25 14:37:00 -05:00
June Tate-Gans
366e3c0f24 g13d: Remove an unused block of code
We don't actually do anything with an add operation in
G13_Device::_init_commands, so fix up the if block.
2021-04-25 14:36:07 -05:00
June Tate-Gans
cb916e4d24 g13d: Fix a comparison with signed vs. unsigned 2021-04-25 14:35:49 -05:00
June Tate-Gans
d910829930 g13d: More C++11 iteration and exit on no more managed devices
Since we start from udev/systemd these days, we should exit when we don't have
any more devices to manage, and let udev/systemd manage things when a new one is
connected.
2021-04-25 14:33:48 -05:00
June Tate-Gans
d391b647b6 g13d: Fix a bunch of initialization order errors
The initializers were in the wrong order.
2021-04-25 14:33:12 -05:00
June Tate-Gans
65ab987a87 g13d: Simplify G13_Action_Keys::act
Migrate to C++11 iteration and clean up the mess of code that this was
originally with a single call to send_event and a proper use of a ternary for
logging.
2021-04-25 14:32:24 -05:00
June Tate-Gans
bbb3104eaf g13d: Use C++11 iterator instead of a raw C loop
Signed vs. unsigned types throwing all kinds of errors.
2021-04-25 14:31:45 -05:00
June Tate-Gans
19faa21256 g13d: Fix horribly broken strncpy usage
The sizeof was actually using the size of the statically allocated name instead
of the size of the destination. In practice, it's not a problem, but still, it
should be fixed.
2021-04-25 14:30:46 -05:00
June Tate-Gans
ae055495cc g13d: Handle errors in writes
The original code was just throwing away error conditions for write calls to an
fd. Obviously this is bad, but really, we should probably be using an ostream
instead of a raw file handle here. For now, deal with the warning by checking
the result for errors, at least, and later we'll refactor to use ostream
properly.
2021-04-25 14:29:40 -05:00
June Tate-Gans
516423ae16 g13d: Run clang-format to clean things up a bit 2021-04-25 14:04:12 -05:00
June Tate-Gans
cf1caf7c7a g13d: Fix include path for config.h 2021-04-25 13:43:16 -05:00
June Tate-Gans
c7992d52b5 g13d: Reformat all the files using clang-format
This should help with maintainability.
2021-04-25 12:51:26 -05:00
June Tate-Gans
c32950bfcb g13d: Build with warnings and correct C++ standard 2021-04-25 12:45:25 -05:00
June Tate-Gans
e17abaddf2 g13d: Add a config header 2021-04-25 12:44:58 -05:00
June Tate-Gans
05c64f62ed cmake: Make install create /run/g13d
CMake still doesn't have a way to set mode and owner/group at install time
atomically, so we have to fall back and call install directly in a script.
2021-04-25 12:16:47 -05:00
June Tate-Gans
04cb5d9c12 build: Start migration to cmake
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).
2021-04-25 01:19:06 -05:00