* Initial commit.
* Add support for Franklin ACE 1000.
* Add ace1000_keyboard_test() for completeness.
* Add link to replacement keyboard.
* Add Franklin ACE 1000 replacement keyboard link.
* Add Franklin ACE 1000 keyboard.
* Activate caps-lock at powerup, and swap keymaps accordingly.
---------
Co-authored-by: Christopher RYU <software+github@disavowed.jp>
- CMakeLists.txt, src/CMakeLists.txt: user ARCH for the actual
processor, and ARCH_FAMILY to specify the arch_*.[ch] files.
- generic-gcc-avr.cmake: fix optimizations to O1 or O0
- make-targets.sh: simplify cmake invocation, eliminate mkdir+cd,
instead use cmake flags to specify directory names and source dir.
- GCC version 12 generates a warnings for certain pointer
references. Apparently this is to decect invalid offsets. To properly
compiler, the recommended remedy is to add the compiler option
"--param=min-pagesize=0" to the flags. This option was introduced in
version 11.3, so we need to check the compiler version and only add for
>11.3.
- Moved setting of compiler flags to a new function c_toolchain_flags in
the toolchain file "generic-gcc-avr.cmake". This function is now called
from the CMakeLists.txt file in the src directory. This allows the test
for the compiler version to be specified in the toolchain file, but not
executed until called by the src subdir CMakeLists.txt. Delaying
evaluation of the function ensures that the CMAKE_C_VERSION variable is
properly set when the function is called.
- Moving the compiler flags out of the source dir CMakeLists.txt file
also improves portability by moving architecture-specific compiler
details from the source tree to the toolchain file.
- Added the apple 2 CAPS map
- auto-generate a function to check validity of a keymap index
- Added buffered message printing. This is different from keycode
buffering, since an extra delay is added for each message character to
allow polling hosts to keep up. Keycodes are generated at human speeds
and need no further slowdown.
- Added a message character delay to the arch-* modules
- enlarged the buffer pool, and created a buffer for messages
- bumped version number
Accessing library functions via function pointer seems to cause a reset.
Still investigating the cause.
- compile keymaps subdir as part of main src cmakefile, rather than as a
separate library.
- rather than setup table of function pointers and using an indirection
in the main code, set up a jump table (switch). This is cleaner.
- keymap files (c,h) are in src/Keymaps
- keymap files are added to the keymap library in src/Keymaps/CMakeLists.txt
- keymaps for the build are listed, along with positions, in /keymap_lists.cmake
- cmake generates a keymap jump table from the keymap lib and list
- tests mostly passing. Keymap structure for testing will be used as the model
for the app keymaps.
- CMake build process handles dependencies much more effectively
- Cleaner separation of test and binary builds
- permit co-existing test and multiple architecture builds
- add support for AVR from cmake-avr:
https://github.com/mkleemann/cmake-avr
- new build process avoids creating files in the src directory