You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This was caused by kernel driver disabling the matrix scan in the KB firmware and userspace tools not re-enabling it on startup. :)
|2 months ago|
|docs||1 year ago|
|firmware||1 year ago|
|keymaps||9 months ago|
|.gitignore||1 year ago|
|COPYING||1 year ago|
|HACKING||1 year ago|
|Makefile||8 months ago|
|README||1 year ago|
|README.flashing||1 year ago|
|README.i2c-intf||1 year ago|
|README.testing||1 year ago|
|TODO||8 months ago|
|bin2pgd.c||1 year ago|
|common.c||8 months ago|
|i2c-charger-ctl.c||2 months ago|
|i2c-debugger.c||8 months ago|
|i2c-flasher.c||1 year ago|
|i2c-inputd.c||2 months ago|
|usb-debugger.c||1 year ago|
|usb-flasher.c||1 year ago|
FOSS firmware for pinephone keyboard
- Dual firmware architecture: stock firmware + optional user firmware.
- Stock firmware implements the full functionality of the keyboard.
- Stock firmware is layout independent, it reports the raw status
of the whole keyboard matrix.
- Key maps and combinations can be arbitrarily changed in the keyboard
driver without re-flashing the firmware.
- Stock firmware should be sufficient for most users who will not want
to do HW modifications to their keyboard to add more peripherals to
the keyboard MCU.
- Power efficient implementation using power-down feature of the MCU
to save power as much as possible. (currently: 9 mW when idle, 20mW
in active scanning mode - with at least one key pressed)
- Stock firmware is flashed in factory and allows flashing user firmware
from the pinephone itself over I2C interface.
- User firmware can be used either for updates or for customizations
(SW support for HW modifications of the keyboard)
- USB stack and tools for stock firmware flashing using ELAN's original
bootloader to ease development of the stock firmware.
- Self-testing features to quickly test for issues with the keyboard matrix.
- Fully based on FOSS software, with no dependencies. You only need
sdcc 4.1+ to build the firmware.
See demo video https://megous.com/dl/tmp/kb.mp4 and some technical overview https://xnux.eu/log/
You can support the project via donations at https://xnux.eu/contribute.html#toc-donations
See also Samuel's kernel driver: