You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过编程修改Elan触摸板的滚动方向(解决Windows 11系统更新重置触摸板配置的问题)

如何通过编程修改Elan触摸板的滚动方向(解决Windows 11系统更新重置触摸板配置的问题)

问题背景与需求

最近Windows 11的系统更新老是把我调整好的触摸板设置给重置了,尤其烦人的是反向滚动方向(就是和系统默认自然滚动相反的设置)每次都要重新改。所以我想找到一个能通过编程修改这个设置的方法,或者让它在开机、登录的时候自动恢复我想要的配置,不用每次更新后手动折腾。

我的硬件与系统信息

  • 设备:Lenovo IdeaPad Gaming 3-15IHU6(Type 82K1)
  • 系统:Windows 11 Pro(版本10.0.22635 Build 22635)
  • 处理器:11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz
  • 触摸板硬件ID:
    • HID\VEN_ELAN&DEV_0001&Col03
    • HID\ELAN0001&Col03
    • HID*ELAN0001&Col03
    • HID\VID_04F3&UP:000D_U:0005
    • HID_DEVICE_UP:000D_U:0005
    • HID_DEVICE

我已经试过的方法

  • 从设备管理器里找到了触摸板的硬件ID:HID\VEN_ELAN&DEV_0001&Col03
  • 翻遍了组策略编辑器,没找到能控制这个设置的选项
  • 去联想的官方支持页找过,没有对应的OEM工具或驱动能锁定滚动方向设置
  • 看到过相关帖子说注册表有对应键,但那个路径在我电脑里根本不存在(应该是其他机型的)
  • 找到了触摸板对应的注册表目录:Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\HID\ELAN0001&Col03\5&1aa11294&0&0002,但里面的Property没法访问,Parameters文件夹除了默认项啥都没有

可行的解决方案

针对Elan触摸板的这个问题,我整理了两个靠谱的方案,能让设置自动生效:

方案1:PowerShell脚本+开机自启

Elan触摸板的滚动方向一般可以通过用户注册表的键值来控制,你可以写个简单的PowerShell脚本:

# 设置全局反向滚动(1=启用反向,0=恢复默认)
Set-ItemProperty -Path "HKCU:\Software\Elantech\SmartPad" -Name "ReverseScrolling" -Value 1 -Type DWord

# 如果需要分别设置垂直和水平滚动的反向,加上下面两行
Set-ItemProperty -Path "HKCU:\Software\Elantech\SmartPad" -Name "ReverseVerticalScrolling" -Value 1 -Type DWord
Set-ItemProperty -Path "HKCU:\Software\Elantech\SmartPad" -Name "ReverseHorizontalScrolling" -Value 1 -Type DWord

如果你的注册表没有HKCU:\Software\Elantech\SmartPad这个路径,手动创建一下:

  1. 打开注册表编辑器(按Win+R输入regedit
  2. 导航到HKEY_CURRENT_USER\Software,右键新建项,命名为Elantech
  3. Elantech下再新建一个项,命名为SmartPad
  4. SmartPad里新建DWORD(32位)值,命名为ReverseScrolling,值设为1

然后把脚本设成开机自启:

  • Win+R输入shell:startup,打开开机启动文件夹
  • 把写好的.ps1脚本创建快捷方式放到这个文件夹里
  • 右键快捷方式→属性,在目标栏的脚本路径前面加上powershell.exe -ExecutionPolicy Bypass -File ,比如:powershell.exe -ExecutionPolicy Bypass -File C:\MyScripts\FixTouchpadScroll.ps1

方案2:任务计划程序定时执行

要是开机自启偶尔不生效,用任务计划程序设置成用户登录时执行更稳妥:

  1. 打开任务计划程序,点击左侧的“创建基本任务”
  2. 给任务起个名字,比如“恢复触摸板滚动设置”,描述随便写
  3. 触发器选“当用户登录时”
  4. 操作选“启动程序”
  5. 程序/脚本输入powershell.exe,添加参数填-ExecutionPolicy Bypass -File "C:\MyScripts\FixTouchpadScroll.ps1"(替换成你的脚本实际路径)
  6. 完成创建后,确保任务是启用状态

额外提示

如果上面的注册表路径对你的设备不适用,可以试试用devcon工具查询触摸板的设备实例路径,再去对应的系统注册表项里找相关设置。另外,也可以去Elan的官方网站下载最新的触摸板驱动,有些新版驱动会自带设置锁定的功能,说不定能从根源解决更新重置的问题。

备注:内容来源于stack exchange,提问作者Arctiic

火山引擎 最新活动