* Add CONFIG_MICROWINDOWS_NANOX_NONETWORK which builds the Nano-X
client library and server in the linked-in (NONETWORK) mode, so
client applications are linked directly with the server and run in
the same task, requiring no network stack or socket at all
* Reorganize the source lists: the drawing sources (nxdraw, nxutil,
nxtransform, nxpaintnc) are shared by both modes, while the server
is built from srvnet.c in the network mode and srvnonet.c in the
NONETWORK mode
* Use MULTITHREAD_SERVER in the network mode so that several client
tasks can run at the same time in the flat build
* Let the examples/nanoxterm start the server task only in the
network mode (NONETWORK applications run the server inside main)
Assisted-by: OpenCode:DeepSeek-V4-Flash
Signed-off-by: Acfboy <AcfboyU@outlook.com>
Build the Nano-X client library, server and (optional) built-in window manager
from the bundled Microwindows tree
Signed-off-by: Acfboy <AcfboyU@outlook.com>
Both read a keyboard as a stream of characters: NSH uses a USB HID
keyboard for stdin, and the raw mode of the Microwindows keyboard driver
decodes the stream with the codec. That stream now comes from
INPUT_KEYBOARD_BYTESTREAM rather than from the USB HID driver itself.
Say so, so that Kconfig refuses a combination that cannot work instead of
letting the application read events and treat them as text. No in-tree
configuration selects either option.
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
Without this Make variable, Objects.rules does not add font_fnt.o
to the build, causing undefined reference to fnt_createfont at link time.
Signed-off-by: Acfboy <AcfboyU@outlook.com>
This commit integrates the Microwindows core into the NuttX apps
build system:
- Downloads a pinned upstream commit during build and compiles the
engine, drivers and precompiled bitmap fonts via Microwindows'
Objects.rules files.
- Adds Kconfig options for framebuffer path, keyboard driver
selection (event-mode, raw byte-stream, none, custom), and
mouse/touchscreen driver selection (relative, touchscreen, none,
custom).
- Uses the MWCONFIG_FILE mechanism to inject NuttX-specific
configuration (mwconfig.nuttx) without modifying upstream headers.
- The NuttX screen, keyboard, mouse and touchscreen drivers are
pulled from upstream Microwindows. Driver selection is controlled
via ARCH=NUTTX and Kconfig-driven KEYBOARD/MOUSE variables in
the Makefile.
- Depends on VIDEO_FB for the framebuffer device.
- Builds the mwin library (Win32 API layer) when MICROWINDOWS_MWIN
is enabled.
Co-authored-by: Pavel Pisa <ppisa@pikron.com>
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Signed-off-by: Acfboy <AcfboyU@outlook.com>