Found the solution
I was able to successfully calibrate my screen using the following method:
Open a terminal and type the following:
You should see something like this:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ IDEACOM IDC 6680 id=8 [slave pointer (2)]
⎜ ↳ IDEACOM IDC 6680 id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=7 [slave keyboard (3)]
↳ USB 2.0 Camera id=10 [slave keyboard (3)]
↳ Asus EeePC extra buttons id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
Note where it has the first "IDEACOM IDC 6680", that's your touchscreen. There should be an id in the second column ie. "id=8"
pass the id into the next command(I'm using 8 as the example)
xinput set-int-prop 8 "Evdev Axis Calibration" 32 300 7900 400 7800
That should have set your screen calibration, the last 4 values are the actual calibration numbers. You may need to tweak these numbers for your monitor, so just fiddle with the values and rerun the command until you are happy with the calibration.
At the moment you will lose your calibration when you reboot so to make it permanent do the following:
sudo gedit /etc/X11/Xsession.d/98x11-common_touchscreen
Paste you calibration command from the step above into the file and save.