runtime | ram: 10M | caps: 600 | binary: init
+ requires
  + fs keyboard
  + gui

+ config

  + parent-provides
    + service ROM
    + service PD
    + service RM
    + service CPU
    + service LOG
    + service Timer
    + service File_system
    + service Gui

  + default-route
    + any-service
      + parent

  + default | caps: 100

  + start rom_to_file | ram: 2M
    + config | rom: user.remap
      + vfs | + fs
    + route
      + service ROM         | label: user.remap | + child rom_filter
      + service File_system                     | + parent | identity: keyboard
      + any-service                             | + parent

  + start report | ram: 1M
    + binary report_rom
    + provides
      + service Report
      + service ROM
    + config
      + policy | label: rom_filter -> state | report: user_keys -> state

  + start user_keys | ram: 1M
    + binary global_keys_handler
    + route
      + service ROM    | label: config | + child fs_rom | label: user_keys.config
      + service Report                 | + child report
      + service Gui                    | + parent
      + service Timer                  | + parent
      + any-service                    | + parent

  + start rom_filter | ram: 1M
    + provides | + service ROM
    + route
      + service ROM | label: config              | + child fs_rom | label: dynamic_remap.config
      + service ROM | unscoped_label: ld.lib.so  | + parent
      + service ROM | unscoped_label: rom_filter | + parent
      + service ROM                              | + child report
      + any-service
        + parent

  + start fs_rom | ram: 2M
    + provides | + service ROM
    + route
      + service File_system | + parent | identity: keyboard
      + any-service         | + parent

+ content
  + rom init
  + rom ld.lib.so
  + rom vfs.lib.so
  + rom rom_filter
  + rom global_keys_handler
  + rom report_rom
  + rom rom_to_file
  + rom fs_rom
-
