diff --git a/examples/nxterm/nxterm_wndo.c b/examples/nxterm/nxterm_wndo.c index 4f5c7513a..289ac4b50 100644 --- a/examples/nxterm/nxterm_wndo.c +++ b/examples/nxterm/nxterm_wndo.c @@ -1,7 +1,7 @@ /**************************************************************************** * examples/nxterm/nxterm_wndo.c * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2012, 2019 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -39,6 +39,7 @@ #include +#include #include #include #include @@ -50,6 +51,7 @@ #include #include +#include #include #include "nxterm_internal.h" @@ -125,9 +127,15 @@ static void nxwndo_redraw(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, if (g_nxterm_vars.hdrvr) { + struct boardioc_nxterm_redraw_s redraw; + /* Inform the NX console of the redraw request */ - nxterm_redraw(g_nxterm_vars.hdrvr, rect, more); + redraw.handle = g_nxterm_vars.hdrvr; + redraw.more = more; + nxgl_rectcopy(&redraw.rect, rect); + + (void)boardctl(BOARDIOC_NXTERM_REDRAW, (uintptr_t)&redraw); } else { diff --git a/graphics/NxWidgets/nxwidgets/src/ccallback.cxx b/graphics/NxWidgets/nxwidgets/src/ccallback.cxx index 883191743..514866705 100644 --- a/graphics/NxWidgets/nxwidgets/src/ccallback.cxx +++ b/graphics/NxWidgets/nxwidgets/src/ccallback.cxx @@ -1,7 +1,7 @@ /**************************************************************************** * apps/graphics/NxWidgets/nxwidgets/src/ccallback.cxx * - * Copyright (C) 2012-2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2012-2013, 2019 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -40,14 +40,14 @@ #include #include +#ifdef CONFIG_NXTERM_NXKBDIN +# include +#endif + #include #include #include -#ifdef CONFIG_NXTERM_NXKBDIN -# include -#endif - #include "graphics/nxwidgets/cwidgetcontrol.hxx" #include "graphics/nxwidgets/ccallback.hxx" @@ -212,9 +212,15 @@ void CCallback::newKeyboardEvent(NXHANDLE hwnd, uint8_t nCh, #ifdef CONFIG_NXTERM_NXKBDIN if (This->m_nxterm) { + struct boardioc_nxterm_kbdin_s kbdin; + // Keyboard input is going to an NxTerm - nxterm_kbdin(This->m_nxterm, str, nCh); + kbdin.handle = This->m_nxterm; + kbdin.buffer = str; + kbdin.buflen = nCh; + + (void)boardctl(BOARDIOC_NXTERM_KBDIN, (uintptr_t)&kbin); } else #endif diff --git a/graphics/NxWidgets/nxwm/src/cnxterm.cxx b/graphics/NxWidgets/nxwm/src/cnxterm.cxx index d5c9cac90..8c7fb0704 100644 --- a/graphics/NxWidgets/nxwm/src/cnxterm.cxx +++ b/graphics/NxWidgets/nxwm/src/cnxterm.cxx @@ -403,13 +403,16 @@ void CNxTerm::redraw(void) // Redraw the entire NxTerm window - struct nxgl_rect_s rect; - rect.pt1.x = 0; - rect.pt1.y = 0; - rect.pt2.x = windowSize.w - 1; - rect.pt2.y = windowSize.h - 1; + struct boardioc_nxterm_redraw_s redraw; - nxterm_redraw(m_nxterm, &rect, false); + redraw.handle = m_nxterm; + redraw.rect.pt1.x = 0; + redraw.rect.pt1.y = 0; + redraw.rect.pt2.x = windowSize.w - 1; + redraw.rect.pt2.y = windowSize.h - 1; + redraw.more = false; + + (void)boardctl(BOARDIOC_NXTERM_KBDIN, (uintptr_t)&redraw); } /**