mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 04:17:25 +00:00
19ebb4bda5
Signed-off-by: Denis Carikli <denis@eukrea.com> Signed-off-by: Simon Busch <morphis@gravedo.de> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
154 lines
4.4 KiB
Diff
154 lines
4.4 KiB
Diff
diff --git a/src/multitouch.c b/src/multitouch.c
|
|
index c55d742..4a8192d 100644
|
|
--- a/src/multitouch.c
|
|
+++ b/src/multitouch.c
|
|
@@ -114,7 +114,7 @@ static int init_properties(DeviceIntPtr dev)
|
|
return Success;
|
|
}
|
|
|
|
-static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
|
|
+static int device_init(DeviceIntPtr dev, InputInfoPtr local)
|
|
{
|
|
struct mtev_mtouch *mt = local->private;
|
|
Atom atom;
|
|
@@ -222,7 +222,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
|
|
xf86InitValuatorAxisStruct(dev, val, axes_labels[val],
|
|
min,
|
|
max,
|
|
- 1, 0, 1);
|
|
+ 1, 0, 1,Absolute);
|
|
xf86InitValuatorDefaults(dev, val);
|
|
}
|
|
}
|
|
@@ -232,7 +232,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
|
|
return Success;
|
|
}
|
|
|
|
-static int device_on(LocalDevicePtr local)
|
|
+static int device_on(InputInfoPtr local)
|
|
{
|
|
struct mtev_mtouch *mt = local->private;
|
|
local->fd = xf86OpenSerial(local->options);
|
|
@@ -248,7 +248,7 @@ static int device_on(LocalDevicePtr local)
|
|
return Success;
|
|
}
|
|
|
|
-static int device_off(LocalDevicePtr local)
|
|
+static int device_off(InputInfoPtr local)
|
|
{
|
|
struct mtev_mtouch *mt = local->private;
|
|
xf86RemoveEnabledDevice(local);
|
|
@@ -259,12 +259,12 @@ static int device_off(LocalDevicePtr local)
|
|
return Success;
|
|
}
|
|
|
|
-static int device_close(LocalDevicePtr local)
|
|
+static int device_close(InputInfoPtr local)
|
|
{
|
|
return Success;
|
|
}
|
|
|
|
-static void process_state(LocalDevicePtr local,
|
|
+static void process_state(InputInfoPtr local,
|
|
const struct mtev_mtouch *mt)
|
|
{
|
|
|
|
@@ -321,22 +321,22 @@ static void process_state(LocalDevicePtr local,
|
|
}
|
|
|
|
/* Some x-clients assume they get motion events before button down */
|
|
+ xf86Msg(X_INFO,"down %d|pdown %d\n", down, pdown);
|
|
if (down)
|
|
xf86PostMotionEventP(local->dev, TRUE,
|
|
0, down * MT_AXIS_PER_FINGER, valuators);
|
|
-
|
|
if(down && pdown == 0)
|
|
xf86PostButtonEventP(local->dev, TRUE,
|
|
1, 1,
|
|
0, down * MT_AXIS_PER_FINGER, valuators);
|
|
- else if (down == 0 && pdown)
|
|
- xf86PostButtonEvent(local->dev, TRUE, 1, 0, 0, 0);
|
|
-
|
|
+ else if (down == 0 && pdown){
|
|
+ xf86PostButtonEvent(local->dev, TRUE, 1, 1, 0, 0);
|
|
+ }
|
|
pdown = !!down;
|
|
}
|
|
|
|
/* called for each full received packet from the touchpad */
|
|
-static void read_input(LocalDevicePtr local)
|
|
+static void read_input(InputInfoPtr local)
|
|
{
|
|
struct mtev_mtouch *mt = local->private;
|
|
while (mtouch_read_synchronized_event(mt, local->fd)) {
|
|
@@ -346,7 +346,7 @@ static void read_input(LocalDevicePtr local)
|
|
|
|
static Bool device_control(DeviceIntPtr dev, int mode)
|
|
{
|
|
- LocalDevicePtr local = dev->public.devicePrivate;
|
|
+ InputInfoPtr local = dev->public.devicePrivate;
|
|
switch (mode) {
|
|
case DEVICE_INIT:
|
|
xf86Msg(X_INFO, "device control: init\n");
|
|
@@ -366,39 +366,29 @@ static Bool device_control(DeviceIntPtr dev, int mode)
|
|
}
|
|
}
|
|
|
|
-static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags)
|
|
+static InputInfoPtr preinit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
|
|
{
|
|
struct mtev_mtouch *mt;
|
|
- InputInfoPtr local = xf86AllocateInput(drv, 0);
|
|
- if (!local)
|
|
- goto error;
|
|
+ int rc;
|
|
+
|
|
mt = calloc(1, sizeof(struct mtev_mtouch));
|
|
+
|
|
if (!mt)
|
|
goto error;
|
|
|
|
- local->name = dev->identifier;
|
|
- local->type_name = XI_TOUCHSCREEN;
|
|
- local->device_control = device_control;
|
|
- local->read_input = read_input;
|
|
- local->private = mt;
|
|
- local->flags = XI86_POINTER_CAPABLE |
|
|
- XI86_SEND_DRAG_EVENTS;
|
|
-
|
|
- local->conf_idev = dev;
|
|
-
|
|
- xf86CollectInputOptions(local, NULL, NULL);
|
|
- //xf86OptionListReport(local->options);
|
|
- xf86ProcessCommonOptions(local, local->options);
|
|
+ pInfo->private = mt;
|
|
+ pInfo->type_name = "UNKNOWN";
|
|
+ pInfo->device_control = device_control;
|
|
+ pInfo->read_input = read_input;
|
|
|
|
+ mt->swap_xy = xf86SetBoolOption(pInfo->options, "SwapAxes", FALSE);
|
|
+ mt->invert_x = xf86SetBoolOption(pInfo->options, "InvertX", FALSE);
|
|
+ mt->invert_y = xf86SetBoolOption(pInfo->options, "InvertY", FALSE);
|
|
|
|
- mt->swap_xy = xf86SetBoolOption(local->options, "SwapAxes", FALSE);
|
|
- mt->invert_x = xf86SetBoolOption(local->options, "InvertX", FALSE);
|
|
- mt->invert_y = xf86SetBoolOption(local->options, "InvertY", FALSE);
|
|
-
|
|
- local->flags |= XI86_CONFIGURED;
|
|
+ return Success;
|
|
|
|
error:
|
|
- return local;
|
|
+ return !Success;
|
|
}
|
|
|
|
static void uninit(InputDriverPtr drv, InputInfoPtr local, int flags)
|
|
@@ -415,7 +405,6 @@ static InputDriverRec MTEV = {
|
|
.PreInit = preinit,
|
|
.UnInit = uninit,
|
|
.module = NULL,
|
|
- .refCount = 0
|
|
};
|
|
|
|
static XF86ModuleVersionInfo VERSION = {
|