diff options
author | Peter Hutterer <peter.hutterer@redhat.com> | 2008-09-26 17:19:29 +0930 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@redhat.com> | 2008-09-26 17:21:16 +0930 |
commit | 3794afd9784480fa503cbffa16382c0e38e1fa8b (patch) | |
tree | 6e6da910e4b00933590fea87ea81d2b4c04ee4e2 | |
parent | 6e635e394a7423734d36d99dc744203b759a8d42 (diff) |
Adjust joystick properties to new property API.
ConfigureProperty doesn't exist anymore, ChangeProperty has two parameters
less. SetProperty handler must return Status.
Mark all properties as non-deletable.
-rw-r--r-- | src/jstk_properties.c | 103 |
1 files changed, 34 insertions, 69 deletions
diff --git a/src/jstk_properties.c b/src/jstk_properties.c index 4ef64b7..fff0ffd 100644 --- a/src/jstk_properties.c +++ b/src/jstk_properties.c @@ -94,7 +94,7 @@ static Atom prop_button_keys = 0; -static Bool +static int jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) { InputInfoPtr pInfo = pJstk->public.devicePrivate; @@ -105,31 +105,31 @@ jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) { #if DEBUG if (val->size != 1 || val->format != 8 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; debug_level = *((INT8*)val->data); ErrorF("JOYSTICK: DebugLevel set to %d\n", debug_level); #endif }else if (atom == prop_mouse_enabled) { if (val->size != 1 || val->format != 8 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; priv->mouse_enabled = (*((INT8*)val->data)) != 0; DBG(1, ErrorF("mouse_enabled set to %d\n", priv->mouse_enabled)); }else if (atom == prop_keys_enabled) { if (val->size != 1 || val->format != 8 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; priv->keys_enabled = (*((INT8*)val->data)) != 0; DBG(1, ErrorF("keys_enabled set to %d\n", priv->keys_enabled)); }else if (atom == prop_axis_deadzone) { if (val->size > MAXAXES || val->format != 32 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; if (val->size == 1) { /* Single value to be applied to all axes */ INT32 value; value = *((INT32*)val->data); if (value < 0) value = (-value); - if (value > 30000) return FALSE; + if (value > 30000) return BadValue; for (i =0; i<MAXAXES; i++) priv->axis[i].deadzone = value; DBG(1, ErrorF("Deadzone of all axes set to %d\n",value)); @@ -138,7 +138,7 @@ jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) values = (INT32*)val->data; for (i =0; i<val->size; i++) /* Fail, if one value is out of range */ if (values[i] > 30000 || values[i] < -30000) - return FALSE; + return BadValue; for (i =0; i<val->size; i++) { priv->axis[i].deadzone = (values[i]<0)?(-values[i]):(values[i]); DBG(1, ErrorF("Deadzone of axis %d set to %d\n",i, priv->axis[i].deadzone)); @@ -148,7 +148,7 @@ jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) { INT8 *values; if (val->size > MAXAXES || val->format != 8 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; values = (INT8*)val->data; for (i =0; i<val->size; i++) { priv->axis[i].type = values[i]; @@ -158,7 +158,7 @@ jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) { INT8 *values; if (val->size > MAXAXES || val->format != 8 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; values = (INT8*)val->data; for (i =0; i<val->size; i++) { priv->axis[i].mapping = values[i]; @@ -167,20 +167,20 @@ jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) }else if (atom == prop_axis_amplify) { /* FIXME */ - return FALSE; + return BadValue; }else if (atom == prop_axis_keys_low) { /* FIXME */ - return FALSE; + return BadValue; }else if (atom == prop_axis_keys_high) { /* FIXME */ - return FALSE; + return BadValue; }else if (atom == prop_button_mapping) { INT8 *values; if (val->size > MAXBUTTONS || val->format != 8 || val->type != XA_INTEGER) - return FALSE; + return BadMatch; values = (INT8*)val->data; for (i =0; i<val->size; i++) { priv->button[i].mapping = values[i]; @@ -189,39 +189,30 @@ jstkSetProperty(DeviceIntPtr pJstk, Atom atom, XIPropertyValuePtr val) }else if (atom == prop_button_buttonnumber) { /* FIXME */ - return FALSE; + return BadValue; }else if (atom == prop_button_amplify) { /* FIXME */ - return FALSE; + return BadValue; }else if (atom == prop_button_keys) { /* FIXME */ - return FALSE; + return BadValue; } /* property not handled, report success */ - return TRUE; -} - -static Bool -jstkGetProperty(DeviceIntPtr pJstk, Atom property) -{ - return TRUE; + return Success; } - Bool jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) { INT32 axes_values32[MAXAXES]; INT8 axes_values8[MAXAXES]; INT8 button_values8[MAXBUTTONS]; - INT32 values[32]; /* We won't tell about properties with - more than 32 possible values */ int i; - XIRegisterPropertyHandler(pJstk, jstkSetProperty, jstkGetProperty); + XIRegisterPropertyHandler(pJstk, jstkSetProperty, NULL, NULL); #ifdef DEBUG /* Debug Level */ @@ -229,7 +220,8 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_debuglevel, XA_INTEGER, 8, PropModeReplace, 1, &debug_level, - FALSE, FALSE, FALSE); + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_debuglevel, FALSE); #endif @@ -238,22 +230,16 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_mouse_enabled, XA_INTEGER, 8, PropModeReplace, 1, &priv->mouse_enabled, - FALSE, FALSE, FALSE); - values[0] = 0; - values[1] = 1; - XIConfigureDeviceProperty(pJstk, prop_mouse_enabled, FALSE, FALSE, FALSE, 2, values); - + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_mouse_enabled, FALSE); /* priv->keys_enabled */ prop_keys_enabled = MakeAtom(JSTK_PROP_KEYS_ENABLED, strlen(JSTK_PROP_KEYS_ENABLED), TRUE); XIChangeDeviceProperty(pJstk, prop_keys_enabled, XA_INTEGER, 8, PropModeReplace, 1, &priv->keys_enabled, - FALSE, FALSE, FALSE); - values[0] = 0; - values[1] = 1; - XIConfigureDeviceProperty(pJstk, prop_keys_enabled, FALSE, FALSE, FALSE, 2, values); - + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_keys_enabled, FALSE); /* priv->axis[].deadzone */ for (i=0;i<MAXAXES;i++) @@ -262,7 +248,8 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_axis_deadzone, XA_INTEGER, 32, PropModeReplace, MAXAXES, axes_values32, - FALSE, FALSE, FALSE); + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_axis_deadzone, FALSE); /* priv->axis[].type */ for (i=0;i<MAXAXES;i++) @@ -271,12 +258,8 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_axis_type, XA_INTEGER, 8, PropModeReplace, MAXAXES, axes_values8, - FALSE, FALSE, FALSE); - values[0] = TYPE_NONE; - values[1] = TYPE_BYVALUE; - values[2] = TYPE_ACCELERATED; - values[3] = TYPE_ABSOLUTE; - XIConfigureDeviceProperty(pJstk, prop_axis_type, FALSE, FALSE, FALSE, 4, values); + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_axis_type, FALSE); /* priv->axis[].mapping */ for (i=0;i<MAXAXES;i++) @@ -285,15 +268,8 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_axis_mapping, XA_INTEGER, 8, PropModeReplace, MAXBUTTONS, axes_values8, - FALSE, FALSE, FALSE); - values[0] = MAPPING_NONE; - values[1] = MAPPING_X; - values[2] = MAPPING_Y; - values[3] = MAPPING_ZX; - values[4] = MAPPING_ZY; - values[5] = MAPPING_KEY; - XIConfigureDeviceProperty(pJstk, prop_axis_mapping, FALSE, FALSE, FALSE, 6, values); - + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_axis_mapping, FALSE); /* priv->axis[].amplify */ /* FIXME: prop_axis_amplify as float[] */ @@ -314,20 +290,8 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_button_mapping, XA_INTEGER, 8, PropModeReplace, MAXBUTTONS, button_values8, - FALSE, FALSE, FALSE); - values[0] = MAPPING_NONE; - values[1] = MAPPING_X; - values[2] = MAPPING_Y; - values[3] = MAPPING_ZX; - values[4] = MAPPING_ZY; - values[5] = MAPPING_BUTTON; - values[6] = MAPPING_KEY; - values[7] = MAPPING_SPEED_MULTIPLY; - values[8] = MAPPING_DISABLE; - values[9] = MAPPING_DISABLE_MOUSE; - values[10] = MAPPING_DISABLE_KEYS; - XIConfigureDeviceProperty(pJstk, prop_button_mapping, FALSE, FALSE, FALSE, 11, values); - + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_button_mapping, FALSE); /* priv->button[].buttonnumber */ for (i=0;i<MAXAXES;i++) @@ -336,7 +300,8 @@ jstkInitProperties(DeviceIntPtr pJstk, JoystickDevPtr priv) XIChangeDeviceProperty(pJstk, prop_button_buttonnumber, XA_INTEGER, 8, PropModeReplace, MAXBUTTONS, button_values8, - FALSE, FALSE, FALSE); + FALSE); + XISetDevicePropertyDeletable(pJstk, prop_button_buttonnumber, FALSE); /* priv->button[].amplify */ /* FIXME: prop_button_amplify as float[] */ |