Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

求助,触摸板和鼠标冲突会有冲突吗 #10

Open
xiaominglei001 opened this issue Nov 16, 2019 · 10 comments
Open

求助,触摸板和鼠标冲突会有冲突吗 #10

xiaominglei001 opened this issue Nov 16, 2019 · 10 comments

Comments

@xiaominglei001
Copy link

xiaominglei001 commented Nov 16, 2019

完全用这个EFI,发现开机之后触摸板正常,一直用也正常,但是如果我插上鼠标,用鼠标时间长点,如五六分钟,期间完全不用触摸板,再去用触摸板,就发现触摸板完全无任何响应,但是设置里还是能看到触摸板的设置选项,触摸板无响应之后,我拔掉鼠标也没用,只能重启解决

@xiaominglei001 xiaominglei001 changed the title 触摸板和鼠标冲突会有冲突吗 求助,触摸板和鼠标冲突会有冲突吗 Nov 16, 2019
@xiaominglei001
Copy link
Author

xiaominglei001 commented Nov 17, 2019

11.17日更新:发现即使不插鼠标,等个五六分钟不用触摸板,触摸板就停止响应了,必须强制关机重启才可以用。我是10.15.1系统。

@dragonflylee
Copy link
Owner

更新 VoodooPS2Controller.kext 也许会解决问题

@xiaominglei001
Copy link
Author

更新 VoodooPS2Controller.kext 也许会解决问题

最新的VoodooPS2Controller.kext替换Other下已有的也不行,还是同样问题,五分钟不用触摸板就停止响应了,我感觉可能完全用你的EFI而没有自己去做DSDT的原因,这个voodooi2c的驱动教程看了几个太难懂了,看着看着就晕了。。。

@dragonflylee
Copy link
Owner

@xiaominglei001 DSDT的话这里用的是 HotPatch 所以问题应该也不是很大

@dragonflylee
Copy link
Owner

dragonflylee commented Nov 19, 2019

你是不是按了 PrtSc 键,这个键是开关触摸板的键
还有 VoodooPS2Controller.kext 好像提供了检测鼠标的功能,通过配置可以关掉

@xiaominglei001
Copy link
Author

你是不是按了 PrtSc 键,这个键是开关触摸板的键
还有 VoodooPS2Controller.kext 好像提供了检测鼠标的功能,通过配置可以关掉
没按那个键,和鼠标应该也没关系,现在就是不管用不用鼠标,只要五分钟左右不去摸触摸板,触摸板就没响应了,必须重启才可以。实际我是Lenovo ideapad720s-13ikb(i5 8250u),和你的配置很像,看到远景上说用你的EFI可以,就用了,只是把声卡layoutid改为了22,我把clover按F4提取的文件都上传了,https://github.com/xiaominglei001/ideapad-720s-13ikb-origin 有空能帮忙看下吗,现在只有这个bug其它都完美了,万谢,怀疑还是dsdt的原因,我又不太明白那些voodooi2c教程。。。

@xiaominglei001
Copy link
Author

把问题解决了,你这里好像没有修改DSDT,只修改了SSDT,当然这两者具体关系我也不太懂。 我导出自己的DSDT然后参照 https://github.com/FuckDoctors/ideapad-720s-13IKB 里的DSDT把voodooi2c需要的代码加上了,然后触摸板就不再五分钟不用无响应了,也上传了份源码在我仓库,😆

@dragonflylee
Copy link
Owner

@xiaominglei001 参考您的DSDT编写如下 HotPatch 也许适用性更广

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>ACPI</key>
  <dict>
    <key>DSDT</key>
    <dict>
      <key>Patches</key>
      <array>
        <dict>
          <key>Comment</key>
          <string>Device(GPI0) change _STA to XSTA</string>
          <key>Disabled</key>
          <false/>
          <key>Find</key>
          <data>X1NUQQ==</data>
          <key>Replace</key>
          <data>WFNUQQ==</data>
          <key>TgtBridge</key>
          <data>R1BJMA==</data>
        </dict>
        <dict>
          <key>Comment</key>
          <string>Device(TPD0) change _CRS to XCRS</string>
          <key>Disabled</key>
          <false/>
          <key>Find</key>
          <data>X0NSUw==</data>
          <key>Replace</key>
          <data>WENSUw==</data>
          <key>TgtBridge</key>
          <data>VFBEMA==</data>
        </dict>
      </array>
    </dict>
    <key>SortedOrder</key>
    <array>
      <string>SSDT-TPD0.aml</string>
    </array>
  </dict>
</dict>
</plist>

其中 SSDT-TPD0.dsl 的内容如下

DefinitionBlock ("", "SSDT", 2, "hack", "_TPD0", 0x00000000)
{
    External (_SB_.PCI0.GPI0, DeviceObj)
    External (_SB.PCI0.I2C1.TPD0, DeviceObj)

    Scope (_SB.PCI0.GPI0)
    {
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            Return (Zero)
        }
    }

    Scope (_SB.PCI0.I2C1.TPD0)
    {
        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
        {
            Name (SBFB, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, , Exclusive,
                    )
            })
            
            // patches for VoodooI2C.kext
            Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake,PullDefault,0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                )
                {
                    // Pin list
                    0x1B
                }
            })
            
            Return (ConcatenateResTemplate (SBFB, SBFG))
        }
    }
}

Yoga720s.zip

@xiaominglei001
Copy link
Author

好,多谢!我有空试下~

@xiaominglei001
Copy link
Author

不行啊,直接触摸板一开始就没响应了,我删除原来patched下的DSDT.aml文件,然后放入提供的SSDT-TPD0.aml,然后参照提供的plist修改config.plist为如下图所示:  ,别的都没动了。另外,不知道是不是bios设置的关系,我电脑每次走这段提示有点耗时,有办法去掉还不影响启动吗,我bios设置参考的这里的:https://github.com/FuckDoctors/ideapad-720s-13IKB
1218388207

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants