mirror of
https://github.com/X11Libre/xf86-input-joystick.git
synced 2026-04-14 11:54:23 +00:00
More use of DBG output
This commit is contained in:
29
src/jstk.c
29
src/jstk.c
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user