Unl0kr
======

Unl0kr provides an extremely light weight on-screen keyboard for disk 
decryption. To do so, it relies on the following vendored libraries:
* LVGL: The Light and Versatile Graphics Library is a GUI toolkit for
  building embedded UIs, originally targeted at microcontrollers.
  Its [documentation](https://docs.lvgl.io/latest/en/html/porting/project.html)
  requires vendoring as the library is configured at build-time using a
  C header.
* LV_Drivers: This library provides drivers for different devices used by LVGL.

Additionally, the system relies on converting non-code files to C for use as LVGL
widgets and graphics:
* sq2lv_layouts.* are generated by upstream from 
  [squeekboard](https://packages.debian.org/sid/squeekboard) layouts.
* font_32.c is generated by upstream from the FontAwesome and OpenSans fonts 
  included in the source package.

For DFSG compliance, some upstream files have been removed:
* lvgl/src/font/*: Generated from (and thus derrived works) built fonts that 
  upstream LVGL don't document copyright for.
* lvgl/scripts/built_in_font/*: license is undocumented.
* lvgl/examples and lvgl/demos: These have been removed simply because they 
  are not required for Unl0kr.
* lvgl/env_support/cmsis-pack/*: Contains pre-built binaries not buildable without
  additional non-packaged software (CMSIS, Arm's Common Microcontroller Software 
  Interface Standard) and not required for Unl0kr.

