Feature/lvglterm input variants#19279
Merged
xiaoxiang781216 merged 2 commits intoJul 3, 2026
Merged
Conversation
Add the 56-key matrix keyboard driver for the M5Stack Cardputer. The keys form an 8x7 matrix behind a 74HC138 3-to-8 demultiplexer; the driver scans it on the low-priority work queue and registers a keyboard device at /dev/kbd0, reporting ASCII codes with SHIFT/CTRL and Fn (cursor) handling. Add an "lvglterm" configuration that runs the on-screen NuttShell terminal (apps/examples/lvglterm, physical-keyboard input variant) on the ST7789 display: the shell output is rendered in an LVGL text area and the keyboard feeds the input. Wi-Fi is included so the on-screen shell can associate with an access point using wapi. Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
Contributor
Author
|
This PR depends on the companion nuttx-apps PR apache/nuttx-apps#3582 |
linguini1
previously approved these changes
Jul 2, 2026
acassis
previously requested changes
Jul 2, 2026
90155fd to
77cf556
Compare
xiaoxiang781216
approved these changes
Jul 3, 2026
eren-terzioglu
approved these changes
Jul 3, 2026
jerpelea
approved these changes
Jul 3, 2026
Add an "lvglterm" configuration that runs the on-screen NuttShell terminal (apps/examples/lvglterm, touch input variant) on the display: an on-screen LVGL keyboard driven by the FT5X06 touchscreen feeds the shell and the NSH output is rendered in an LVGL text area. Update the apps/examples/lvglterm documentation to describe the two input variants (on-screen touch keyboard and physical keyboard) and their configuration options (input source, keyboard device and font choices). Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
77cf556 to
d60a96c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR has two commits, one per board, each exercising the on-screen NuttShell terminal (the lvglterm example) with a different LVGL input source:
boards/esp32s3: esp32s3-m5-cardputer: adds the 56-key matrix keyboard driver (8x7 matrix behind a 74HC138 demultiplexer, registered as /dev/kbd0) and an lvglterm configuration that runs the terminal fed by the physical keyboard, with Wi-Fi enabled.
boards/arm/stm32h7: linum-stm32h753bi: adds an lvglterm configuration that runs the same terminal fed by an on-screen keyboard driven by the FT5X06 touch sensor.
So one commit tests lvglterm with the touch sensor and the other with the Cardputer matrix keyboard.
Depends on the companion apps PR (nuttx-apps) that refactors apps/examples/lvglterm to support both input variants.
Impact
New board configurations plus one new board keyboard driver; no impact on existing boards. The default behaviour of lvglterm is unchanged (touch stays the default).
Testing
Both configs build clean and were flashed/validated on hardware.
Cardputer (physical keyboard):
Typed command inline (nsh> ls), Fn+;/. scroll, Wi-Fi works.
Linum (FT5X06 touch):