make mouse support work - note you need to change the evdev devices in the
source.. hacky...
This commit is contained in:
parent
fe5abff38e
commit
809906a754
@ -112,7 +112,7 @@ EvdevRead (int evdevPort, void *closure)
|
|||||||
{
|
{
|
||||||
KdMouseInfo *mi = closure;
|
KdMouseInfo *mi = closure;
|
||||||
Kevdev *ke = mi->driver;
|
Kevdev *ke = mi->driver;
|
||||||
int i, n, f;
|
int i, n;
|
||||||
struct input_event events[NUM_EVENTS];
|
struct input_event events[NUM_EVENTS];
|
||||||
|
|
||||||
n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
|
n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
|
||||||
@ -131,26 +131,46 @@ EvdevRead (int evdevPort, void *closure)
|
|||||||
ErrorF ("key %d %d\n", events[i].code, events[i].value);
|
ErrorF ("key %d %d\n", events[i].code, events[i].value);
|
||||||
else
|
else
|
||||||
ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
|
ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
|
||||||
|
|
||||||
|
if (events[i].value==1) {
|
||||||
switch (events[i].code) {
|
switch (events[i].code) {
|
||||||
case BTN_LEFT:
|
case BTN_LEFT:
|
||||||
f = KD_BUTTON_1;
|
flags |= KD_BUTTON_1;
|
||||||
break;
|
break;
|
||||||
case BTN_RIGHT:
|
case BTN_RIGHT:
|
||||||
f = KD_BUTTON_2;
|
flags |= KD_BUTTON_3;
|
||||||
break;
|
break;
|
||||||
case BTN_MIDDLE:
|
case BTN_MIDDLE:
|
||||||
f = KD_BUTTON_3;
|
flags |= KD_BUTTON_2;
|
||||||
break;
|
break;
|
||||||
case BTN_FORWARD:
|
case BTN_FORWARD:
|
||||||
f = KD_BUTTON_4;
|
flags |= KD_BUTTON_4;
|
||||||
break;
|
break;
|
||||||
case BTN_BACK:
|
case BTN_BACK:
|
||||||
f = KD_BUTTON_5;
|
flags |= KD_BUTTON_5;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
flags |= f;
|
}
|
||||||
|
else if (events[i].value==0) {
|
||||||
|
switch (events[i].code) {
|
||||||
|
case BTN_LEFT:
|
||||||
|
flags &= ~KD_BUTTON_1;
|
||||||
|
break;
|
||||||
|
case BTN_RIGHT:
|
||||||
|
flags &= ~KD_BUTTON_3;
|
||||||
|
break;
|
||||||
|
case BTN_MIDDLE:
|
||||||
|
flags &= ~KD_BUTTON_2;
|
||||||
|
break;
|
||||||
|
case BTN_FORWARD:
|
||||||
|
flags &= ~KD_BUTTON_4;
|
||||||
|
break;
|
||||||
|
case BTN_BACK:
|
||||||
|
flags &= ~KD_BUTTON_5;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
KdEnqueueMouseEvent (mi, KD_MOUSE_DELTA | flags, 0, 0);
|
KdEnqueueMouseEvent (mi, KD_MOUSE_DELTA | flags, 0, 0);
|
||||||
ErrorF("Flags is %x\n", flags);
|
|
||||||
break;
|
break;
|
||||||
case EV_REL:
|
case EV_REL:
|
||||||
ke->rel[events[i].code] += events[i].value;
|
ke->rel[events[i].code] += events[i].value;
|
||||||
@ -167,11 +187,11 @@ int EvdevInputType;
|
|||||||
|
|
||||||
char *kdefaultEvdev[] = {
|
char *kdefaultEvdev[] = {
|
||||||
// "/dev/input/event0",
|
// "/dev/input/event0",
|
||||||
// "/dev/input/event1",
|
"/dev/input/event1",
|
||||||
// "/dev/input/event2",
|
// "/dev/input/event2",
|
||||||
// "/dev/input/event3",
|
// "/dev/input/event3",
|
||||||
// "/dev/input/event4",
|
// "/dev/input/event4",
|
||||||
"/dev/input/event5",
|
// "/dev/input/event5",
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_DEFAULT_EVDEV (sizeof (kdefaultEvdev) / sizeof (kdefaultEvdev[0]))
|
#define NUM_DEFAULT_EVDEV (sizeof (kdefaultEvdev) / sizeof (kdefaultEvdev[0]))
|
||||||
@ -477,10 +497,10 @@ EvdevRead1 (int evdevPort, void *closure)
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *kdefaultEvdev1[] = {
|
char *kdefaultEvdev1[] = {
|
||||||
// "/dev/input/event0",
|
"/dev/input/event0",
|
||||||
// "/dev/input/event1",
|
// "/dev/input/event1",
|
||||||
// "/dev/input/event2",
|
// "/dev/input/event2",
|
||||||
"/dev/input/event3",
|
// "/dev/input/event3",
|
||||||
// "/dev/input/event4",
|
// "/dev/input/event4",
|
||||||
// "/dev/input/event5",
|
// "/dev/input/event5",
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user