@RehabMan - I've recently upgraded my T440s to Sierra and I have it mostly working. I was able to apply this new brightness patch to get brightness working.
However, my key mappings (which I found from a guide on this site) are no longer correct. I was able to follow the ACPI-Keyboard guide to figure out which keys are mapping to which method in my EC device using the intercept method:
Mute: _Q43
Microphone Mute: _Q6A
Brightness Down: _Q15
Brightness Up: _Q14
Projector?: _Q16
Wifi Switch: _Q64
Settings: _Q66
Search: _Q67
View Programs: _Q68
View ALL Programs: _Q69
But where I'm confused is learning how to know what to put in these methods. Am I supposed to keep the RMKB device in my DSDT and then play around with the values in the ACPIKeyboard.cpp to invoke brightness? The older patches I found from Yosemite (https://www.tonymacx86.com/threads/lenovo-t440s-working-fn-keys.158288/) are calling the KBD device directly.
Some guidance would be helpful!
Wow, that worked.For your brightness keys, patch _Q15 and _Q14 as described in post #1.
Wow, that worked.
But how does one determine the hex values to send to the keyboard device? I'd like to map all of the other buttons too, if possible.
Yes, I am. So is there a table or anything that has these codes?If you're using my PS2 kext, the values represent PS2 codes.
It is essentially a mechanism to generate PS2 codes from ACPI.
Yes, I am. So is there a table or anything that has these codes?
Oh I see, so I need to mimic the keys of the real Macbook? So I should take a look at the MacbookPro11,1 keyboard and then map those hex values to the keys I wish to press?
Oh I see, so I need to mimic the keys of the real Macbook?
EDIT: Actually that wouldn't make sense based on looking at that and what we used for brightness on Page 1. How does the brightness value (0x0405 and 0x0406) match up with the table?
Interesting. Thanks for the explanation.Macs do not have PS2 keyboards.
Brightness keys are not standardized. Various manufacturers use different PS2 codes for them.
Many Dell laptops use 'e0 05' (brightness down) and 'e0 06' (brightness up).
0x04xx represents 'extended' (e0) PS2 codes (make/break).
So, 0x0405 is Dell PS2 for brightness down, and 0x0406 is Dell PS2 for brightness up.
You can see the default mapping of PS2 codes to ADB codes in ApplePS2ToADBMap.h in the VoodooPS2Controller source.
But note that brightness ADB codes don't work any more, so we use F14/F15. You will also see that in ApplePS2ToADBMap.h. Those two Dell codes 'e0 05'/'e0 06' map to F14/F15 ADB codes. F14 and F15, by default, are mapped to brightness adjustment, which is why we use them, and why all this works.