- 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?
This update is mainly needed because Ergodox's layout should be as much
possible closer to original QWERTY layout, to not break XKB layout in
XOrg for Russian language.
Also, because Ergodox's switches SW5.7 and SW5.8 are not as convenient
as I'd like to - additional mappings were added on Layer7 for following
symbols: ^ ' " \