MacKonsti Posted June 23, 2020 Share Posted June 23, 2020 (edited) Hi everyone, I am trying to contact the developers of the excellent (thank you again) VoodooPS2Controller and VoodooPS2Keyboard found on acidanthera's GitHub: https://github.com/acidanthera/VoodooPS2 with my hack: Lenovo S145-14iWL a 14" laptop with (latest) Catalina Keyboard has F1-F12 keys only (no F13/F14) and is AZERTY layout Clover r5119 with kexts injected via /kext/Other/ only (no /L/E/ as I have no CSR enabled) Using VoodooPS2Controller and VoodooPS2Keyboard plugin, removed others as they don't support my "ELAN0629" HID. MacBook15,4 SMBIOS and I admit not having tested other MacBookPro15,x N.B. I do not get in System Preferences > Keyboard > Shortcuts : No reference in Brightness Control at all (not sure this is indicative?) After my exchange with @MaLd0n my system runs smooth but for the life of me, I cannot enable the F11/F12 keys via Fn that would allow Brightness Control. I have been trying with Rehabman's ioio Terminal tool find out the key-codes for PS2 and ADB, mapping each F1-F12 key with Fn pressed as well: ./ioio -s ApplePS2Keyboard LogScanCodes 1 I was planning to use this guide for PS2 Keyboard mapping, as I thought that the keys sent were wrong. To my surprise, F11/F12 send the normal expected codes but Fn+F11 and Fn+F12 send no codes at all. All other F1-F10 codes, match both PS2 and ADB codes as found in ApplePS2ToADBMap.h Also, I have run Rehabman's ACPIDebug.kext and confirmed that the code when pressing F11/F12 passes through _Q11 and _Q12 Methods of \_SB.PCI0.LPCB.EC0 so I did add the needed Notify (in edited DSDT) but still nothing happens. Tried some Notify (\_SB.PCI0.LPCB.PS2K, 0x????) values found around (like here or here) with the hope to produce some result... Nothing. Is this a kext problem or my hardware, you think? Is it related to MacBookPro15,4 that may impact this? Is this some action or ACPI event that talks directly to the panel and is totally transparent/ignored by macOS ? Can I get please your comment @syscl and @vit9696 as I can't find other developers' nickname, to help please? There is no specific thread URL in the GitHub README.md page of VoodooPS2 to address my issue... Many thanks, I appreciate your feedback. Spoiler Here is the part of the code _Q11 and _Q12 in case you are interested: Method (_Q11, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If (_OSI ("Darwin")) { Notify (^^PS2K, 0x0405) } Else { If (IGDS) { If (((^^^GFX0.CBLV & 0x7F) == One)) { BKLT = One } } P80B = 0x11 Notify (^^^GFX0.DD1F, 0x87) // Device-Specific Notify (VPC0, 0x80) // Status Change } } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If (_OSI ("Darwin")) { Notify (^^PS2K, 0x0406) } Else { If (IGDS) { If ((BKLT == One)) { BKLT = Zero } Else { P80B = 0x12 Notify (^^^GFX0.DD1F, 0x86) // Device-Specific Notify (VPC0, 0x80) // Status Change } } Else { P80B = 0x12 Notify (^^^GFX0.DD1F, 0x86) // Device-Specific Notify (VPC0, 0x80) // Status Change } } } Update: With Notify (^^PS2K, 0x0405) and Notify (^^PS2K, 0x0406) I do get eventually a code when pressing Fn+F11 and Fn+12: F11= default 22:52:30.780256+0200 kernel ApplePS2Keyboard: sending key 57=67 down F12= default 22:52:32.356484+0200 kernel ApplePS2Keyboard: sending key 58=6f down Fn+F11= default 22:52:34.321340+0200 kernel ApplePS2Keyboard: sending key e005=6b down Fn+F12= default 22:52:36.048654+0200 kernel ApplePS2Keyboard: sending key e006=71 down Can you also kindly confirm that the method described here to do PS2 Keyboard Mapping via injection of a proper SSDT and proper Name (RMCF, Package() [...] without ever needing to edit/touch the VoodooPS2Keyboard's Info.plist does produce results? Is this method still valid? Is RMCF taken into consideration? I see that PS2 codes e005 and e006 found in ApplePS2ToADBMap.h map to: BRIGHTNESS_DOWN, // e0 05 dell down BRIGHTNESS_UP, // e0 06 dell up But 0x6b and 0x71 as ADB codes are referenced in: // These ADB codes are for F14/F15 (works in 10.12) #define BRIGHTNESS_DOWN 0x6b #define BRIGHTNESS_UP 0x71 0x6b, // 65 = F14 0x71, // 66 = F15 0x6b, // 46 Scroll Lock 0x71, // e0 4 5* Pause How is the value in Notify (^^PS2K, 0x0405) and Notify (^^PS2K, 0x0406) derived? How is the value 0x0405 ending up as e005=6b for example? What is the definitive value for BRIGHTNESS_DOWN and BRIGHTNESS_UP? Many thanks Edited June 23, 2020 by MacKonsti Link to comment Share on other sites More sharing options...
Recommended Posts