Contribute
Register

Lenovo Flex 2 14 Mavericks

Status
Not open for further replies.
Why? Have you figured out which EC query it corresponds to? Have you generated an ADB code for it by patching the method?

Dealing so far with that F7 key, as it does not generate any code, so installed back dsdt with debug and query patches. Now i see that pressing F7 log indicates query info:
ACPIDebug: "EC _Q28 enter"
ACPIDebug: "EC _Q28 exit"
so we know where to look, opened dsdt and _Q28 field contains:
Method (_Q28, 0, NotSerialized) // _Qxx: EC Query
{
\rmdt.p1("EC _Q28 enter")
Store (0x28, P80H)
If (One)
{
Or (VP2D, 0x20, VP2D)
Notify (VPC0, 0x80)
}
Else
{
}
\rmdt.p1("EC _Q28 exit")

}
Is it possible patch that key code ?
Tried voodoo keyboard controller plist modifications, but no help so far with "Use F1,F1 etc", did read your comments about dsdt patching and keyboard modification and if the dsdt will not match, then no help get "Use F1,F1 etc" working...
Big thing can be already if this key starts generate code, then maping will be even manually possible.
Thanks in advance.
 
Dealing so far with that F7 key, as it does not generate any code, so installed back dsdt with debug and query patches. Now i see that pressing F7 log indicates query info:
ACPIDebug: "EC _Q28 enter"
ACPIDebug: "EC _Q28 exit"
so we know where to look, opened dsdt and _Q28 field contains:
Method (_Q28, 0, NotSerialized) // _Qxx: EC Query
{
\rmdt.p1("EC _Q28 enter")
Store (0x28, P80H)
If (One)
{
Or (VP2D, 0x20, VP2D)
Notify (VPC0, 0x80)
}
Else
{
}
\rmdt.p1("EC _Q28 exit")

}
Is it possible patch that key code ?

If the EC query method called is unique to that key, then you can make it do anything you want...

Tried voodoo keyboard controller plist modifications, but no help so far with "Use F1,F1 etc", did read your comments about dsdt patching and keyboard modification and if the dsdt will not match, then no help get "Use F1,F1 etc" working...

If you want to use a PlatformProfile other than Default. You need a DSDT patch to select it. See the u430 repo.

Big thing can be already if this key starts generate code, then maping will be even manually possible.

Yes. You generate a PS2 or ADB the code the same way as you would for brightness keys.
 
Does it mean that i can patch this key by same way as i did the brightness keys patching ?
for brightness i've got from you the ready patch with hex values 0x0206, 0x0286 and 0x0205,0x0285...
How to find hex values for that key ?
What does mean unique method ? and how to understand from the _Q28 code that it's unique ? just for educational purpose, maybe helps with other keys....
 
Does it mean that i can patch this key by same way as i did the brightness keys patching ?

for brightness i've got from you the ready patch with hex values 0x0206, 0x0286 and 0x0205,0x0285...

The ADB codes are defined by the keyboard driver (if you're using ACPIKeyboard.ket). See VoodooPS2Keyboard.cpp, ApplePS2Keyboard::defaultKeymapOfLength.

PS2 codes are mapped to ADB codes within the driver. Many ps2 codes are standard, but not all...

See here: http://www.computer-engineering.org/ps2keyboard/

And here is some specifics on how the driver maps ps2 codes to adb codes: https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller/wiki/How-to-Use-Custom-Keyboard-Mapping

You can also send ADB codes directly with ACPIKeyboard.kext: https://github.com/RehabMan/OS-X-ACPI-Keyboard

What does mean unique method ? and how to understand from the _Q28 code that it's unique ? just for educational purpose, maybe helps with other keys....

By unique I mean that no other key causes that method to be called.
 
Merry Christmas.
Familiarising with voodoo keyboard info.plist, preparing start configure remaps, question raised, there is many profiles, 6 if to be correct, for HP, Intel, Dell, Lenovo, default, in which part i should place my remaps, logically tit could be Lenovo profile or HSW-LPT (because my DSDT says). Logically the last one should right , because mapping goes thru the dsdt anyway ? but in HSW-LPT profile was only key Dell ?
Screenshot from dsdt attached.
 

Attachments

  • Screen Shot 2014-12-26 at 02.23.15.png
    Screen Shot 2014-12-26 at 02.23.15.png
    38.7 KB · Views: 126
Merry Christmas.
Familiarising with voodoo keyboard info.plist, preparing start configure remaps, question raised, there is many profiles, 6 if to be correct, for HP, Intel, Dell, Lenovo, default, in which part i should place my remaps, logically tit could be Lenovo profile or HSW-LPT (because my DSDT says). Logically the last one should right , because mapping goes thru the dsdt anyway ? but in HSW-LPT profile was only key Dell ?
Screenshot from dsdt attached.

You can place your modifications in Default, or select a specific profile with a DSDT patch.

Here is the one I use for the u430:
Code:
into method label _DSM parent_label PS2K remove_entry;
into device label PS2K insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "RM,oem-id", "LENOVO",\n
        "RM,oem-table-id", "U430",\n
    })\n
}\n
end;
 
Thanks. Can i delete keyboard info.plist other 5 profiles ? or it does not matter .... controller anyway looks id matching with dsdt ?
As far i don't have PS2K device , i should use KBD0 and the code may look like that example:

into method label _DSM parent_label KBD0 remove_entry;
into device label KBD0 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"RM,oem-id", "LENOVO",\n
"RM,oem-table-id", "Flex2",\n
})\n
}\n
end;
 

Attachments

  • Screen Shot 2014-12-26 at 02.55.16.png
    Screen Shot 2014-12-26 at 02.55.16.png
    87.9 KB · Views: 100
Thanks. Can i delete keyboard info.plist other 5 profiles ? or it does not matter .... controller anyway looks id matching with dsdt ?

Does not matter. The code looks at DSDT header if possible (not possible on Yosemite) and PS2K._DSM provides override.

As far i don't have PS2K device , i should use KBD0 and the code may look like that example:

To use this feature,you'll need to rename KBD0 to PS2K.
 
Does not matter. The code looks at DSDT header if possible (not possible on Yosemite) and PS2K._DSM provides override.
So in Yosemite it does not make any difference ? means that under 1010.x controller seeks only default profile ?
To use this feature,you'll need to rename KBD0 to PS2K.
Renaming not problem... but as far running 10.10.1 no idea patch dsdt...
 
So in Yosemite it does not make any difference ? means that under 1010.x controller seeks only default profile ?

In Yosemite, it is necessary to rename to PS2K and use a _DSM patch to select anything except Default.

Renaming not problem... but as far running 10.10.1 no idea patch dsdt...

???
 
Status
Not open for further replies.
Back
Top