krackers

Results 56 comments of krackers

@sieren Thanks so much for that pointer! I was thinking I'd have to do some weird IOKit stuff for state changes in IOPowerdomain (like this [example](https://github.com/qwerty12/DisableTurboBoostBattery), but your method is...

Also I'll add that if you want you can persist change for power envelope (PL1 and PL2) using a similar method also. I like this approach much more than using...

For completeness, I'll note here than an alternate approach to achieve the same thing is by creating an IOKit driver instead, and having two power states on/off which will be...

@imbushuo Here's finger data frame format for MT1, based on both linux driver as well as my own reverse engineering. ``` struct __attribute__((__packed__)) mt1_finger { SInt16 X: 13; SInt16 Y:...

For completeness, here is header format ``` struct __attribute__((__packed__)) HEADER { UInt8 report_id: 8; UInt8 button_data: 6; UInt32 timestamp: 18; }; ``` Each frame consists of 4 byte header as...

> From my knowledge, it is not possible for an application to get any CPU time while the system is asleep. If you can trigger a dark wake I think...

+1, just writing the keys to smc manually, I find that BCLM survives reboots but BFCL does not. I wonder if we can find which process is responsible for resetting...

@frenzibyte The linked change fixes `EXC_CRASH (SIGABRT)` on context update, but I've still been seeing `EXC_BAD_ACCESS (SIGSEGV)` on resize like shown in the stack trace in https://github.com/glfw/glfw/issues/1997#issuecomment-979434355, with the same...

Question: why does the app intercept the side-button events at the IOKit level (via `IOHIDDeviceRegisterInputValueCallback`) instead of doing this at the quartz level (via `CGEventTap`)?

@noah-nuebling Thanks for the info! Could you elaborate more on ` extract a driver-level event (IOHIDEvent) from a CGEvent` – I assume you basically reverse-engineered the struct layout for `CGEvent`?...