[HOW TO] PROPERLY calibrate your PEN and fix those stupid corners (273 test points)

Search This thread

voluptuary

Senior Member
Dec 29, 2010
960
753
Mukwonago
Ok, so after a long time of trying to get my pen calibrated so that it wouldn't go all crazy in the corners and then not be off by a 5mm everywhere else I dug around the vast interwebs and with a little hex editing found the answer.

It has been posted in other places that you can use tabcal to calibrate you touch/pen input with more test points for better accuracy... however since our wonderful device has BOTH touch and pen inputs, the parameters everyone is using to manually calibrate using tabcal directly are wrong and as such many people have had issues with their touch input going all crazy after trying to calibrate their pen in this manner or the calibration simply wouldn't do anything. After messing around with settings all day I noticed if you use the calibration tool via the control panel it asks you what you want to calibrate, 'PEN' or 'TOUCH' before it starts tabcal, meaning there must be some parameter that is being passed to tabcal when you make this selection. So I opened up a cmd prompt and typed tabcal /? and was greated with a big fat nothing. Knowing that tabcal had switches since I had already been using some I decided to open tabcal with a hex editor to get a better look and thats when I found it: "devicekind=" so without further babbling from me......

HOW TO PROPERLY CONFIGURE YOUR PEN:

!First reset all of your current calibration data for both pen and touch! Now double check that your resolution is set to the native 1920 x 1080. Then copy and paste the following either in a run box or a cmd prompt:

Code:
tabcal devicekind=pen lincal novalidate XGridPts=10,60,110,160,260,360,460,560,660,810,960,1110,1260,1360,1460,1560,1660,1760,1810,1860,1910 YGridPts=10,60,110,160,250,400,540,680,830,920,970,1020,1070

Then go through the process selecting the crosshairs holding your pen and tablet the way you would normally/comfortably hold them, it is very important that you do it that way and also that you are physically accurate (disregard the onscreen indicator of the pen location) as this is how Windows determines what a regular press in that sector of your screen is.

Now after you have gone through all 273 input points you will need to edit your registry just a little should you ever want/need to reset the calibration data via the control panel reset thingy. To make this small fix go to the following in your registry:

Code:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_045E&PID_0799&MI_01&Col01\8&11540d24&0&0000\Device Parameters]
The "VID_045E&PID_0799&MI_01&Col01\8&11540d24&0&0000" part may be different on your device so to find it you can search for "LinearityData" under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum" then once you find "LinearityData" rename it to "UserLinearityData" now later on if you want to you can reset the calibration to factory settings should you ever want to do such a thing.

As always, if this helped you please hit the 'Thanks' button ;)
 
Last edited:

Kraize

Senior Member
Dec 5, 2007
2,692
49
California
Jesus christ 273 points lol. I did this with a 100 and thought that was painstaking, but the thing is, if you open the calibration through cmd, it detects your hand as well as the pen. Or that could've just been a fluke when I did it. I'll try again since I exchanged my unit.
 
  • Like
Reactions: 2010ngojo

voluptuary

Senior Member
Dec 29, 2010
960
753
Mukwonago
Jesus christ 273 points lol. I did this with a 100 and thought that was painstaking, but the thing is, if you open the calibration through cmd, it detects your hand as well as the pen. Or that could've just been a fluke when I did it. I'll try again since I exchanged my unit.

This knows that you are calibrating the pen and if you touch the screen it will prompt you that an alternate input type has been detected, however if the pen is close enough to the screen touch input is ignored anyways.

Also, I just tweaked the input test points to focus a little more on corner accuracy, it still has 273 test points though.
 
  • Like
Reactions: 2010ngojo

bountygiver

Senior Member
Dec 9, 2007
348
30
Google Pixel 4a
The best calibration method found. Although the top left corner is still inaccruate, at least it fixed the other 3 corners, Since programs rarely require cursor near the tiny top left corner area where it is affected, I think I can live with it.

UPDATE:
I calibrate again, but I align the pen completely perpendicular to the screen when calibrating the top left corner, now the top left is more accurate, especially if I align my pen, it will be very accurate.
 
Last edited:
  • Like
Reactions: 2010ngojo
Jesus christ 273 points lol. I did this with a 100 and thought that was painstaking, but the thing is, if you open the calibration through cmd, it detects your hand as well as the pen. Or that could've just been a fluke when I did it. I'll try again since I exchanged my unit.

Wait, when did the Lord come in here?
 
  • Like
Reactions: 2010ngojo

bijju

Member
Feb 23, 2007
34
0
it is giving me an error. please see the attachment.

i did clicked on reset button, before running the cmd

i don't know if this could be the reason, I installed wacom latest drivers.
 

Attachments

  • error.PNG
    error.PNG
    38.7 KB · Views: 4,246
Last edited:

hosspower

Member
Mar 3, 2008
47
1
I had they same error. I had updated to the new Wacom drivers for better pressure support in certain apps. I uninstalled ISD Tablet from PROGRAMS and FEATURES in the control panel and restarted Pro. The calibration now works. The only question left for me is what will happen if I try to reinstall the new Wacom driver.

UPDATE: Tried to recalibrate again with this method that just worked and now even without the Wacom drivers uninstalled I get the same error about resetting data.

UPDATE 2: Reinstalled Wacom drivers then uninstalled again after a reboot. Now the 273 point calibration works again. This time, I was a little more careful with each touch.
 
Last edited:
  • Like
Reactions: Dosentod

petersteier

Member
Aug 9, 2010
33
6
Some improvements and instructions

Congratulations! Very helpful. I was on the verge of sending my Samsung Ativ Smart PC pro back...

I optimized the solution for needs:

Code:
tabcal devicekind=pen lincal novalidate XGridPts=0,30,50,150,350,650,945,1240,1540,1740,1840,1890,1919 YGridPts=0,30,50,150,350,630,830,1030,1050,1079

I think that for most users this 130 points should suffice.

Additionally, I correct the problem of the "dead border" of my device: the touch region seems to be about 10 points smaller athen the screen at every edge. Thus, I add the very edge coordinates to the list; during calibration, I cannot click them, but I can click about 15 points inside. The mapping enures that any point closer than 15 to the edge is then mapped to the edge. This in in fact a strong non-non-linearity at the outmost 30 points, but this allows me to reach slide-in menus, etc., and I rarely write anything there.

To make the best calibration, you should for this command, which establishes a linearity correction for the hardware, hold the pen perfectly perpenticular to the screen. After this is done, you should make a regular 4-point calibration through the control panel, once in landscape and once in portrait, while holding the pen in your convenient writing position. This is apparently applied on top of the linearity correction, and corrects mainly for your pen tilt, apparently separately for screen orientation.

Note: you have to rename the LinearityData in regedit every time before you can start tabcal again, otherwise you get an error message.
2nd note: SAMSUNG should do a 100 point linearity correction in the factory already.
3rd note: hope the linearity does not drift too much...
 
Last edited:

mastamind518

Member
Dec 29, 2010
19
0
Thanks, this worked great! Is there anyway to have multiple calibrations for different orientations? I calibrated in landscape but in portrait mode some of the corner are still off
 

sneak3

Member
Feb 17, 2010
29
1
So if i have the wacom drivers I cant use this calibration fix?

I dont believe theres no way to bypass this.

I tried running the command but the error keeps poping up no matter how many times i reset the calibration via control panel.

Theres no linearity entry at all in my registry too.

Solutions anyone?
 

Kraize

Senior Member
Dec 5, 2007
2,692
49
California
So if i have the wacom drivers I cant use this calibration fix?

I dont believe theres no way to bypass this.

I tried running the command but the error keeps poping up no matter how many times i reset the calibration via control panel.

Theres no linearity entry at all in my registry too.

Solutions anyone?

Uninstall drivers. Do calibration. Reinstall drivers.
 

lxxxxl

New member
Dec 22, 2009
2
0
I'm using the Surface Pro with the newest Wacom driver (ver 7.1.1-16).

What I did:
1. Uninstalled the Wacom driver. Restart.
2. Reset Calibration via Control Panel > Tablet PC Settings.
3. Run the 273 point tabcal command.
4. Do 4-pt calibration again via Tablet PC Settings. Restart.

Up till this point, the calibration at the corners did improve considerably. But subsequently, when I installed wacom's driver and restarted, the drift came back, somehow invalidating the 273 pt calibration.

My thoughts/queries at this point:
a. Maybe I didn't do things in the correct order?
b. Should I use an older driver instead?
c. Should I calibrate via wacom's settings panel? (Or should I focus exclusively on calibration via Tablet PC Settings?)

Note: I have not applied any registry edit, as mentioned in the 1st post. Do I need to do that to make the calibration 'stick'?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 46
    Ok, so after a long time of trying to get my pen calibrated so that it wouldn't go all crazy in the corners and then not be off by a 5mm everywhere else I dug around the vast interwebs and with a little hex editing found the answer.

    It has been posted in other places that you can use tabcal to calibrate you touch/pen input with more test points for better accuracy... however since our wonderful device has BOTH touch and pen inputs, the parameters everyone is using to manually calibrate using tabcal directly are wrong and as such many people have had issues with their touch input going all crazy after trying to calibrate their pen in this manner or the calibration simply wouldn't do anything. After messing around with settings all day I noticed if you use the calibration tool via the control panel it asks you what you want to calibrate, 'PEN' or 'TOUCH' before it starts tabcal, meaning there must be some parameter that is being passed to tabcal when you make this selection. So I opened up a cmd prompt and typed tabcal /? and was greated with a big fat nothing. Knowing that tabcal had switches since I had already been using some I decided to open tabcal with a hex editor to get a better look and thats when I found it: "devicekind=" so without further babbling from me......

    HOW TO PROPERLY CONFIGURE YOUR PEN:

    !First reset all of your current calibration data for both pen and touch! Now double check that your resolution is set to the native 1920 x 1080. Then copy and paste the following either in a run box or a cmd prompt:

    Code:
    tabcal devicekind=pen lincal novalidate XGridPts=10,60,110,160,260,360,460,560,660,810,960,1110,1260,1360,1460,1560,1660,1760,1810,1860,1910 YGridPts=10,60,110,160,250,400,540,680,830,920,970,1020,1070

    Then go through the process selecting the crosshairs holding your pen and tablet the way you would normally/comfortably hold them, it is very important that you do it that way and also that you are physically accurate (disregard the onscreen indicator of the pen location) as this is how Windows determines what a regular press in that sector of your screen is.

    Now after you have gone through all 273 input points you will need to edit your registry just a little should you ever want/need to reset the calibration data via the control panel reset thingy. To make this small fix go to the following in your registry:

    Code:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_045E&PID_0799&MI_01&Col01\8&11540d24&0&0000\Device Parameters]
    The "VID_045E&PID_0799&MI_01&Col01\8&11540d24&0&0000" part may be different on your device so to find it you can search for "LinearityData" under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum" then once you find "LinearityData" rename it to "UserLinearityData" now later on if you want to you can reset the calibration to factory settings should you ever want to do such a thing.

    As always, if this helped you please hit the 'Thanks' button ;)
    4
    I spent a long time getting this to work perfectly on my Surface Pro 2, here's what I did. Note that this setup doesn't include installing the Wacom drivers at the end, because I don't really use Photoshop, but if you need that you can try adding the registry edit steps to this procedure (see earlier post by xiaohang.07).

    The first step is to clear out old calibrations by installing/uninstalling Wacom drivers. (If you already have Wacom drivers, skip to step 3)
    (If you never messed with tabcal commands before, you should be able to just reset the pen calibrations in the control panel and skip this part)

    1. Install Wacom drivers (ISD_DualTouch_720-4.exe)
    2. Reboot
    3. Uninstall Wacom drivers through control panel-->uninstall programs
    4. Reboot


    Note - You must choose which screen orientation you will use to calibrate the pen. Once you calibrate, rotating the screen will not change that calibration. So unless you always hold your pen completely vertically when you write, you will only be able to achieve perfect accuracy with one orientation.

    However, windows seems to store 2 separate calibrations for the Surface, one with the keyboard attached, and one without it attached. So you can choose one orientation with keyboard, and one orientation without the keyboard (attached upside down is the same as detached). You can decide what will work best for you, here’s how to setup the calibration I prefer:

    Keyboard attached - landscape
    Keyboard removed (or upside down) - portrait

    1. Make sure keyboard is attached and surface is in landscape orientation
    2. Run command prompt as administrator
    3. Enter following command:
      Code:
      tabcal devicekind=pen lincal novalidate XGridPts=10,60,110,160,260,360,460,560,660,810,960,1110,1260,1360,1460,1560,1660,1760,1810,1860,1910 YGridPts=10,60,110,160,250,400,540,680,830,920,970,1020,1070
    4. Do landscape calibration with keyboard attached (folded back on flat surface is easier) (hold pen as you would when writing)
    5. Remove keyboard, rotate to portrait
    6. Enter following command:
      Code:
      tabcal devicekind=pen lincal novalidate XGridPts=10,60,110,160,250,400,540,680,830,920,970,1020,1070 YGridPts=10,60,110,160,260,360,460,560,660,810,960,1110,1260,1360,1460,1560,1660,1760,1810,1860,1910
    7. Do portrait calibration without keyboard (again, on flat surface is best, hold pen naturally)
    8. Reboot

    Note - feel free to add as many grid points as you like, I chose to use 100 points, its quite accurate and not too tedious.

    Took me a lot of fiddling around to get this all worked out, so I hope this helps you skip all that frustration!
    4
    I find a cure.

    Has anyone found a solution to using the Wacom Feel driver on the SP2 and using the 273 point calibration? I just tried it and the Wacom driver overrides the calibration. Btw, the 273 point calibration gives me a perfect pen accuracy. Thank you!

    Good news: I have found a solution to enable us to calibrate stylus with user-defined grid when Wacom feel driver has installed on your surface pro.
    The trick is to edit the registry and no risk at all if you do it properly. Most of surface pro users experience LinearityData error when run the script:
    tabcal lincal novalidate XGridPts=0,30,50,150,350,650,945,1240,1540,1740,1840,1890,1919 YGridPts=0,30,50,150,350,630,830,1030,1050,1079.
    Note that delete 'devicekind=pen' in the script(the script above is an example) does not solve the problem most of the time.

    The solution is to delete the [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_045E&PID_0799&MI_01&Col03\8&2d6be41e&3&0002\Device Parameters], [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TabletPC\LinearityData] and [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TabletPC\UserLinearityData] using your registry editor.
    Note that the id "VID_045E&PID_0799&MI_01&Col03\8&2d6be41e&3&0002" of the first key's name could be different on your device. A search in registry for LinearityData is suffice to find it.

    Then you are able to run the 'tabcal lincal novalidate XGridPts=0,30,50,150,350,650,945,1240,1540,1740,1840,1890,1919 YGridPts=0,30,50,150,350,630,830,1030,1050,1079' script.
    In this step, the values in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_045E&PID_0799&MI_01&Col03\8&2d6be41e&3&0002\Device Parameters], [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TabletPC\LinearityData] and [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_045E&PID_0799&MI_01&Col03\8&2d6be41e&3&0002\Device Parameters] are updated.
    Bingo! You get the same accuracy in the corners as the one without Wacom driver.
    To backup the linearityData, use the registry editor to export these three folders(the first one is the most important). You can recovery to this profile whenever you want. Is that nice?
    Now you can also calibrate your pen using the default 4 points calibration tool in control panel. It will add a secondary correction, which is good in some cases. And the corner accuracy will not be jeopardized by this 4 points calibration.
    Enjoy!
    1
    Jesus christ 273 points lol. I did this with a 100 and thought that was painstaking, but the thing is, if you open the calibration through cmd, it detects your hand as well as the pen. Or that could've just been a fluke when I did it. I'll try again since I exchanged my unit.
    1
    I spent a long time getting this to work perfectly on my Surface Pro 2, here's what I did. Note that this setup doesn't include installing the Wacom drivers at the end, because I don't really use Photoshop, but if you need that you can try adding the registry edit steps to this procedure (see earlier post by xiaohang.07).

    The first step is to clear out old calibrations by installing/uninstalling Wacom drivers. (If you already have Wacom drivers, skip to step 3)
    (If you never messed with tabcal commands before, you should be able to just reset the pen calibrations in the control panel and skip this part)

    1. Install Wacom drivers (ISD_DualTouch_720-4.exe)
    2. Reboot
    3. Uninstall Wacom drivers through control panel-->uninstall programs
    4. Reboot


    Note - You must choose which screen orientation you will use to calibrate the pen. Once you calibrate, rotating the screen will not change that calibration. So unless you always hold your pen completely vertically when you write, you will only be able to achieve perfect accuracy with one orientation.

    However, windows seems to store 2 separate calibrations for the Surface, one with the keyboard attached, and one without it attached. So you can choose one orientation with keyboard, and one orientation without the keyboard (attached upside down is the same as detached). You can decide what will work best for you, here’s how to setup the calibration I prefer:

    Keyboard attached - landscape
    Keyboard removed (or upside down) - portrait

    1. Make sure keyboard is attached and surface is in landscape orientation
    2. Run command prompt as administrator
    3. Enter following command:
      Code:
      tabcal devicekind=pen lincal novalidate XGridPts=10,60,110,160,260,360,460,560,660,810,960,1110,1260,1360,1460,1560,1660,1760,1810,1860,1910 YGridPts=10,60,110,160,250,400,540,680,830,920,970,1020,1070
    4. Do landscape calibration with keyboard attached (folded back on flat surface is easier) (hold pen as you would when writing)
    5. Remove keyboard, rotate to portrait
    6. Enter following command:
      Code:
      tabcal devicekind=pen lincal novalidate XGridPts=10,60,110,160,250,400,540,680,830,920,970,1020,1070 YGridPts=10,60,110,160,260,360,460,560,660,810,960,1110,1260,1360,1460,1560,1660,1760,1810,1860,1910
    7. Do portrait calibration without keyboard (again, on flat surface is best, hold pen naturally)
    8. Reboot

    Note - feel free to add as many grid points as you like, I chose to use 100 points, its quite accurate and not too tedious.

    Took me a lot of fiddling around to get this all worked out, so I hope this helps you skip all that frustration!
    Good stuff here. I have great results in landscape mode with the keyboard attached following these steps. But I've run into an issue with portrait mode where my pen cursor flies all over the place. Might have to do with the Wacom drivers being installed but I'm not sure yet. Gonna have to try testing for that.