- Add action_util.c and remove action_oneshot.c
- Add oneshot_mods for MODS_ONESHOT
- Add weak_mods for MODS_KEY and MACRO
- weak_mods is cleared when layer switching
- See https://github.com/tmk/tmk_keyboard/issues/60
- **Except for modifiers** a key pressed before the tapping starts should be released immediately
- 'Mod-Tap key'(like shift-;) didn't work from this fix: 4d0b3aa Fix Tapping: release of a key pressed before tap
This key sequence should register ':', not ';'. With the fix Shift is
released before settlement of tapping, this registers ';'.
Shift ~~___~~~~~~~
;(Tap) ~~~____~~~~
- Add print messages of USB intialize procesure.
- call out sei() in earlier stage. LUFA API doc of USB_Init() says:
interrupts must be enabled within 500ms ... to ensure that the host does
not time out whilst enumerating the device
- remove matrix_init() from suspend_wakeup_init(). It is not needed in
fact and if matrix_init() takes long time to initialize it prevents
host emnumerating the device.
- Call of function pointer is compiled into 'icall' instruction.
It should use word address but it has used byte address :( It seems
jump has worked luckily by chance until now. why it worked?
- Remove prog_char from xpritnf
- Remove prog_macro_t from acton_macro
avr-libc-1.8 removed 'prog_*' typedef because the usage of
the __progmem__ attribute on a type is not supported in GCC.
http://www.nongnu.org/avr-libc/changes-1.8.html