More use of DBG output

This commit is contained in:
Sascha Hlusiak
2007-03-29 15:42:05 -04:00
parent 1cdd0e7498
commit 28e4d50c12
2 changed files with 36 additions and 26 deletions

View File

@@ -114,7 +114,9 @@ xf86JstkRead(LocalDevicePtr local)
/* A button's status changed */
if (event == EVENT_BUTTON) {
DBG(4, ErrorF("Button %d %s. Mapping: %d\n", number, (priv->button[number].value == 1)?"pressed":"released", priv->button[number].mapping));
DBG(4, ErrorF("Button %d %s. Mapping: %d\n", number,
(priv->button[number].value == 1)?"pressed":"released",
priv->button[number].mapping));
switch (priv->button[number].mapping) {
case MAPPING_BUTTON:
if (priv->mouse_enabled == TRUE) {
@@ -141,7 +143,7 @@ xf86JstkRead(LocalDevicePtr local)
k = priv->button[number].keys[i];
else k = priv->button[number].keys[MAXKEYSPERBUTTON - i - 1];
if (k != 0) {
DBG(1, ErrorF("Generating key %s event with keycode %d\n",
DBG(2, ErrorF("Generating key %s event with keycode %d\n",
(priv->button[number].pressed)?"press":"release", k));
xf86PostKeyboardEvent(local->dev, k, priv->button[number].pressed);
}
@@ -188,7 +190,8 @@ xf86JstkRead(LocalDevicePtr local)
if ((event == EVENT_AXIS) &&
(priv->axis[number].mapping != MAPPING_NONE) &&
(priv->axis[number].type != TYPE_NONE)) {
DBG(5, ErrorF("Axis %d moved to %d. Mapping: %d\n", number, priv->axis[number].value, priv->axis[number].mapping));
DBG(5, ErrorF("Axis %d moved to %d. Mapping: %d\n", number,
priv->axis[number].value, priv->axis[number].mapping));
switch (priv->axis[number].type) {
case TYPE_BYVALUE:
case TYPE_ACCELERATED:
@@ -346,7 +349,7 @@ xf86JstkUnplug(pointer p)
xfree (priv);
xfree (local);*/
ErrorF("xf86JstckUnplug\n");
DBG(1, ErrorF("xf86JstkUnplug\n"));
}
/*
@@ -363,6 +366,7 @@ xf86JstkCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
char *s;
int i;
DBG(1, ErrorF("xf86JstkCorePreInit\n"));
local = xf86AllocateInput(drv, 0);
if (!local) {
goto SetupProc_fail;
@@ -370,9 +374,11 @@ xf86JstkCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
local->private = (JoystickDevPtr)xalloc(sizeof(JoystickDevRec));
priv = (JoystickDevPtr) local->private;
local->name = dev->identifier;
local->flags = XI86_POINTER_CAPABLE | XI86_KEYBOARD_CAPABLE | XI86_SEND_DRAG_EVENTS;
local->flags = XI86_POINTER_CAPABLE;
local->flags |= XI86_KEYBOARD_CAPABLE;
local->flags |= XI86_SEND_DRAG_EVENTS;
local->device_control = xf86JstkProc;
local->read_input = xf86JstkRead;
local->close_proc = NULL;
@@ -446,7 +452,6 @@ xf86JstkCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
if (!priv->device) {
xf86Msg (X_ERROR, "%s: No Device specified.\n", local->name);
/* *errmaj = LDR_BADUSAGE;*/
goto SetupProc_fail;
}
@@ -483,6 +488,8 @@ xf86JstkCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
local->name, i+1, s);
jstkParseButtonOption(s, priv, i, local->name);
}
DBG(1, ErrorF("Button %d mapped to %d (value=%d)\n", i+1,
priv->button[i].mapping,priv->button[i].value));
}
/* Process button mapping options */
@@ -495,6 +502,8 @@ xf86JstkCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags)
local->name, i+1, s);
jstkParseAxisOption(s, &priv->axis[i], local->name);
}
DBG(1, ErrorF("Axis %d type is %d, mapped to %d\n", i+1,
priv->axis[i].type, priv->axis[i].mapping));
}
/* return the LocalDevice */
@@ -522,7 +531,7 @@ xf86JstkCoreUnInit(InputDriverPtr drv,
{
JoystickDevPtr device = (JoystickDevPtr) local->private;
DBG(1, ErrorF("xf86JstkUninit\n"));
DBG(1, ErrorF("xf86JstkCoreUnInit\n"));
xf86JstkProc(local->dev, DEVICE_OFF);
@@ -546,6 +555,7 @@ xf86JstkPlug(pointer module,
int *errmaj,
int *errmin)
{
DBG(1, ErrorF("xf86JstkPlug\n"));
xf86AddInputDriver(&JOYSTICK, module, 0);
return module;
}
@@ -571,6 +581,3 @@ _X_EXPORT XF86ModuleData joystickModuleData = {
xf86JstkUnplug
};
#endif /* XFree86LOADER */
/* end of xf86Jstk.c */

View File

@@ -38,8 +38,8 @@
static CARD32
jstkAxisTimer(OsTimerPtr timer,
CARD32 atime,
pointer arg)
CARD32 atime,
pointer arg)
{
#define NEXTTIMER 15
DeviceIntPtr device = (DeviceIntPtr)arg;
@@ -51,39 +51,42 @@ jstkAxisTimer(OsTimerPtr timer,
sigstate = xf86BlockSIGIO ();
for (i=0; i<MAXAXES; i++) if ((priv->axis[i].value != 0)&&(priv->axis[i].type != TYPE_NONE)) {
for (i=0; i<MAXAXES; i++) if ((priv->axis[i].value != 0)&&
(priv->axis[i].type != TYPE_NONE)) {
float p1 = 0.0;
float p2 = 0.0;
float scale;
struct AXIS *axis;
axis = &priv->axis[i];
nexttimer = NEXTTIMER;
if (priv->axis[i].type == TYPE_BYVALUE) {
/* Calculate scale value, so we still get a range from 0 to 32768 */
scale = (32768.0/(float)(32768 - priv->axis[i].deadzone));
scale = (32768.0/(float)(32768 - axis->deadzone));
p1 = ((pow((abs((float)priv->axis[i].value)-(float)priv->axis[i].deadzone)*
p1 = ((pow((abs((float)axis->value)-(float)axis->deadzone)*
scale/1700.0, 3.5))+100.0)*
((float)NEXTTIMER/40000.0);
p2 = ((pow((abs((float)priv->axis[i].value)-(float)priv->axis[i].deadzone)*
p2 = ((pow((abs((float)axis->value)-(float)axis->deadzone)*
scale/1000.0, 2.5))+200.0)*
((float)NEXTTIMER/200000.0);
} else if (priv->axis[i].type == TYPE_ACCELERATED) {
if (priv->axis[i].temp < 120.0) priv->axis[i].temp *= 1.15;
} else if (axis->type == TYPE_ACCELERATED) {
if (axis->temp < 120.0) axis->temp *= 1.15;
p1 = (priv->axis[i].temp - 0.1) * (float)NEXTTIMER / 180.0;
p1 = (axis->temp - 0.1) * (float)NEXTTIMER / 180.0;
p2 = p1 / 8.0;
}
if (priv->axis[i].value < 0) {
if (axis->value < 0) {
p1 *= -1.0;
p2 *= -1.0;
}
p1 *= priv->axis[i].amplify * priv->amplify;
p2 *= priv->axis[i].amplify * priv->amplify;
p1 *= axis->amplify * priv->amplify;
p2 *= axis->amplify * priv->amplify;
switch (priv->axis[i].mapping) {
switch (axis->mapping) {
case MAPPING_X:
priv->x += p1;
break;
@@ -199,7 +202,7 @@ jstkStartAxisTimer(LocalDevicePtr device, int number) {
break;
}
DBG(2, ErrorF("Starting Axis Timer\n"));
DBG(2, ErrorF("Starting Axis Timer (triggered by axis %d)\n", number));
priv->timer = TimerSet(
priv->timer,
0, /* Relative */
@@ -234,7 +237,7 @@ jstkStartButtonAxisTimer(LocalDevicePtr device, int number) {
break;
}
DBG(2, ErrorF("Starting Axis Timer\n"));
DBG(2, ErrorF("Starting Axis Timer (triggered by button %d)\n", number));
priv->timer = TimerSet(
priv->timer,
0, /* Relative */