mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-25 07:27:16 +00:00
* 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>
161 lines
5 KiB
Text
161 lines
5 KiB
Text
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menuconfig GRAPHICS_MICROWINDOWS
|
|
bool "Microwindows or the Nano-X Window System"
|
|
default n
|
|
depends on VIDEO_FB
|
|
---help---
|
|
Enable Microwindows or the Nano-X Window System
|
|
|
|
if GRAPHICS_MICROWINDOWS
|
|
|
|
config MICROWINDOWS_FB_PATH
|
|
string "Framebuffer device path"
|
|
default "/dev/fb0"
|
|
---help---
|
|
Path to the NuttX framebuffer device.
|
|
|
|
choice
|
|
prompt "Keyboard driver"
|
|
default MICROWINDOWS_KBD_EVENT
|
|
---help---
|
|
Select the keyboard input driver for Microwindows.
|
|
|
|
config MICROWINDOWS_KBD_EVENT
|
|
bool "Event-mode keyboard driver"
|
|
---help---
|
|
Reads keyboard_event_s events from a NuttX keyboard device
|
|
(e.g., /dev/kbd). Supports key press/release tracking and
|
|
modifier keys (Shift, Ctrl, Alt).
|
|
|
|
config MICROWINDOWS_KBD_RAW
|
|
bool "Raw-mode keyboard driver"
|
|
depends on INPUT_KEYBOARD_BYTESTREAM
|
|
---help---
|
|
Reads raw byte stream from a character device (e.g., /dev/kbda)
|
|
and decodes escape sequences via the kbd_codec library. Suitable
|
|
for USB HID keyboards on QEMU.
|
|
|
|
config MICROWINDOWS_KBD_NONE
|
|
bool "No keyboard driver"
|
|
---help---
|
|
No keyboard driver is compiled. Microwindows will use a null
|
|
keyboard driver that never produces input. Suitable for
|
|
display-only applications.
|
|
|
|
config MICROWINDOWS_KBD_CUSTOM
|
|
bool "Custom keyboard driver"
|
|
---help---
|
|
No built-in keyboard driver is compiled. The application or BSP
|
|
must provide its own kbddev symbol and KBDDEVICE implementation,
|
|
and add the source file to the build (e.g., via CSRCS in its
|
|
Makefile). See the Microwindows documentation for details.
|
|
|
|
endchoice
|
|
|
|
config MICROWINDOWS_KBD_EVENT_PATH
|
|
string "Event keyboard device path"
|
|
default "/dev/kbd"
|
|
depends on MICROWINDOWS_KBD_EVENT
|
|
---help---
|
|
Device path for the event-mode keyboard driver.
|
|
|
|
config MICROWINDOWS_KBD_RAW_PATH
|
|
string "Raw keyboard device path"
|
|
default "/dev/kbda"
|
|
depends on MICROWINDOWS_KBD_RAW
|
|
---help---
|
|
Device path for the raw-mode keyboard driver.
|
|
|
|
choice
|
|
prompt "Mouse/touchscreen driver"
|
|
default MICROWINDOWS_MOUSE_RELATIVE
|
|
---help---
|
|
Select the pointing device driver for Microwindows.
|
|
|
|
config MICROWINDOWS_MOUSE_RELATIVE
|
|
bool "Relative mouse driver"
|
|
---help---
|
|
Reads mouse_report_s events from a NuttX mouse device
|
|
(e.g., /dev/mouse0). Supports three buttons and scroll wheel.
|
|
|
|
config MICROWINDOWS_MOUSE_TS
|
|
bool "Touchscreen driver"
|
|
---help---
|
|
Reads touch_sample_s events from a NuttX touchscreen device
|
|
(e.g., /dev/input0). Supports absolute positioning.
|
|
|
|
config MICROWINDOWS_MOUSE_NONE
|
|
bool "No mouse/touchscreen driver"
|
|
---help---
|
|
No pointing device driver is compiled. Microwindows will use a
|
|
null mouse driver that never produces input and hides the cursor.
|
|
Suitable for display-only applications.
|
|
|
|
config MICROWINDOWS_MOUSE_CUSTOM
|
|
bool "Custom mouse/touchscreen driver"
|
|
---help---
|
|
No built-in pointing device driver is compiled. The application
|
|
or BSP must provide its own mousedev symbol and MOUSEDEVICE
|
|
implementation, and add the source file to the build (e.g., via
|
|
CSRCS in its Makefile). See the Microwindows documentation for
|
|
details.
|
|
|
|
endchoice
|
|
|
|
config MICROWINDOWS_MOUSE_PATH
|
|
string "Mouse device path"
|
|
default "/dev/mouse0"
|
|
depends on MICROWINDOWS_MOUSE_RELATIVE
|
|
---help---
|
|
Device path for the relative mouse driver.
|
|
|
|
config MICROWINDOWS_TS_PATH
|
|
string "Touchscreen device path"
|
|
default "/dev/input0"
|
|
depends on MICROWINDOWS_MOUSE_TS
|
|
---help---
|
|
Device path for the touchscreen driver.
|
|
|
|
config MICROWINDOWS_MWIN
|
|
bool "Win32 API (mwin) support"
|
|
default n
|
|
---help---
|
|
Build the Microwindows Win32 (mwin) API library. This provides
|
|
a high-level windowing API similar to the Microsoft Windows API
|
|
with window management, controls, and standard dialogs.
|
|
|
|
config MICROWINDOWS_NANOX
|
|
bool "Nano-X (X11 API) client/server support"
|
|
default n
|
|
depends on MICROWINDOWS_NANOX_NONETWORK || (NET_LOCAL && NET_LOCAL_STREAM)
|
|
---help---
|
|
Build the Nano-X server core and the Nano-X client library.
|
|
The Nano-X server runs as a separate task and provides the
|
|
X11-like API (GrXXX calls) to client applications which
|
|
connect to it through a local stream socket. Alternatively,
|
|
with MICROWINDOWS_NANOX_NONETWORK, the client applications
|
|
are linked directly with the server and run in the same task.
|
|
|
|
config MICROWINDOWS_NANOX_NONETWORK
|
|
bool "Link Nano-X applications directly with the server"
|
|
default n
|
|
---help---
|
|
Build the Nano-X client library and server in the linked-in
|
|
(NONETWORK) mode: client applications are linked directly
|
|
with the server, so no network stack or socket is required
|
|
and the memory footprint is minimal. Only a single client
|
|
application can be active at a time.
|
|
|
|
config MICROWINDOWS_NANOX_NANOWM
|
|
bool "Built-in Nano-X window manager"
|
|
default n
|
|
depends on MICROWINDOWS_NANOX
|
|
---help---
|
|
Link the built-in window manager (wm*.c, nxdraw.c) into the
|
|
Nano-X server, providing window decorations (title bar, 3D
|
|
frame), cascaded placement, move/resize and focus handling.
|
|
endif # GRAPHICS_MICROWINDOWS
|