平板电脑触摸和手写笔自定义校准:tabcal命令的使用

您所在的位置:网站首页 windows手写笔 平板电脑触摸和手写笔自定义校准:tabcal命令的使用

平板电脑触摸和手写笔自定义校准:tabcal命令的使用

2024-03-20 02:33| 来源: 网络整理| 查看: 265

tabcal.exe是windows系统内置的触摸和笔的坐标映射管理软件,它在system32目录里,你可以通过cmd或PowerShell使用它。事实上,控制面板的平板电脑选项里的校准功能就是由它提供的,然而,你无法通过 tabcal -?或 help tabcal 查询到它的用法。

目前,你可以通过网址 https://dan.salvagni.io/s/grid-generator/ 来快速生成你需要的校准指令,只要输入你需要的x、y轴细分数以及屏幕分辨率,然后将生成的命令用cmd运行即可。

如果校准的效果让你不满意,你可能无法从平板电脑设置里清除它。这里有一个现成的指令:

tabcal.exe ClearCal lincal DisplayID=\\.\Display1

如果你使用的是外置数位屏,那么你可能需要把 DisplayID=\\.\Display1 改成 DisplayID=\\.\Display2 ,意思就是指定为系统的第二显示器。

若希望进一步自定义你的校准方案,tabcal各参数含义如下:

tabcal           指令本身,用来创建坐标偏移修正量,

lincal             线性校准,用来创建基本坐标。也可以用更多校准点

   若不加lincal,则会有校准点数量限制。

devicekind   设备类型,pen或touch

  用法:devicekind=pen

quiet             禁用错误弹窗

Clearcal        清除校准

DisplayID      指定显示器

  用法:DisplayID=\\.\Display1  指定显示器1

             DisplayID=\\.\Display2  指定显示器2

novalidate    忽略UAC验证

export          导出为txt文件(不知道有啥用)

XGridPts      横轴坐标。值之间用逗号分隔

YGridPts      纵轴坐标。同上。

  y与x相交即为校准点坐标,单位为屏幕像素。

了解了指令的基本含义之后,就可以开始校准了。我有个自己总结出来的行之有效的流程,可供参考。

机器:富士通Q736(1920x1080,wacom9006ic,2048级压感,无倾斜感应,光标在未校准状态下有2-3像素的误差和挺明显的边缘漂移)

1:以管理员身份运行cmd,然后使用指令:tabcal ClearCal和tabcal ClearCal lincal清除校准数据;

2:然后,对于win10系统,进入 设置 > 设备 > 笔和WindowsInk, 选择“书写时使用哪只手”选项,调为你的惯用手(这会影响系统的反误触设定)

补充:对于同时支持笔和触摸的设备,win10默认提供了简单的反误触支持。就是在使用笔的时候,在笔光标的惯用手方向的区域屏蔽触摸。如果选为右手,则屏蔽笔光标右下90°的扇形区域。左手则是左下。

3:把你生成了的校准网格指令输入cmd,回车执行之后你就会看到校准界面了。这里有个我已经做好了的,给1920x1080屏幕用的校准指令:

tabcal devicekind=pen lincal novalidate XGridPts=10,36,89,168,406,749,1171,1514,1752,1831,1884,1910 YGridPts=10,35,161,389,691,818,994,1070

4:拿起你的压感笔,小心、准确地点击每个十字。一般来说按照你的常用姿势去点就ok了,但是我有一些经验建议,给第一次执行校准的新人参考参考:

①:不要把眼睛凑近屏幕去点击十字。虽然这对你点准十字中心或许会有帮助,但是这样一来,你就很难发觉你全程是在以什么视角去校准。可能你对一些点的观察角度不一致。因为玻璃是有厚度的,最后你点的位置会偏离你希望的位置,导致整个网格最终是歪歪扭扭的;

②:推荐用一只眼睛来观察,两只眼睛的视角是不一样的,可能会导致你看到的位置有差别。当然校准本身不要过于死板,要有一定的宽容度。这里用一个例图来简单说明一下:

你可能会用这种视角来校准:

这么做可以在单个视角中消除玻璃厚度带来的视差。但这样的话,如果你使用视角脱离了这个预设的视角位置,整个屏幕的视差只会更严重。以下是我推荐的方法:

不必让视角始终保持一个位置,诚然,在校准的时候始终保持一个姿势有助于减少玻璃厚度带来的视差,但对于长期使用而言并不实用。可以为自己规划一个大概的常用视角区间,在这个区间内对校准点直视校准。而在区间外就固定在边缘,斜视校准以尽量减少玻璃厚度带来的视差。虽然这可能会造成在常用区域内的视差变大,但长期使用下来我发现,在常用区域中,保证光标位置稳定比消除视差要重要得多。而在边缘区域,可以消除视差以改善体验。

小心戳好每个点,只要精度足够,你的辛苦将是值得的。不满意的点可以鼠标右键退回去重新点。当然要注意最后一个点,是不可撤销的,别把它戳歪了,不然你就得激爽重来了(别问我怎么知道的)

5.到了这里你的线性校准就完成了,你可以验证一下你的劳动成果,然后再决定是不是要重来。多画几个线,观察线在笔尖下出现的方位,检验一下你的网格有没有个别点很歪导致线的方位突然鬼畜。一般,如果你的网格很平滑,没有个别某个点戳歪了,这网格就合格了。如果你的网格因为视角问题整体有偏位(比如左半边很正常,但越往右就越偏上),你可以靠tabcal来尝试补救(我就是这么干的)

6. 这就是tabcal和lincal的区别所在:lincal是用来创建整体映射网格的,是一个初始的坐标系;而tabcal更像是一个偏量,是对坐标系的补偿。这个教程中,lincal的作用更多是为了消除边缘漂移。如果单纯只想改善常用区域的精度,16点的tabcal就足够。

回到cmd,输入tabcal并回车,你就会见到一个只有4个点的最简单的校准界面。通过这4个点你可以慢慢调整你的校准成果,直到你满意了为止。    

 当然日后你的工作环境发生改变的时候,比如换了个不一样高度的桌子导致视角发生变化,你也可以用tabcal指令对你创建过的网格进行快速调整。

常见问题:

1. 线性校准数据已经存在:

用 tabcal.exe ClearCal lincal 清除校准即可。控制面板的平板电脑选项的重置按钮不能清除线性校准信息,目前也不是很清楚win10把校准数据丢到注册表的啥地方去了。

如果是win7,则可以在注册表 HKLM:\SYSTEM\CurrentControlSet\Control\TabletPC\LinearityData 找到校准信息。

2. 一次只能校准一台输入设备:

如果你有多个显示器,增加DisplayID参数即可。

3.其他幽灵bug、无法消除之类的问题参考评论区。或也可以在评论区提出来,我看到了会尽量给与解答。毕竟tabcal.exe这东西年事已高,好像在Windows3.1就已经存在了,修修补补苟到现在,没点小bug才怪了。

更多讨论和细节可以参考这个网页:

https://superuser.com/questions/1075350/tabcal-exe-command-line-switches



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3