[Teclast X98 Air 3G] semitweakert:
Smooth touch experience (HG6M)

I'm not sure whether many people are still using this tablet, but if so this might be useful. I didn't use my X98 air II for quite some time but decided to give it another try. I reconfigured dual boot and did a fresh install of Windows. Again I was quite annoyed by the responsiveness of the touch screen and decided to dive into it one more time.

I remembered that we had a TouchSetting.gt file that gave a responsive experience, but resulted in the upper half of the touch being inverted. This all had to do with the value of Senserid_2. I compared the individual bytes of DefaultCFG with those of Senserid_2. Furthermore I did some googling on the Goodix touch panels. And I was lucky: there are some datasheets available which explain what the bytes mean (see for example https://github.com/hadess/gt9xx/tree/master/specifications). And indeed: one of the differences between DefaultCFG and Senserid_2 is that 16 bytes are in reversed order. The description for these bytes: "ITO Driver corresponding chip channel number.".

Anyway, with this information I edited the TouchSetting.gt file. Since the DefaultCFG gave a responsive experience I used this config as a base and reversed the order of the 16 bytes. This resulted in a very responsive touch screen without the upper half being inverted.

My TouchSetting.gt now looks like this, but I might be tweaking it even further:

[Setting]
;UpdateCFG=0
SendCFG=1 ;Send CFG to touch IC when loading driver
SleepDisable=0
PhysicalXsize=1976 ;Physical size£¬the unit is 0.1mm
PhysicalYsize=1485

[Support]
ESD=1 ;Driver supports ESD recovery processing
;SensorID=0 ;According to the different SensorID send different configuration
GtpTool=0 ;GuitarTestPlateform tool support
X2X=1
Y2Y=1
X2Y=0

[Feature]
Pen=0 ;stylus/pen support
NumberOfKey=0 ;The total number of keys supported,equal to 0 does not support key
Key1=0xe3 ;0xe3 is home key,Must be a hexadecimal number
Key2=
Key3=
Key4=

[CFG]
DefaultCFG=0x00,0x00,0x06,0x00,0x08,0x0A,0xF5,0x00,0x01,0x0F,0x1E,0x0F,0x6E,0x51,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x1A,0x1D,0x14,0x90,0x30,0xAA,0x19,0x1B,0xD0,0x05,0x00,0x00,0x00,0x02,0x04,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x37,0x94,0x45,0x02,0x08,0x00,0x00,0x04,0xB0,0x1B,0x00,0x9B,0x1F,0x00,0x85,0x25,0x00,0x75,0x2B,0x00,0x68,0x32,0x00,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x18,0x17,0x16,0x15,0x14,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x09,0x08,0x07,0x06,0x05,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x00,0x02,0x04,0x06,0x07,0x08,0x0A,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x01
SenserID_0=0x00,0x00,0x06,0x00,0x08,0x0A,0xF5,0x00,0x01,0x0F,0x22,0x0F,0x64,0x50,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x1A,0x1D,0x14,0x90,0x30,0xAA,0x1F,0x1D,0x39,0x13,0x00,0x00,0x00,0x03,0x03,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0x2C,0x94,0x45,0x02,0x08,0x00,0x00,0x04,0x93,0x18,0x00,0x86,0x1B,0x00,0x7A,0x1F,0x00,0x6E,0x24,0x00,0x65,0x29,0x00,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x18,0x17,0x16,0x15,0x14,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x09,0x08,0x07,0x06,0x05,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x14,0x13,0x12,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x0A,0x08,0x07,0x06,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x01
SenserID_1=
SenserID_2=0x00,0x00,0x06,0x00,0x08,0x0A,0xF5,0x00,0x01,0x0F,0x22,0x0F,0x64,0x50,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x1A,0x1D,0x14,0x90,0x30,0xAA,0x1F,0x1D,0x39,0x13,0x00,0x00,0x00,0x03,0x03,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0x2C,0x94,0x45,0x02,0x08,0x00,0x00,0x04,0x93,0x18,0x00,0x86,0x1B,0x00,0x7A,0x1F,0x00,0x6E,0x24,0x00,0x65,0x29,0x00,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x18,0x17,0x16,0x15,0x14,0x11,0x10,0x0F,0x0E,0x0D,0x0C,0x09,0x08,0x07,0x06,0x05,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1C,0x1B,0x19,0x00,0x02,0x04,0x06,0x07,0x08,0x0A,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x01
SenserID_3=
SenserID_4=
SenserID_5=

It might be necessary to play with the X2X and Y2Y values in case the touch is completely inverted.