[Tutorials] 国产WIN版,终于搞定了触摸的问题
Tofloor
poster avatar
xyss1120
deepin
2021-02-03 07:17
Author

前言:手头有一台酷比魔方iWork10Pro的双系统平板,装了DEEPIN20.1以后,其他都正常,唯独触摸毫无反应。

遍寻百度,折腾了好久,终于解决了

分享一下心得。

这里 https://github.com/onitake/gsl-firmware/tree/master/firmware 搜集了大部分的平板驱动,找到自己的对应的型号。下载silead_ts.tw文件即可

终端里进行操作:

git clone https://github.com/onitake/gslx680-acpi.git

cd gslx680-acpi

make

make install

depmod -a

然后把下载的silead_ts.tw丢桌面的gslx680-acpi目录里,

终端继续

sudo cp silead_ts.fw /lib/firmware

sudo rmmod silead

sudo modprobe gslx680_ts_acpi

完工,重启一下试试看

 

 

如果没有自己平板型号的 silead_ts.fw 文件,就需要自己编译了

在WIN系统里找到SileadTouch.sys文件,备用

打开中终端

git clone https://github.com/onitake/gsl-firmware.git

cd gsl-firmware/tools

把你的SileadTouch.sys复制粘贴到gsl-firmware/tools文件夹里面

./scanwindrv SileadTouch.sys,生成一个firmware.fw,文件可能是firmware-00.fw之类的,改回來就好

假如平板分辨率是1280X800

./fwtool -c firmware.fw -m 1680 -w 1280 -h 800 -t 10 -f track silead_ts.fw  生成silead_ts.fw文件

sudo cp silead_ts.fw /lib/firmware

sudo rmmod silead

sudo modprobe gslx680_ts_acpi

 

看一下,触摸位置有没有上下翻转或者左右翻转

左右翻转,./fwtool -c firmware.fw -m 1680 -w 1280 -h 800 -t 10 -f xflip,track silead_ts.fw

上下翻转 ./fwtool -c firmware.fw -m 1680 -w 1280 -h 800 -t 10 -f yflip,track silead_ts.fw

都翻转的  ./fwtool -c firmware.fw -m 1680 -w 1280 -h 800 -t 10 -f  xflip,yflip,track silead_ts.fw

 

PS:我的平板分辨率是1920X1200,触摸有偏移的情况,翻了一下,发现teclast/x5_pro和我分辨率一样,

但是触摸分辨率是1982x1527 ,生成silead_ts.fw文件的命令是./fwtool -c firmware.fw -m 1680 -w 1982 -h 1527 -t 10  silead_ts.fw

照抄之,问题解决

有知道怎么测出触摸分辨率的大佬,指点一下呗

Reply Favorite View the author
All Replies
181******81
deepin
2021-02-03 17:54
#1

好帖,顶起来。

Reply View the author
q77190858
deepin
2021-02-03 17:58
#2

牛逼,最好可以讲一下驱动层原理什么的

Reply View the author
zhangn1985
deepin
2021-02-03 19:15
#3

https://github.com/zhangn1985/i2c_hid-sipo

我的台电P6是这个驱动搞定的。但是如果用的内核版本高于4.19就不需要驱动了。

Reply View the author
zhangn1985
deepin
2021-02-03 19:17
#4
static const struct dmi_system_id i2c_hid_dmi_desc_override_table[] = {
	{
		.ident = "Teclast F6 Pro",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TECLAST"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "F6 Pro"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Teclast F7",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TECLAST"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "F7"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Trekstor Primebook C13",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TREKSTOR"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Primebook C13"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Trekstor Primebook C11",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TREKSTOR"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Primebook C11"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Direkt-Tek DTLAPY116-2",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Direkt-Tek"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "DTLAPY116-2"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Direkt-Tek DTLAPY133-1",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Direkt-Tek"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "DTLAPY133-1"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Mediacom Flexbook Edge 11",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "MEDIACOM"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "FlexBook edge11 - M-FBE11"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{ }	/* Terminate list */
};

Reply View the author
zlps129
deepin
2021-09-26 23:37
#5
zhangn1985
static const struct dmi_system_id i2c_hid_dmi_desc_override_table[] = {
	{
		.ident = "Teclast F6 Pro",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TECLAST"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "F6 Pro"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Teclast F7",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TECLAST"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "F7"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Trekstor Primebook C13",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TREKSTOR"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Primebook C13"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Trekstor Primebook C11",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "TREKSTOR"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Primebook C11"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Direkt-Tek DTLAPY116-2",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Direkt-Tek"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "DTLAPY116-2"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Direkt-Tek DTLAPY133-1",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Direkt-Tek"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "DTLAPY133-1"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{
		.ident = "Mediacom Flexbook Edge 11",
		.matches = {
			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "MEDIACOM"),
			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "FlexBook edge11 - M-FBE11"),
		},
		.driver_data = (void *)&sipodev_desc
	},
	{ }	/* Terminate list */
};

有X5PRO的解决办法吗

Reply View the author
191******35
deepin
2022-06-09 07:58
#6

能把驱动问件发一个给我吗?现在都不能下载了

Reply View the author
191******35
deepin
2022-06-09 07:59
#7

能把驱动问发一个给我吗,现在不能下载了扣扣121780373

Reply View the author
流云映水(李洪文)
deepin
2023-05-05 02:16
#8

我的不行,找不到 git命令

Reply View the author
流云映水(李洪文)
deepin
2023-05-05 02:17
#9

继续求方法

Reply View the author