Contribute
Register

Mechanics of keyboard kexts

Status
Not open for further replies.
Joined
Jan 21, 2016
Messages
30
Motherboard
Acer A515-51-592H (Clover)
CPU
Intel Core-i5 8250U (100-Series)
Graphics
Intel UHD 620 (1080p)
Mobile Phone
  1. Android
Hi,

I have some problems to understand the mechanics of the keyboard driver.
As far as I know there are two ways the laptop could use the keyboard: ACPI and PS2? Is that correct or is it always a combination of both?

The VoodooPS2 Kext from RehabMan is used to make a PS2 connected keyboard working. So, following his guide to custom mapping, I could take the official PS2 Codes. I catch the ADB Codes via "log show --debug" by using the debug kext and daemon. Is that correct?
 
Hi,

I have some problems to understand the mechanics of the keyboard driver.
As far as I know there are two ways the laptop could use the keyboard: ACPI and PS2? Is that correct or is it always a combination of both?

PS2 devices are represented in ACPI.
The PS2 nub matches against ACPI (based on PNP ids) in order to load the related kexts.
After loading, the driver uses the PS2 interface to capture trackpad/keyboard events.

The VoodooPS2 Kext from RehabMan is used to make a PS2 connected keyboard working. So, following his guide to custom mapping, I could take the official PS2 Codes. I catch the ADB Codes via "log show --debug" by using the debug kext and daemon. Is that correct?

My VoodooPS2 kexts use ACPI for configuration.
Refer to *.dsl in my VoodooPS2Controller github project for examples.
 
Thx for explaining!

As far as I understood the custom mapping is possible via the plist in the kext folder and as I see in you repo via SSDT patching?
Is there a preferred method (except the obvious that the SSDT isn't overwritten when the kext is replaced with a new version)?

I see I have to go with DSDT patching for brightness keys. Is it correct that the ACPI events will be triggered by the keyboard when pressing the keys even if they are not working as brightness keys?
 
Last edited:
Thx for explaining!

As far as I understood the custom mapping is possible via the plist in the kext folder and as I see in you repo via SSDT patching?
Is there a preferred method (except the obvious that the SSDT isn't overwritten when the kext is replaced with a new version)?

Use ACPI (SSDT) to provide overrides. Advantage: easier to update the kext, and easier to see what you're doing should you upload problem reporting files.

I see I have to go with DSDT patching for brightness keys. Is it correct that the ACPI events will be triggered by the keyboard when pressing the keys even if they are not working as brightness keys?

Yes, most recent computers use ACPI for the brightness keys, not PS2.
 
Status
Not open for further replies.
Back
Top