diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-12-04 03:19:59 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-12-04 03:19:59 +0000 |
commit | 01fab0c78eeef5461a896847f05caec51d26050f (patch) | |
tree | 1a500c7a38318a2d9ee6b40655863d4726c1f2f8 /nuttx/graphics | |
parent | 6f348a7102c32164dd7fcc9008bdbd8a810fc5b7 (diff) | |
download | px4-nuttx-01fab0c78eeef5461a896847f05caec51d26050f.tar.gz px4-nuttx-01fab0c78eeef5461a896847f05caec51d26050f.tar.bz2 px4-nuttx-01fab0c78eeef5461a896847f05caec51d26050f.zip |
Enable keypad input
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1411 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/graphics')
-rw-r--r-- | nuttx/graphics/nxmu/nx_kbdchin.c | 2 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nx_kbdin.c | 11 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxfe.h | 8 | ||||
-rw-r--r-- | nuttx/graphics/nxmu/nxmu_kbdin.c | 20 | ||||
-rw-r--r-- | nuttx/graphics/nxsu/nx_kbdin.c | 4 | ||||
-rw-r--r-- | nuttx/graphics/nxtk/nxtk_events.c | 8 |
6 files changed, 27 insertions, 26 deletions
diff --git a/nuttx/graphics/nxmu/nx_kbdchin.c b/nuttx/graphics/nxmu/nx_kbdchin.c index 4f16c1d28..e83c9a0a2 100644 --- a/nuttx/graphics/nxmu/nx_kbdchin.c +++ b/nuttx/graphics/nxmu/nx_kbdchin.c @@ -94,7 +94,7 @@ int nx_kbdchin(NXHANDLE handle, ubyte ch) outmsg.nch = 1; outmsg.ch[0] = ch; - ret = mq_send(conn->c_cwrmq, &outmsg, sizeof(struct nxsvrmsg_kbdin_s), NX_SVRMSG_PRIO); + ret = mq_send(conn->cwrmq, &outmsg, sizeof(struct nxsvrmsg_kbdin_s), NX_SVRMSG_PRIO); if (ret < 0) { gdbg("mq_send failed: %d\n", errno); diff --git a/nuttx/graphics/nxmu/nx_kbdin.c b/nuttx/graphics/nxmu/nx_kbdin.c index 46229a94e..e9665e89b 100644 --- a/nuttx/graphics/nxmu/nx_kbdin.c +++ b/nuttx/graphics/nxmu/nx_kbdin.c @@ -40,6 +40,7 @@ #include <nuttx/config.h> #include <sys/types.h> +#include <stdlib.h> #include <errno.h> #include <debug.h> @@ -82,7 +83,7 @@ * ****************************************************************************/ -int int nx_kbdin(NXHANDLE handle, ubyte nch const char *ch) +int nx_kbdin(NXHANDLE handle, ubyte nch, FAR const ubyte *ch) { FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; FAR struct nxsvrmsg_kbdin_s *outmsg; @@ -104,15 +105,15 @@ int int nx_kbdin(NXHANDLE handle, ubyte nch const char *ch) /* Inform the server of the new keypad data */ - outsg->msgid = NX_SVRMSG_KBDIN; - outmsg->nch = nch; + outmsg->msgid = NX_SVRMSG_KBDIN; + outmsg->nch = nch; - for (i = 0; i < nch; i+) + for (i = 0; i < nch; i++) { outmsg->ch[i] = ch[i]; } - ret = mq_send(conn->c_cwrmq, outmsg, size, NX_SVRMSG_PRIO); + ret = mq_send(conn->cwrmq, outmsg, size, NX_SVRMSG_PRIO); if (ret < 0) { gdbg("mq_send failed: %d\n", errno); diff --git a/nuttx/graphics/nxmu/nxfe.h b/nuttx/graphics/nxmu/nxfe.h index e036bf675..47a804c49 100644 --- a/nuttx/graphics/nxmu/nxfe.h +++ b/nuttx/graphics/nxmu/nxfe.h @@ -237,11 +237,11 @@ struct nxclimsg_mousein_s /* This message reports a new keypad event to a particular window */ #ifdef CONFIG_NX_KBD -struct nxclimsg_key +struct nxclimsg_kbdin_s { uint32 msgid; /* NX_CLIMSG_KBDIN */ FAR struct nxbe_window_s *wnd; /* The handle of window receiving keypad input */ - ubyte nch /* Number of characters received */ + ubyte nch; /* Number of characters received */ ubyte ch[1]; /* Array of received characters */ }; #endif @@ -408,7 +408,7 @@ struct nxsvrmsg_mousein_s struct nxsvrmsg_kbdin_s { uint32 msgid; /* NX_SVRMSG_KBDIN */ - ubyte nch /* Number of characters received */ + ubyte nch ; /* Number of characters received */ ubyte ch[1]; /* Array of received characters */ }; #endif @@ -613,7 +613,7 @@ EXTERN int nxmu_mousein(FAR struct nxfe_state_s *fe, ****************************************************************************/ #ifdef CONFIG_NX_KBD -EXTERN void nxmu_kbdin(FAR struct nxfe_state_s *fe, ubyte nch, ubyte *ch); +EXTERN void nxmu_kbdin(FAR struct nxfe_state_s *fe, ubyte nch, FAR ubyte *ch); #endif #undef EXTERN diff --git a/nuttx/graphics/nxmu/nxmu_kbdin.c b/nuttx/graphics/nxmu/nxmu_kbdin.c index 35af516ae..903533357 100644 --- a/nuttx/graphics/nxmu/nxmu_kbdin.c +++ b/nuttx/graphics/nxmu/nxmu_kbdin.c @@ -40,6 +40,7 @@ #include <nuttx/config.h> #include <sys/types.h> +#include <stdlib.h> #include <errno.h> #include <debug.h> @@ -82,10 +83,9 @@ * ****************************************************************************/ -void nxmu_kbdin(FAR struct nxs_server_s *svr, ubyte nch, ubyte *ch) +void nxmu_kbdin(FAR struct nxfe_state_s *fe, ubyte nch, FAR ubyte *ch) { - struct nxbe_window_s *wnd; - FAR struct nxclimgs_kbdin_s *outmsg; + FAR struct nxclimsg_kbdin_s *outmsg; int size; int ret; int i; @@ -94,22 +94,22 @@ void nxmu_kbdin(FAR struct nxs_server_s *svr, ubyte nch, ubyte *ch) * character data. */ - size = sizeof(struct nxclimgs_kbdin_s) + nch - 1; - outmsg = (FAR struct nxclimgs_kbdin_s *)malloc(size); + size = sizeof(struct nxclimsg_kbdin_s) + nch - 1; + outmsg = (FAR struct nxclimsg_kbdin_s *)malloc(size); if (outmsg) { /* Give the keypad input only to the top child */ - outsg->msgid = NX_SVRMSG_KBDIN; - outmsg->wnd = svr->topwnd; - outmsg->nch = nch; + outmsg->msgid = NX_CLIMSG_KBDIN; + outmsg->wnd = fe->be.topwnd; + outmsg->nch = nch; - for (i = 0; i < nch; i+) + for (i = 0; i < nch; i++) { outmsg->ch[i] = ch[i]; } - ret = mq_send(svr->topwnd->conn->swrmq, outmsg, size, NX_SVRMSG_PRIO); + ret = mq_send(fe->be.topwnd->conn->swrmq, outmsg, size, NX_SVRMSG_PRIO); if (ret < 0) { gdbg("mq_send failed: %d\n", errno); diff --git a/nuttx/graphics/nxsu/nx_kbdin.c b/nuttx/graphics/nxsu/nx_kbdin.c index 3fe6a26c0..54081d662 100644 --- a/nuttx/graphics/nxsu/nx_kbdin.c +++ b/nuttx/graphics/nxsu/nx_kbdin.c @@ -81,7 +81,7 @@ * ****************************************************************************/ -int int nx_kbdin(NXHANDLE handle, ubyte nch const char *ch) +int nx_kbdin(NXHANDLE handle, ubyte nch, FAR const ubyte *ch) { FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; FAR struct nxbe_window_s *wnd = fe->be.topwnd; @@ -92,7 +92,7 @@ int int nx_kbdin(NXHANDLE handle, ubyte nch const char *ch) if (wnd->cb->kbdin) { - wnd->cb->kbdin(wnd, kbd->nch, kbd->ch, wnd->arg); + wnd->cb->kbdin(wnd, nch, ch, wnd->arg); } } diff --git a/nuttx/graphics/nxtk/nxtk_events.c b/nuttx/graphics/nxtk/nxtk_events.c index 1832eda75..52323a751 100644 --- a/nuttx/graphics/nxtk/nxtk_events.c +++ b/nuttx/graphics/nxtk/nxtk_events.c @@ -72,7 +72,7 @@ static void nxtk_mousein(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, ubyte buttons, FAR void *arg); #endif #ifdef CONFIG_NX_KBD -static void nxtk_kbdin(NXWINDOW hwnd, ubyte nch, const ubyte *ch); +static void nxtk_kbdin(NXWINDOW hwnd, ubyte nch, const ubyte *ch, FAR void *arg); #endif /**************************************************************************** @@ -91,7 +91,7 @@ const struct nx_callback_s g_nxtkcb = , nxtk_mousein /* mousein */ #endif #ifdef CONFIG_NX_KBD - , nxtk_kbdin1 /* kbdin */ + , nxtk_kbdin /* kbdin */ #endif }; @@ -252,7 +252,7 @@ static void nxtk_mousein(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, ****************************************************************************/ #ifdef CONFIG_NX_KBD -static void nxtk_kbdin(NXWINDOW hwnd, ubyte nch, const ubyte *ch) +static void nxtk_kbdin(NXWINDOW hwnd, ubyte nch, const ubyte *ch, FAR void *arg) { FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd; @@ -260,7 +260,7 @@ static void nxtk_kbdin(NXWINDOW hwnd, ubyte nch, const ubyte *ch) if (fwnd->fwcb->kbdin) { - fwnd->fwcb->kbdin((NXTKWINDOW)fwnd, nch, ch); + fwnd->fwcb->kbdin((NXTKWINDOW)fwnd, nch, ch, fwnd->fwarg); } } #endif |