Contribute
Register

[solved] SSDT patch for VoodooPS2Controller.kext not work.

Status
Not open for further replies.
Joined
Jan 30, 2016
Messages
5
Motherboard
Dell XPS15 9550 (Clover)
CPU
i7-6700HQ
Graphics
HD530
I install VoodooPS2Controller.kext in /EFI/CLOVER/kexts/Other and put plist and bin file to the right place.
Then, save the three following patches as aml and add to /EFI/CLOVER/ACPI/patched.
The first works, but the others didn't work.
Why the last two patches not work?
Thank you.

#### SSDT-SwapLCtrlCapslock.dsl
Code:
// This sample shows how to remap the Left Control to CapsLock,
// and CapsLock to Left Control.
// For XPS 9550
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "Custom ADB Map", Package()
            {
                Package(){},
                "3a=3b",    // CapsLock to L_Ctrl
                "1d=5a",    // L_Ctrl to F20
            },
        },
    })
}
//EOF

#### SSDT-SwapLCmdAlt.dsl
Code:
// This sample shows how to remap the Left Control to CapsLock,
// and CapsLock to Left Control.
// For XPS 9550
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "Custom ADB Map", Package()
            {
                Package(){},
                "38=3a",    // L_Alt to L_Option
                "e05b=37",  // Win to L_Command
            },
        },
    })
}
//EOF

#### SSDT-AlternateSwipes.dsl
Code:
// This sample shows how to remap the the default swipes to Option+Arrows,
// instead of the Ctrl+Option+Arrows
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "ActionSwipeUp", "38 d,3b d, 7e d, 7e u, 3b u, 38 u",
            "ActionSwipeDown", "38 d,3b d, 7d d, 7d u, 3b u, 38 u",
            "ActionSwipeLeft", "38 d, 37 d, 7b d, 7b u, 37 u, 38 u",
            "ActionSwipeRight", "38 d, 37 d, 7c d, 7c u, 37 u, 38 u",
        },
    })
}
//EOF
 

Attachments

  • debug_1312.zip
    2.7 MB · Views: 94
I install VoodooPS2Controller.kext in /EFI/CLOVER/kexts/Other and put plist and bin file to the right place.
Then, save the three following patches as aml and add to /EFI/CLOVER/ACPI/patched.
The first works, but the others didn't work.
Why the last two patches not work?
Thank you.

#### SSDT-SwapLCtrlCapslock.dsl
Code:
// This sample shows how to remap the Left Control to CapsLock,
// and CapsLock to Left Control.
// For XPS 9550
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "Custom ADB Map", Package()
            {
                Package(){},
                "3a=3b",    // CapsLock to L_Ctrl
                "1d=5a",    // L_Ctrl to F20
            },
        },
    })
}
//EOF

#### SSDT-SwapLCmdAlt.dsl
Code:
// This sample shows how to remap the Left Control to CapsLock,
// and CapsLock to Left Control.
// For XPS 9550
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "Custom ADB Map", Package()
            {
                Package(){},
                "38=3a",    // L_Alt to L_Option
                "e05b=37",  // Win to L_Command
            },
        },
    })
}
//EOF

#### SSDT-AlternateSwipes.dsl
Code:
// This sample shows how to remap the the default swipes to Option+Arrows,
// instead of the Ctrl+Option+Arrows
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "ActionSwipeUp", "38 d,3b d, 7e d, 7e u, 3b u, 38 u",
            "ActionSwipeDown", "38 d,3b d, 7d d, 7d u, 3b u, 38 u",
            "ActionSwipeLeft", "38 d, 37 d, 7b d, 7b u, 37 u, 38 u",
            "ActionSwipeRight", "38 d, 37 d, 7c d, 7c u, 37 u, 38 u",
        },
    })
}
//EOF

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Attached the zip file by gen_debug.
Thank you.

Your files show only SSDT-SwapLCtrlCapslock.aml.
Keep in mind you CANNOT add multiple SSDTs for PS2K configuration.
Must merge separate files into a single SSDT.
 
Your files show only SSDT-SwapLCtrlCapslock.aml.
Keep in mind you CANNOT add multiple SSDTs for PS2K configuration.
Must merge separate files into a single SSDT.

Sorry for the mistake.

I tried again.
I compiled the following dsl file to aml, then add to clover.
Code:
// For XPS 9550
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "Custom ADB Map", Package()
            {
                Package(){},
                "3a=3b",    // CapsLock to L_Ctrl
                "1d=5a",    // L_Ctrl to F20
                "38=3a",    // L_Alt to L_Option
                "e05b=37",  // Win to L_Command
            },
            "Custom PS2 Map", Package()
                {
                    Package(){},
                    "e037=64", // PrtSc=F13
                    "e052=68", // Inset=F18
            },
            "ActionSwipeUp", "38 d, 3b d, 7e d, 7e u, 3b u, 38 u",
            "ActionSwipeDown", "38 d,3b d, 7d d, 7d u, 3b u, 38 u",
            "ActionSwipeLeft", "38 d, 37 d, 7b d, 7b u, 37 u, 38 u",
            "ActionSwipeRight", "38 d, 37 d, 7c d, 7c u, 37 u, 38 u"
        },
    })
}
//EOF

After reboot, I run "ioio -s ApplePS2Keyboard LogScanCodes 1".

"3a=3b" "1d=5a" and "Custom PS2 Map" work.
The console shows: 3a=3b, 1d=5a, e037=64 64=69, e052=68 68=40

But "38=3a" "e05b=37" and the "ActionSwipeUp" etc. did not work.
The console shows: 38=37, e05b=3a

Thank you very much.
 

Attachments

  • debug_5994.zip
    2.8 MB · Views: 77
Sorry for the mistake.

I tried again.
I compiled the following dsl file to aml, then add to clover.
Code:
// For XPS 9550
DefinitionBlock ("", "SSDT", 2, "hack", "ps2", 0)
{
    Name(_SB.PCI0.LPCB.PS2K.RMCF, Package()
    {
        "Keyboard", Package()
        {
            "Custom ADB Map", Package()
            {
                Package(){},
                "3a=3b",    // CapsLock to L_Ctrl
                "1d=5a",    // L_Ctrl to F20
                "38=3a",    // L_Alt to L_Option
                "e05b=37",  // Win to L_Command
            },
            "Custom PS2 Map", Package()
                {
                    Package(){},
                    "e037=64", // PrtSc=F13
                    "e052=68", // Inset=F18
            },
            "ActionSwipeUp", "38 d, 3b d, 7e d, 7e u, 3b u, 38 u",
            "ActionSwipeDown", "38 d,3b d, 7d d, 7d u, 3b u, 38 u",
            "ActionSwipeLeft", "38 d, 37 d, 7b d, 7b u, 37 u, 38 u",
            "ActionSwipeRight", "38 d, 37 d, 7c d, 7c u, 37 u, 38 u"
        },
    })
}
//EOF

After reboot, I run "ioio -s ApplePS2Keyboard LogScanCodes 1".

"3a=3b" "1d=5a" and "Custom PS2 Map" work.
The console shows: 3a=3b, 1d=5a, e037=64 64=69, e052=68 68=40

But "38=3a" "e05b=37" and the "ActionSwipeUp" etc. did not work.
The console shows: 38=37, e05b=3a

Thank you very much.

Your patchmatic extract output does not disassemble: iasl -dl -da *.aml

(you have one or more duplicate symbols somewhere... your task to find the mistake).

Note: You can use the debug VoodooPS2Controller.kext to see merged configuration data in ioreg, as well as PS2 debug logs in the kernel logs.
 
Your patchmatic extract output does not disassemble: iasl -dl -da *.aml

(you have one or more duplicate symbols somewhere... your task to find the mistake).

Note: You can use the debug VoodooPS2Controller.kext to see merged configuration data in ioreg, as well as PS2 debug logs in the kernel logs.

The merged configuration showed that "38=3a" "e05b=37" and the "ActionSwipeUp" etc. work. But the PS2 debug logs show still "38=37, e05b=3a". I can't find duplicate symbols. So, I tried again to swap them by Custom PS2 Map. It worked.

The problem that "ActionSwipeUp" etc. not work was caused by Karabiner-Elements app and its config. I changed Left_shift key used in ActionSwipeUp etc. to Right-shift. This problem was also solved.

Thank you for your help.

Besides, I have a question: Why the trackpad of my laptop Dell XPS15 is not recognized by BetterTouchTool? I can use two and three fingers actions with the trackpad. But the BTT app show "no multitouch capable trackpad found".
 
UPDATE: I found why PS2 debug logs show still "38=37, e05b=3a". That was caused by "Swap command and option" in VoodooPS2Keyboard.kext/Contents/Info.plist. I removed "38=3a e05b=37" and added "Swap command and option", ">n" in SSDT-PS2K.dsl. Everything is OK.
 
UPDATE: I found why PS2 debug logs show still "38=37, e05b=3a". That was caused by "Swap command and option" in VoodooPS2Keyboard.kext/Contents/Info.plist. I removed "38=3a e05b=37" and added "Swap command and option", ">n" in SSDT-PS2K.dsl. Everything is OK.

That's what I thought it would be...

Marked solved.
 
Status
Not open for further replies.
Back
Top