Lately I’ve really needed SysRq in situations where /proc/sysrq-trigger just doesn’t do the job, and my MacBook is missing lots of crusty old XT-era keys. Finally, I know how to do this!
/* includes and error handling omitted for brevity... */
#define USAGE_CODE 0x070044 /* USB hid for F11 */
int main()
{
int codes[2];
int fd = open("/dev/input/by-id/usb-Apple_Computer_Apple_"
"Internal_Keyboard_._Trackpad-event-kbd", O_NONBLOCK);
codes[0] = USAGE_CODE;
codes[1] = KEY_SYSRQ; /* from linux/input.h */
ioctl(fd, EVIOCSKEYCODE, codes);
}
Awesome. Supposedly, a tool called keyfuzz is also efficacious.
