1.1 --- a/src/maple/controller.c Sun Jul 06 03:17:32 2008 +0000
1.2 +++ b/src/maple/controller.c Wed Jul 23 11:11:30 2008 +0000
1.4 struct maple_device_class controller_class = { "Sega Controller", controller_new };
1.6 static struct controller_device base_controller = {
1.7 - { MAPLE_DEVICE_TAG, &controller_class, CONTROLLER_IDENT, CONTROLLER_VERSION,
1.8 - controller_get_config, controller_attach, controller_detach, controller_destroy,
1.9 - controller_clone, NULL, NULL, controller_get_cond, NULL, NULL, NULL },
1.10 - {0x0000FFFF, 0x80808080},
1.11 - {{ "dpad left", N_("Dpad left"), CONFIG_TYPE_KEY },
1.12 - { "dpad right", N_("Dpad right"), CONFIG_TYPE_KEY },
1.13 - { "dpad up", N_("Dpad up"), CONFIG_TYPE_KEY },
1.14 - { "dpad down", N_("Dpad down"), CONFIG_TYPE_KEY },
1.15 - { "analog left", N_("Analog left"), CONFIG_TYPE_KEY },
1.16 - { "analog right", N_("Analog right"), CONFIG_TYPE_KEY },
1.17 - { "analog up", N_("Analog up"), CONFIG_TYPE_KEY },
1.18 - { "analog down", N_("Analog down"), CONFIG_TYPE_KEY },
1.19 - { "button X", N_("Button X"), CONFIG_TYPE_KEY },
1.20 - { "button Y", N_("Button Y"), CONFIG_TYPE_KEY },
1.21 - { "button A", N_("Button A"), CONFIG_TYPE_KEY },
1.22 - { "button B", N_("Button B"), CONFIG_TYPE_KEY },
1.23 - { "trigger left", N_("Trigger left"), CONFIG_TYPE_KEY },
1.24 - { "trigger right", N_("Trigger right"), CONFIG_TYPE_KEY },
1.25 - { "start", N_("Start button"), CONFIG_TYPE_KEY },
1.26 - { NULL, CONFIG_TYPE_NONE }} };
1.27 + { MAPLE_DEVICE_TAG, &controller_class, CONTROLLER_IDENT, CONTROLLER_VERSION,
1.28 + controller_get_config, controller_attach, controller_detach, controller_destroy,
1.29 + controller_clone, NULL, NULL, controller_get_cond, NULL, NULL, NULL },
1.30 + {0x0000FFFF, 0x80808080},
1.31 + {{ "dpad left", N_("Dpad left"), CONFIG_TYPE_KEY },
1.32 + { "dpad right", N_("Dpad right"), CONFIG_TYPE_KEY },
1.33 + { "dpad up", N_("Dpad up"), CONFIG_TYPE_KEY },
1.34 + { "dpad down", N_("Dpad down"), CONFIG_TYPE_KEY },
1.35 + { "analog left", N_("Analog left"), CONFIG_TYPE_KEY },
1.36 + { "analog right", N_("Analog right"), CONFIG_TYPE_KEY },
1.37 + { "analog up", N_("Analog up"), CONFIG_TYPE_KEY },
1.38 + { "analog down", N_("Analog down"), CONFIG_TYPE_KEY },
1.39 + { "button X", N_("Button X"), CONFIG_TYPE_KEY },
1.40 + { "button Y", N_("Button Y"), CONFIG_TYPE_KEY },
1.41 + { "button A", N_("Button A"), CONFIG_TYPE_KEY },
1.42 + { "button B", N_("Button B"), CONFIG_TYPE_KEY },
1.43 + { "trigger left", N_("Trigger left"), CONFIG_TYPE_KEY },
1.44 + { "trigger right", N_("Trigger right"), CONFIG_TYPE_KEY },
1.45 + { "start", N_("Start button"), CONFIG_TYPE_KEY },
1.46 + { NULL, CONFIG_TYPE_NONE }} };
1.48 #define CONTROLLER(x) ((controller_device_t)(x))
1.52 controller_device_t dev = (controller_device_t)mdev;
1.56 - dev->condition[1] &= ~JOY_X_AXIS;
1.59 - dev->condition[1] |= JOY_X_AXIS;
1.62 - dev->condition[1] &= ~JOY_Y_AXIS;
1.65 - dev->condition[1] |= JOY_Y_AXIS;
1.67 - case BUTTON_LEFT_TRIGGER:
1.68 - case BUTTON_RIGHT_TRIGGER:
1.69 - dev->condition[0] |= value;
1.72 - dev->condition[0] &= ~value;
1.76 + dev->condition[1] &= ~JOY_X_AXIS;
1.79 + dev->condition[1] |= JOY_X_AXIS;
1.82 + dev->condition[1] &= ~JOY_Y_AXIS;
1.85 + dev->condition[1] |= JOY_Y_AXIS;
1.87 + case BUTTON_LEFT_TRIGGER:
1.88 + case BUTTON_RIGHT_TRIGGER:
1.89 + dev->condition[0] |= value;
1.92 + dev->condition[0] &= ~value;
1.98 - dev->condition[1] = (dev->condition[1] & ~JOY_X_AXIS)| JOY_X_AXIS_CENTER;
1.102 - dev->condition[1] = (dev->condition[1] & ~JOY_Y_AXIS)| JOY_Y_AXIS_CENTER;
1.104 - case BUTTON_LEFT_TRIGGER:
1.105 - case BUTTON_RIGHT_TRIGGER:
1.106 - dev->condition[0] &= ~value;
1.109 - dev->condition[0] |= value;
1.114 + dev->condition[1] = (dev->condition[1] & ~JOY_X_AXIS)| JOY_X_AXIS_CENTER;
1.118 + dev->condition[1] = (dev->condition[1] & ~JOY_Y_AXIS)| JOY_Y_AXIS_CENTER;
1.120 + case BUTTON_LEFT_TRIGGER:
1.121 + case BUTTON_RIGHT_TRIGGER:
1.122 + dev->condition[0] &= ~value;
1.125 + dev->condition[0] |= value;