mirror of
https://github.com/tylernguyen/x1c6-hackintosh.git
synced 2025-02-05 09:33:13 -06:00
225 lines
No EOL
7.3 KiB
Text
225 lines
No EOL
7.3 KiB
Text
DefinitionBlock("", "SSDT", 2, "OCLT", "x1input", 0)
|
|
{
|
|
External(_SB.PCI0.LPCB.KBD, DeviceObj)
|
|
External(_SB.PCI0.LPCB.EC, DeviceObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ6A, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ15, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ14, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ16, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ64, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ66, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ60, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ61, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.XQ62, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.HKEY.MMTS, MethodObj)
|
|
External(_SB.PCI0.LPCB.EC.HKEY.MMTG, MethodObj)
|
|
|
|
Scope (_SB.PCI0.LPCB.EC)
|
|
{
|
|
Name (LED1, Zero)
|
|
// _Q6A - Microphone Mute
|
|
Method (_Q6A, 0, NotSerialized) // F4 - Microphone Mute = F20
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
// Toggle Mute Microphone LED
|
|
If ((LED1 == Zero))
|
|
{
|
|
// Right Shift + F20
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x0136)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x036B)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x01b6)
|
|
|
|
// 0x02 = Enable LED
|
|
\_SB.PCI0.LPCB.EC.HKEY.MMTS (0x02)
|
|
LED1 = One
|
|
}
|
|
Else
|
|
{
|
|
// Left Shift + F20
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x012A)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x036B)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x01aa)
|
|
|
|
// 0x00 = Disable LED
|
|
\_SB.PCI0.LPCB.EC.HKEY.MMTS (Zero)
|
|
LED1 = Zero
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
// Call original _Q6A method.
|
|
\_SB.PCI0.LPCB.EC.XQ6A()
|
|
}
|
|
}
|
|
|
|
Method (_Q15, 0, NotSerialized) // F5 - Brightness Down = F14
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x0405)
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x20)
|
|
}
|
|
Else
|
|
{
|
|
\_SB.PCI0.LPCB.EC.XQ15()
|
|
}
|
|
}
|
|
|
|
Method (_Q14, 0, NotSerialized) // F6 - Brightness Up = F15
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x0406)
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x10)
|
|
}
|
|
Else
|
|
{
|
|
\_SB.PCI0.LPCB.EC.XQ14()
|
|
}
|
|
}
|
|
|
|
Method (_Q16, 0, NotSerialized) // F7 - Dual Display = F16
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x0367)
|
|
}
|
|
Else
|
|
{
|
|
\_SB.PCI0.LPCB.EC.XQ16()
|
|
}
|
|
}
|
|
|
|
Method (_Q64, 0, NotSerialized) // F8 - Network = F17
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x0368)
|
|
}
|
|
Else
|
|
{
|
|
\_SB.PCI0.LPCB.EC.XQ64()
|
|
}
|
|
}
|
|
|
|
Method (_Q66, 0, NotSerialized) // F9 - Settings = F18
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x0369)
|
|
}
|
|
Else
|
|
{
|
|
\_SB.PCI0.LPCB.EC.XQ66()
|
|
}
|
|
}
|
|
|
|
Method (_Q60, 0, NotSerialized) // F10 - Bluetooth
|
|
{
|
|
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
// // Send a down event for the Control key (scancode 1d), then a one-shot event (down then up) for
|
|
// the down arrow key (scancode 0e 50), and finally an up event for the Control key (break scancode 9d).
|
|
// This is picked up by VoodooPS2 and sent to macOS as the Control+Down key combo.
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x011D)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x0450)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x019D)
|
|
}
|
|
Else
|
|
{
|
|
// Call original _Q60 method.
|
|
\_SB.PCI0.LPCB.EC.XQ60()
|
|
}
|
|
}
|
|
|
|
Method (_Q61, 0, NotSerialized) // F11 - Keyboard
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
// Send a down event for the Control key (scancode 1d), then a one-shot event (down then up) for
|
|
// the up arrow key (scancode 0e 48), and finally an up event for the Control key (break scancode 9d).
|
|
// This is picked up by VoodooPS2 and sent to macOS as the Control+Up key combo.
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x011D)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x0448)
|
|
Notify (\_SB.PCI0.LPCB.KBD, 0x019D)
|
|
}
|
|
Else
|
|
{
|
|
// Call original _Q61 method.
|
|
\_SB.PCI0.LPCB.EC.XQ61()
|
|
}
|
|
}
|
|
|
|
Method (_Q62, 0, NotSerialized) // F12 - Star = F19
|
|
{
|
|
If (_OSI ("Darwin"))
|
|
{
|
|
Notify(\_SB.PCI0.LPCB.KBD, 0x036A)
|
|
}
|
|
Else
|
|
{
|
|
\_SB.PCI0.LPCB.EC.XQ62()
|
|
}
|
|
}
|
|
}
|
|
|
|
Scope (_SB.PCI0.LPCB.KBD)
|
|
{
|
|
Method(_DSM, 4)
|
|
{
|
|
If (!Arg2) { Return (Buffer() { 0x03 } ) }
|
|
Return (Package()
|
|
{
|
|
"RM,oem-id", "LENOVO",
|
|
"RM,oem-table-id", "Thinkpad_ClickPad",
|
|
})
|
|
}
|
|
|
|
// Overrides (the example data here is default in the Info.plist)
|
|
Name(RMCF, Package()
|
|
{
|
|
"Synaptics TouchPad", Package()
|
|
{
|
|
"BogusDeltaThreshX", 800,
|
|
"BogusDeltaThreshY", 800,
|
|
"Clicking", ">y",
|
|
"DragLockTempMask", 0x40004,
|
|
"DynamicEWMode", ">n",
|
|
"FakeMiddleButton", ">n",
|
|
"HWResetOnStart", ">y",
|
|
//"ForcePassThrough", ">y",
|
|
//"SkipPassThrough", ">y",
|
|
"PalmNoAction When Typing", ">y",
|
|
"ScrollResolution", 800,
|
|
"SmoothInput", ">y",
|
|
"UnsmoothInput", ">y",
|
|
"Thinkpad", ">y",
|
|
"EdgeBottom", 0,
|
|
"FingerZ", 30,
|
|
"MaxTapTime", 100000000,
|
|
"MouseMultiplierX", 2,
|
|
"MouseMultiplierY", 2,
|
|
"MouseScrollMultiplierX", 2,
|
|
"MouseScrollMultiplierY", 2,
|
|
//"TrackpointScrollYMultiplier", 1, //Change this value to 0xFFFF in order to inverse the vertical scroll direction of the Trackpoint when holding the middle mouse button.
|
|
//"TrackpointScrollXMultiplier", 1, //Change this value to 0xFFFF in order to inverse the horizontal scroll direction of the Trackpoint when holding the middle mouse button.
|
|
},
|
|
|
|
"Keyboard", Package()
|
|
{
|
|
"Custom PS2 Map", Package()
|
|
{
|
|
Package() { },
|
|
"e037=64", // PrtSc = F13
|
|
"46=80", // Fn + K = Deadkey
|
|
"e045=80", // Fn + P = Deadkey
|
|
// "1d=80", // Fn + B = Deadkey
|
|
// "54=80", // Fn + S = Deadkey
|
|
},
|
|
},
|
|
})
|
|
}
|
|
}
|
|
//EOF |