if ((usage->hid & HID_UP_KEYBOARD) != HID_UP_KEYBOARD) return 0;
switch (usage->hid & ~HID_UP_KEYBOARD) { case 0x68:
map_key_clear(KEY_MACRO1); return 1; case 0x69:
map_key_clear(KEY_MACRO2); return 1; case 0x6a:
map_key_clear(KEY_MACRO3); return 1; case 0x6b:
map_key_clear(KEY_MACRO4); return 1; case 0x6c:
map_key_clear(KEY_MACRO5); return 1;
}
return 0;
}
staticint razer_probe(struct hid_device *hdev, conststruct hid_device_id *id)
{ char *buf; int ret = 0;
ret = hid_parse(hdev); if (ret) return ret;
/* * Only send the enable macro keys command for the third device * identified as mouse input.
*/ if (hdev->type == HID_TYPE_USBMOUSE) {
buf = kmemdup(blackwidow_init, RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE, GFP_KERNEL); if (buf == NULL) return -ENOMEM;
ret = hid_hw_raw_request(hdev, 0, buf, RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE,
HID_FEATURE_REPORT, HID_REQ_SET_REPORT); if (ret != RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE)
hid_err(hdev, "failed to enable macro keys: %d\n", ret);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.