Ok, this is a pretty arbitrary and sloppy work around, but it at least gets it to compile.
As a warning please note I'm trying this on a test system which I have very limited needs for, so this probably does break something, I just haven't figure out what yet.
In advance, yes, I know how bad an idea it is to change xorg files without understanding what problems that would cause. At the moment thought I need to get the driver working, and don't have the time to edit the driver directly, so this was the quickest method.
For this you need to change three files.
/usr/include/xorg/xf86_ansic.h
/usr/source/unistd.h
and the elousb.c file that came with the driver.
Add these to the top of elousb.c:
Code:
#define TS_Raw 57
#define TS_Scaled 58
#define SendCoreEvents 59
#define DontSendCoreEvents 60
At line 678 change both entries of xDeviceTSCalibrationCtl to xDeviceAbsCalibCtl.
In /usr/include/xorg/xf86_ansic.h at lines 325/325:
Code:
//#undef usleep
//#define usleep(ul) xf86usleep(ul)
In /usr/source/unistd.h at line 939:
Changed:
Code:
extern int getpagesize (void) __THROW __attribute__ ((__const__));
to
Code:
extern int getpagesize () __THROW __attribute__ ((__const__));
This allows the driver to compile, and install, at least I think it does. After I reboot after adding the elo touch information I'm now getting an error saying xorg can't find the input driver elousb.
The files elousb_drv.lo and elousb_drv.so where both added to /usr/lib/xorg/modules/input so I've assumed this worked, but I'm not sure since xorg can't seem to find the driver. I'm going to keep working on it, and try to figure out what I potentially broke in xorg with my changes, and look at trying to fix everything in the driver rather than by modifying xorg files.