Firmware
--------

- check that the charger's INT pin is high prior to I2C A communication
  and return error if it is not (P87 must have pull-up enabled, and
  it is low if charger is free to communicate)

- trigger POGO interrupt on P84 (open drain mode)

- implement special key combos:
  - Pine + F + H  (stay in main FW if pressed during powerup)
  - Pine + F + U  (enable USB debugger)
  - Pine + F + B  (jump to USB bootloader)

- first I2C TX after switch to USER firmware after flashing over I2C fails,
  subsequent ones work
  - also power consumption indicates power consumption of the sotck firmware
    so maybe we just sleep in stock instead of switching after flashing?


Userspace input device daemon
-----------------------------

- allow to read keymap config from a file instead of compiling it in

- improve combo key handling
  - sticky keys entry mode?

- add various modal modes:
  - show modal hints on the display 
    - write to linux console framebuffer directly
    - run a generic process/script (eg. to show mode in i3 status bar)

Modes:

- navigation mode arrows work as arrows without holding Fn key, holding
  Fn key inverts the meaning to primary (so Fn+Up types a 'dot')
- sticky Fn mode (all keys act as if Fn is being held)
- sticky keys mode (build a multi-key shortcut gradually, without having to
  hold multiple keys at once)
- ???