diff --git a/60-openrgb.rules b/60-openrgb.rules index 5bc731f99..3e377a8f8 100644 --- a/60-openrgb.rules +++ b/60-openrgb.rules @@ -523,6 +523,7 @@ SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="025E", TAG+="uacces SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0204", TAG+="uaccess" SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0226", TAG+="uaccess" SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0227", TAG+="uaccess" +SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0257", TAG+="uaccess" #Huntsman Mini SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0243", TAG+="uaccess" SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0207", TAG+="uaccess" SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="021E", TAG+="uaccess" diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index b5e663e0e..a7dc0c109 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -117,6 +117,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_CYNOSA_V2_PID: case RAZER_HUNTSMAN_ELITE_PID: case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_MINI_PID: case RAZER_HUNTSMAN_TE_PID: case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: @@ -193,6 +194,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_GOLIATHUS_CHROMA_PID: case RAZER_HUNTSMAN_ELITE_PID: case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_MINI_PID: case RAZER_HUNTSMAN_TE_PID: case RAZER_KRAKEN_KITTY_EDITION_PID: case RAZER_LANCEHEAD_TE_WIRED_PID: @@ -436,6 +438,7 @@ bool RazerController::SupportsWave() case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_MINI_PID: case RAZER_HUNTSMAN_TE_PID: case RAZER_ORBWEAVER_CHROMA_PID: case RAZER_TARTARUS_V2_PID: diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index b46d21f3b..838977d69 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -212,6 +212,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Cynosa Lite", Det REGISTER_HID_DETECTOR_IPU("Razer Deathstalker Chroma", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_CHROMA_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Huntsman", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Huntsman Elite", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_ELITE_PID, 0x00, 0x01, 0x02); +REGISTER_HID_DETECTOR_IPU("Razer Huntsman Mini", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_MINI_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Huntsman Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_HUNTSMAN_TE_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Ornata Chroma", DetectRazerControllers, RAZER_VID, RAZER_ORNATA_CHROMA_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Ornata Chroma V2", DetectRazerControllers, RAZER_VID, RAZER_ORNATA_CHROMA_V2_PID, 0x00, 0x01, 0x02); diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 053c7e941..4ba3055ae 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -61,6 +61,7 @@ #define RAZER_DEATHSTALKER_CHROMA_PID 0x0204 #define RAZER_HUNTSMAN_ELITE_PID 0x0226 #define RAZER_HUNTSMAN_PID 0x0227 +#define RAZER_HUNTSMAN_MINI_PID 0x0257 #define RAZER_HUNTSMAN_TE_PID 0x0243 #define RAZER_ORBWEAVER_CHROMA_PID 0x0207 #define RAZER_ORNATA_CHROMA_PID 0x021E @@ -1036,6 +1037,78 @@ static const razer_key huntsman_keymap[] = { 0, 5, 20, "Key: Number Pad ." }, }; +#define HUNTSMAN_MINI_KEYMAP_SIZE (sizeof(huntsman_mini_keymap) / sizeof(huntsman_mini_keymap[0])) + +static const razer_key huntsman_mini_keymap[] = +{ + /*---------------------------------------------------------------------*\ + | Zone, Row, Column, Key | + \*---------------------------------------------------------------------*/ + { 0, 0, 1, "Key: Escape" }, + { 0, 0, 2, "Key: 1" }, + { 0, 0, 3, "Key: 2" }, + { 0, 0, 4, "Key: 3" }, + { 0, 0, 5, "Key: 4" }, + { 0, 0, 6, "Key: 5" }, + { 0, 0, 7, "Key: 6" }, + { 0, 0, 8, "Key: 7" }, + { 0, 0, 9, "Key: 8" }, + { 0, 0, 10, "Key: 9" }, + { 0, 0, 11, "Key: 0" }, + { 0, 0, 12, "Key: -" }, + { 0, 0, 13, "Key: =" }, + { 0, 0, 14, "Key: Backspace" }, + { 0, 1, 1, "Key: Tab" }, + { 0, 1, 2, "Key: Q" }, + { 0, 1, 3, "Key: W" }, + { 0, 1, 4, "Key: E" }, + { 0, 1, 5, "Key: R" }, + { 0, 1, 6, "Key: T" }, + { 0, 1, 7, "Key: Y" }, + { 0, 1, 8, "Key: U" }, + { 0, 1, 9, "Key: I" }, + { 0, 1, 10, "Key: O" }, + { 0, 1, 11, "Key: P" }, + { 0, 1, 12, "Key: [" }, + { 0, 1, 13, "Key: ]" }, + { 0, 1, 14, "Key: \\ (ANSI)" }, + { 0, 2, 1, "Key: Caps Lock" }, + { 0, 2, 2, "Key: A" }, + { 0, 2, 3, "Key: S" }, + { 0, 2, 4, "Key: D" }, + { 0, 2, 5, "Key: F" }, + { 0, 2, 6, "Key: G" }, + { 0, 2, 7, "Key: H" }, + { 0, 2, 8, "Key: J" }, + { 0, 2, 9, "Key: K" }, + { 0, 2, 10, "Key: L" }, + { 0, 2, 11, "Key: ;" }, + { 0, 2, 12, "Key: '" }, + { 0, 2, 13, "Key: #" }, + { 0, 2, 14, "Key: Enter" }, + { 0, 3, 1, "Key: Left Shift" }, + { 0, 3, 2, "Key: \\ (ISO)" }, + { 0, 3, 3, "Key: Z" }, + { 0, 3, 4, "Key: X" }, + { 0, 3, 5, "Key: C" }, + { 0, 3, 6, "Key: V" }, + { 0, 3, 7, "Key: B" }, + { 0, 3, 8, "Key: N" }, + { 0, 3, 9, "Key: M" }, + { 0, 3, 10, "Key: ," }, + { 0, 3, 11, "Key: ." }, + { 0, 3, 12, "Key: /" }, + { 0, 3, 14, "Key: Right Shift" }, + { 0, 4, 1, "Key: Left Control" }, + { 0, 4, 2, "Key: Left Windows" }, + { 0, 4, 3, "Key: Left Alt" }, + { 0, 4, 7, "Key: Space" }, + { 0, 4, 11, "Key: Right Alt" }, + { 0, 4, 12, "Key: Right Fn" }, + { 0, 4, 13, "Key: Menu" }, + { 0, 4, 14, "Key: Right Control" }, +}; + #define HUNTSMAN_TE_KEYMAP_SIZE (sizeof(huntsman_te_keymap) / sizeof(huntsman_te_keymap[0])) static const razer_key huntsman_te_keymap[] = @@ -2145,6 +2218,41 @@ static const razer_device huntsman_elite_device = HUNTSMAN_ELITE_KEYMAP_SIZE }; +/*-------------------------------------------------------------*\ +| Razer Huntsman Mini 1532:0257 | +| | +| Zone "Keyboard" | +| Matrix | +| 5 Rows, 15 Columns | +\*-------------------------------------------------------------*/ +static const razer_zone huntsman_mini_keyboard_zone = +{ + "Keyboard", + ZONE_TYPE_MATRIX, + 5, + 15 +}; + +static const razer_device huntsman_mini_device = +{ + "Razer Huntsman Mini", + RAZER_HUNTSMAN_MINI_PID, + DEVICE_TYPE_KEYBOARD, + true, + 5, + 15, + { + &huntsman_mini_keyboard_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + huntsman_mini_keymap, + HUNTSMAN_MINI_KEYMAP_SIZE +}; + /*-------------------------------------------------------------*\ | Razer Huntsman TE 1532:0243 | | | @@ -3284,6 +3392,7 @@ static const razer_device basilisk_essential_device = NULL, 0 }; + /*-------------------------------------------------------------*\ | Razer DeathAdder Chroma | | | @@ -5691,6 +5800,7 @@ static const razer_device* device_list[] = &deathstalker_chroma_device, &huntsman_device, &huntsman_elite_device, + &huntsman_mini_device, &huntsman_te_device, &ornata_chroma_device, /*-----------------------------------------------------------------*\