diff --git a/src/ckb-daemon/usb.c b/src/ckb-daemon/usb.c index becbb3db80..23af5a101d 100644 --- a/src/ckb-daemon/usb.c +++ b/src/ckb-daemon/usb.c @@ -26,7 +26,7 @@ const char* vendor_str(short vendor){ const char* product_str(short product){ if(product == P_K95 || product == P_K95_NRGB || product == P_K95_PLATINUM) return "k95"; - if(product == P_K70 || product == P_K70_NRGB || product == P_K70_LUX || product == P_K70_LUX_NRGB || product == P_K70_RFIRE) + if(product == P_K70 || product == P_K70_NRGB || product == P_K70_LUX || product == P_K70_LUX_NRGB || product == P_K70_RFIRE || product == P_K70_RFIRE_NRGB) return "k70"; if(product == P_K65 || product == P_K65_NRGB || product == P_K65_LUX || product == P_K65_RFIRE) return "k65"; diff --git a/src/ckb-daemon/usb.h b/src/ckb-daemon/usb.h index 8b9ea6556d..22bf6994d4 100644 --- a/src/ckb-daemon/usb.h +++ b/src/ckb-daemon/usb.h @@ -28,7 +28,9 @@ #define P_K70_LUX_NRGB_STR "1b36" #define P_K70_RFIRE 0x1b38 #define P_K70_RFIRE_STR "1b38" -#define IS_K70(kb) ((kb)->vendor == V_CORSAIR && ((kb)->product == P_K70 || (kb)->product == P_K70_NRGB || (kb)->product == P_K70_RFIRE || (kb)->product == P_K70_LUX || (kb)->product == P_K70_LUX_NRGB)) +#define P_K70_RFIRE_NRGB 0x1b3a +#define P_K70_RFIRE_NRGB_STR "1b3a" +#define IS_K70(kb) ((kb)->vendor == V_CORSAIR && ((kb)->product == P_K70 || (kb)->product == P_K70_NRGB || (kb)->product == P_K70_RFIRE || (kb)->product == P_K70_RFIRE_NRGB || (kb)->product == P_K70_LUX || (kb)->product == P_K70_LUX_NRGB)) #define P_K95 0x1b11 #define P_K95_STR "1b11" @@ -79,8 +81,10 @@ const char* product_str(short product); // RGB vs non-RGB test // (note: non-RGB Strafe is still considered "RGB" in that it shares the same protocol. The difference is denoted with the "monochrome" feature) + #define IS_RGB(vendor, product) ((vendor) == (V_CORSAIR) && (product) != (P_K65_NRGB) && (product) != (P_K70_NRGB) && (product) != (P_K95_NRGB)) #define IS_MONOCHROME(vendor, product) ((vendor) == (V_CORSAIR) && (product) == (P_STRAFE_NRGB)) + #define IS_RGB_DEV(kb) IS_RGB((kb)->vendor, (kb)->product) #define IS_MONOCHROME_DEV(kb) IS_MONOCHROME((kb)->vendor, (kb)->product) diff --git a/src/ckb-daemon/usb_linux.c b/src/ckb-daemon/usb_linux.c index 373e3706e7..65395dae96 100644 --- a/src/ckb-daemon/usb_linux.c +++ b/src/ckb-daemon/usb_linux.c @@ -361,6 +361,7 @@ static _model models[] = { { P_K70_LUX_STR, P_K70_LUX }, { P_K70_LUX_NRGB_STR, P_K70_LUX_NRGB }, { P_K70_RFIRE_STR, P_K70_RFIRE }, + { P_K70_RFIRE_NRGB_STR, P_K70_RFIRE_NRGB }, { P_K95_STR, P_K95 }, { P_K95_NRGB_STR, P_K95_NRGB }, { P_K95_PLATINUM_STR, P_K95_PLATINUM }, diff --git a/src/ckb-daemon/usb_mac.c b/src/ckb-daemon/usb_mac.c index 218c070d0e..b097d6461d 100644 --- a/src/ckb-daemon/usb_mac.c +++ b/src/ckb-daemon/usb_mac.c @@ -770,7 +770,7 @@ int usbmain(){ int vendor = V_CORSAIR; int products[] = { // Keyboards - P_K65, P_K65_NRGB, P_K65_LUX, P_K65_RFIRE, P_K70, P_K70_NRGB, P_K70_LUX, P_K70_LUX_NRGB, P_K70_RFIRE, P_K95, P_K95_NRGB, P_K95_PLATINUM, P_STRAFE, P_STRAFE_NRGB, + P_K65, P_K65_NRGB, P_K65_LUX, P_K65_RFIRE, P_K70, P_K70_NRGB, P_K70_LUX, P_K70_LUX_NRGB, P_K70_RFIRE, P_K70_RFIRE_NRGB, P_K95, P_K95_NRGB, P_K95_PLATINUM, P_STRAFE, P_STRAFE_NRGB, // Mice P_M65, P_M65_PRO, P_SABRE_O, P_SABRE_L, P_SABRE_N, P_SCIMITAR, P_SCIMITAR_PRO, P_SABRE_O2, P_HARPOON };