From f27b1ceaae0255305b3c6088cf0d9c1ff816f820 Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 9 Aug 2009 15:00:03 +0000 Subject: [PATCH] input def bind fix, rnd note git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@742 be3aeb3a-fb24-0410-a615-afba39da0efa --- common/input.c | 17 +++++++++++++---- gp2x/soc_pollux.c | 8 ++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/common/input.c b/common/input.c index b6df2ba..e3cf071 100644 --- a/common/input.c +++ b/common/input.c @@ -718,7 +718,7 @@ void in_config_end(void) int i; for (i = 0; i < IN_MAX_DEVS; i++) { - int n, ret, count, *binds, *def_binds; + int n, t, ret, count, *binds, *def_binds; in_dev_t *dev = &in_devices[i]; if (dev->binds == NULL) @@ -728,9 +728,18 @@ void in_config_end(void) binds = dev->binds; def_binds = binds + count * IN_BINDTYPE_COUNT; - for (n = 0; n < count * IN_BINDTYPE_COUNT; n++) - if (binds[n] == -1) - binds[n] = def_binds[n]; + for (n = 0; n < count; n++) { + int is_default = 1; + for (t = 0; t < IN_BINDTYPE_COUNT; t++) + if (binds[IN_BIND_OFFS(n, t)] == -1) + binds[IN_BIND_OFFS(n, t)] = 0; + else + is_default = 0; + + if (is_default) + for (t = 0; t < IN_BINDTYPE_COUNT; t++) + binds[IN_BIND_OFFS(n, t)] = def_binds[IN_BIND_OFFS(n, t)]; + } if (dev->drv_data == NULL) continue; diff --git a/gp2x/soc_pollux.c b/gp2x/soc_pollux.c index 922305a..3b2ca2d 100644 --- a/gp2x/soc_pollux.c +++ b/gp2x/soc_pollux.c @@ -1,3 +1,11 @@ +/* + * + * 00000000-029fffff linux (42MB) + * 02a00000-02dfffff fb (4MB, 153600B really used) + * 02e00000-02ffffff sound dma (2MB) + * 03000000-03ffffff MPEGDEC (?, 16MB) + * + */ #include #include #include -- 2.39.2