mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-09-13 05:39:07 -04:00
472 lines
32 KiB
C
472 lines
32 KiB
C
/*---------------------------------------------------------*\
|
|
| QMKKeychronController_Devices.h |
|
|
| |
|
|
| Keychron device IDs and matrix correction data |
|
|
| |
|
|
| Generated from canonical PID/name inventory and |
|
|
| hand-corrected raw-to-display matrix layout data. |
|
|
| |
|
|
| This file is part of the OpenRGB project |
|
|
| SPDX-License-Identifier: GPL-2.0-or-later |
|
|
\*---------------------------------------------------------*/
|
|
|
|
#pragma once
|
|
|
|
/*---------------------------------------------------------*\
|
|
| Keychron product IDs |
|
|
\*---------------------------------------------------------*/
|
|
#define KEYCHRON_Q1V2_ANSI_0106_PID 0x0106
|
|
#define KEYCHRON_Q1V2_ANSI_0107_PID 0x0107
|
|
#define KEYCHRON_Q1V2_ISO_0108_PID 0x0108
|
|
#define KEYCHRON_Q1V2_ISO_0109_PID 0x0109
|
|
#define KEYCHRON_Q1V2_JIS_010A_PID 0x010A
|
|
#define KEYCHRON_Q1V2_JIS_010B_PID 0x010B
|
|
#define KEYCHRON_Q2_ANSI_0110_PID 0x0110
|
|
#define KEYCHRON_Q2_ANSI_0111_PID 0x0111
|
|
#define KEYCHRON_Q2_ISO_0112_PID 0x0112
|
|
#define KEYCHRON_Q2_ISO_0113_PID 0x0113
|
|
#define KEYCHRON_Q3_ANSI_0120_PID 0x0120
|
|
#define KEYCHRON_Q3_ANSI_0121_PID 0x0121
|
|
#define KEYCHRON_Q3_ISO_0122_PID 0x0122
|
|
#define KEYCHRON_Q3_ISO_0123_PID 0x0123
|
|
#define KEYCHRON_Q0_PID 0x0130
|
|
#define KEYCHRON_Q0_PLUS_PID 0x0131
|
|
#define KEYCHRON_Q4_ANSI_PID 0x0140
|
|
#define KEYCHRON_Q4_ISO_PID 0x0142
|
|
#define KEYCHRON_Q5_ANSI_0150_PID 0x0150
|
|
#define KEYCHRON_Q5_ANSI_0151_PID 0x0151
|
|
#define KEYCHRON_Q5_ISO_0152_PID 0x0152
|
|
#define KEYCHRON_Q5_ISO_0153_PID 0x0153
|
|
#define KEYCHRON_Q6_ANSI_0160_PID 0x0160
|
|
#define KEYCHRON_Q6_ANSI_0161_PID 0x0161
|
|
#define KEYCHRON_Q6_ISO_PID 0x0162
|
|
#define KEYCHRON_Q6_ANSI_0163_PID 0x0163
|
|
#define KEYCHRON_Q7_ANSI_PID 0x0170
|
|
#define KEYCHRON_Q7_ISO_PID 0x0172
|
|
#define KEYCHRON_Q8_ANSI_0180_PID 0x0180
|
|
#define KEYCHRON_Q8_ANSI_0181_PID 0x0181
|
|
#define KEYCHRON_Q8_ISO_0182_PID 0x0182
|
|
#define KEYCHRON_Q8_ISO_0183_PID 0x0183
|
|
#define KEYCHRON_Q10_ANSI_PID 0x01A1
|
|
#define KEYCHRON_Q10_ISO_PID 0x01A3
|
|
#define KEYCHRON_Q65_ANSI_PID 0x01B1
|
|
#define KEYCHRON_Q60_ANSI_PID 0x01C0
|
|
#define KEYCHRON_Q12_ANSI_PID 0x01D1
|
|
#define KEYCHRON_Q12_ISO_PID 0x01D3
|
|
#define KEYCHRON_K1_PRO_ISO_RGB_PID 0x0211
|
|
#define KEYCHRON_K2_PRO_RGB_PID 0x0220
|
|
#define KEYCHRON_K3_PRO_0230_PID 0x0230
|
|
#define KEYCHRON_K3_PRO_0231_PID 0x0231
|
|
#define KEYCHRON_K4_PRO_ANSI_RGB_PID 0x0240
|
|
#define KEYCHRON_K5_PRO_ANSI_RGB_PID 0x0250
|
|
#define KEYCHRON_K5_PRO_ISO_RGB_PID 0x0251
|
|
#define KEYCHRON_K6_PRO_RGB_PID 0x0260
|
|
#define KEYCHRON_K6_PRO_ISO_RGB_PID 0x0261
|
|
#define KEYCHRON_K7_PRO_RGB_PID 0x0270
|
|
#define KEYCHRON_K7_PRO_ISO_RGB_PID 0x0271
|
|
#define KEYCHRON_K8_PRO_RGB_PID 0x0280
|
|
#define KEYCHRON_K8_PRO_JIS_RGB_PID 0x0282
|
|
#define KEYCHRON_K10_PRO_ANSI_RGB_PID 0x02A0
|
|
#define KEYCHRON_K10_PRO_ISO_RGB_PID 0x02A1
|
|
#define KEYCHRON_K10_PRO_JIS_RGB_PID 0x02A2
|
|
#define KEYCHRON_V1_ANSI_0310_PID 0x0310
|
|
#define KEYCHRON_V1_ANSI_0311_PID 0x0311
|
|
#define KEYCHRON_V1_ISO_0312_PID 0x0312
|
|
#define KEYCHRON_V1_ISO_0313_PID 0x0313
|
|
#define KEYCHRON_V1_BR_PID 0x0317
|
|
#define KEYCHRON_V2_ANSI_0320_PID 0x0320
|
|
#define KEYCHRON_V2_ANSI_0321_PID 0x0321
|
|
#define KEYCHRON_V2_ISO_PID 0x0323
|
|
#define KEYCHRON_V2_BR_PID 0x0327
|
|
#define KEYCHRON_V3_ANSI_0330_PID 0x0330
|
|
#define KEYCHRON_V3_ANSI_0331_PID 0x0331
|
|
#define KEYCHRON_V3_ISO_0332_PID 0x0332
|
|
#define KEYCHRON_V3_ISO_0333_PID 0x0333
|
|
#define KEYCHRON_V3_BR_PID 0x0337
|
|
#define KEYCHRON_V4_ANSI_PID 0x0340
|
|
#define KEYCHRON_V4_ISO_PID 0x0342
|
|
#define KEYCHRON_V5_ANSI_0350_PID 0x0350
|
|
#define KEYCHRON_V5_ANSI_0351_PID 0x0351
|
|
#define KEYCHRON_V5_ISO_0352_PID 0x0352
|
|
#define KEYCHRON_V5_ISO_0353_PID 0x0353
|
|
#define KEYCHRON_V6_ANSI_0360_PID 0x0360
|
|
#define KEYCHRON_V6_ANSI_0361_PID 0x0361
|
|
#define KEYCHRON_V6_ISO_0362_PID 0x0362
|
|
#define KEYCHRON_V6_ISO_0363_PID 0x0363
|
|
#define KEYCHRON_V6_BR_PID 0x0367
|
|
#define KEYCHRON_V7_ANSI_PID 0x0370
|
|
#define KEYCHRON_V7_ISO_PID 0x0372
|
|
#define KEYCHRON_V8_ANSI_PID 0x0381
|
|
#define KEYCHRON_V10_ANSI_PID 0x03A1
|
|
#define KEYCHRON_V10_ISO_PID 0x03A3
|
|
#define KEYCHRON_P1_HE_DAYZ_PID 0x0402
|
|
#define KEYCHRON_P1_HE_DAYZ_ISO_PID 0x0403
|
|
#define KEYCHRON_J1_PID 0x0405
|
|
#define KEYCHRON_J2_PID 0x0406
|
|
#define KEYCHRON_J4_PID 0x0408
|
|
#define KEYCHRON_J5_PID 0x0409
|
|
#define KEYCHRON_Z6_ULTRA_PID 0x040A
|
|
#define KEYCHRON_J3_HE_ANSI_PID 0x040C
|
|
#define KEYCHRON_P6_ULTRA_8K_PID 0x040D
|
|
#define KEYCHRON_J9_PID 0x0412
|
|
#define KEYCHRON_J9_ISO_PID 0x0413
|
|
#define KEYCHRON_J9_JIS_PID 0x0414
|
|
#define KEYCHRON_J2_HE_8K_ANSI_PID 0x0416
|
|
#define KEYCHRON_J8_HE_8K_ANSI_PID 0x0417
|
|
#define KEYCHRON_J8_HE_8K_ISO_PID 0x0418
|
|
#define KEYCHRON_J8_HE_8K_JIS_PID 0x0419
|
|
#define KEYCHRON_KEYCHERON_J7_PID 0x041A
|
|
#define KEYCHRON_J14_HE_PID 0x041B
|
|
#define KEYCHRON_J12_HE_PID 0x041C
|
|
#define KEYCHRON_Z6_75_ULTRA_8K_RGB_PID 0x041D
|
|
#define KEYCHRON_J5_HE_ANSI_PID 0x041E
|
|
#define KEYCHRON_J4_HE_ANSI_PID 0x041F
|
|
#define KEYCHRON_P6_ULTRA_8K_ISO_PID 0x0420
|
|
#define KEYCHRON_J15_HE_RGB_PID 0x0429
|
|
#define KEYCHRON_X3_ANSI_RGB_PID 0x042A
|
|
#define KEYCHRON_J9_ULTRA_8K_ANSI_PID 0x042B
|
|
#define KEYCHRON_J3_SE_PID 0x042D
|
|
#define KEYCHRON_Z5_98_ULTRA_8K_ANSI_PID 0x042E
|
|
#define KEYCHRON_V1_HE_ANSI_PID 0x042F
|
|
#define KEYCHRON_C3_PRO_8K_ANSI_0437_PID 0x0437
|
|
#define KEYCHRON_C3_MAX_ANSI_PID 0x043A
|
|
#define KEYCHRON_V6_HE_ANSI_PID 0x0441
|
|
#define KEYCHRON_Z11_ULTRA_L_PID 0x0442
|
|
#define KEYCHRON_Z11_ULTRA_R_PID 0x0443
|
|
#define KEYCHRON_J5_TMR_ANSI_0445_PID 0x0445
|
|
#define KEYCHRON_J5_HE_8K_ISO_PID 0x0446
|
|
#define KEYCHRON_J2_ULTRA_8K_ANSI_PID 0x0447
|
|
#define KEYCHRON_J5_ULTRA_8K_PID 0x0448
|
|
#define KEYCHRON_J2_TMR_PID 0x0449
|
|
#define KEYCHRON_J5_TMR_ANSI_044B_PID 0x044B
|
|
#define KEYCHRON_J11_ULTRA_8K_044C_PID 0x044C
|
|
#define KEYCHRON_Z5_75_ULTRA_8K_ANSI_PID 0x044D
|
|
#define KEYCHRON_J3_ULTRA_8K_ANSI_PID 0x044E
|
|
#define KEYCHRON_J11_ULTRA_8K_044F_PID 0x044F
|
|
#define KEYCHRON_J10_ULTRA_8K_ANSI_0451_PID 0x0451
|
|
#define KEYCHRON_J10_ULTRA_8K_ANSI_0452_PID 0x0452
|
|
#define KEYCHRON_J5_ANSI_PID 0x0453
|
|
#define KEYCHRON_J2_ANSI_PID 0x0456
|
|
#define KEYCHRON_J4_ANSI_RGB_PID 0x0457
|
|
#define KEYCHRON_J6_ANSI_PID 0x0458
|
|
#define KEYCHRON_EX75_HE_8K_ANSI_PID 0x045A
|
|
#define KEYCHRON_EX67_HE_8K_ANSI_PID 0x045B
|
|
#define KEYCHRON_EX99_HE_8K_ANSI_PID 0x045C
|
|
#define KEYCHRON_KEYCHROON_J3_TMR_045E_PID 0x045E
|
|
#define KEYCHRON_KEYCHROON_J3_TMR_045F_PID 0x045F
|
|
#define KEYCHRON_C75_TMR_8K_JIS_PID 0x0460
|
|
#define KEYCHRON_J6_ULTRA_8K_ANSI_PID 0x0461
|
|
#define KEYCHRON_Z6_87_ULTRA_8K_PID 0x0462
|
|
#define KEYCHRON_CM2_H1_ANSI_PID 0x0463
|
|
#define KEYCHRON_F4_HE_8K_PID 0x0464
|
|
#define KEYCHRON_J6_FULL_SIZE_8K_PID 0x0467
|
|
#define KEYCHRON_J2_TKL_8K_PID 0x0468
|
|
#define KEYCHRON_J5_ULTRA_8K_ISO_PID 0x0469
|
|
#define KEYCHRON_J8_PID 0x046B
|
|
#define KEYCHRON_F4_PRO_8K_PID 0x046C
|
|
#define KEYCHRON_CARBON_68_HE_8K_PID 0x0472
|
|
#define KEYCHRON_F6_HE_8K_PID 0x0476
|
|
#define KEYCHRON_J6_FULL_SIZE_8K_ISO_PID 0x0478
|
|
#define KEYCHRON_Z7_MAX_ANSI_RGB_PID 0x0479
|
|
#define KEYCHRON_C1_PRO_8K_ISO_RGB_PID 0x051D
|
|
#define KEYCHRON_C1_PRO_8K_JIS_RGB_PID 0x051E
|
|
#define KEYCHRON_C1_PRO_8K_ANSI_RGB_PID 0x0521
|
|
#define KEYCHRON_C2_PRO_8K_ANSI_RGB_PID 0x0522
|
|
#define KEYCHRON_C2_PRO_8K_ISO_RGB_PID 0x052D
|
|
#define KEYCHRON_C3_PRO_8K_ANSI_0530_PID 0x0530
|
|
#define KEYCHRON_C3_PRO_8K_ISO_RGB_PID 0x0531
|
|
#define KEYCHRON_C3_PRO_8K_JIS_PID 0x0532
|
|
#define KEYCHRON_C3_PRO_8K_ABTN2_PID 0x0536
|
|
#define KEYCHRON_C4_PRO_JIS_RGB_PID 0x0542
|
|
#define KEYCHRON_Q1_PRO_ANSI_PID 0x0610
|
|
#define KEYCHRON_Q1_PRO_ISO_PID 0x0611
|
|
#define KEYCHRON_Q2_PRO_ANSI_PID 0x0620
|
|
#define KEYCHRON_Q2_PRO_ISO_PID 0x0621
|
|
#define KEYCHRON_Q3_PRO_PID 0x0630
|
|
#define KEYCHRON_Q3_PRO_ANSI_PID 0x0633
|
|
#define KEYCHRON_Q3_PRO_ISO_PID 0x0634
|
|
#define KEYCHRON_Q4_PRO_ANSI_RGB_PID 0x0640
|
|
#define KEYCHRON_Q5_PRO_ANSI_PID 0x0650
|
|
#define KEYCHRON_Q5_PRO_ISO_PID 0x0651
|
|
#define KEYCHRON_Q6_PRO_ANSI_PID 0x0660
|
|
#define KEYCHRON_Q6_PRO_ISO_PID 0x0661
|
|
#define KEYCHRON_Q8_PRO_ANSI_PID 0x0680
|
|
#define KEYCHRON_Q10_PRO_ANSI_PID 0x06A0
|
|
#define KEYCHRON_Q0_MAX_PID 0x0800
|
|
#define KEYCHRON_Q1_MAX_ANSI_PID 0x0810
|
|
#define KEYCHRON_Q1_MAX_ISO_PID 0x0811
|
|
#define KEYCHRON_Q1_MAX_JIS_PID 0x0812
|
|
#define KEYCHRON_Q2_MAX_ANSI_PID 0x0820
|
|
#define KEYCHRON_Q2_MAX_ISO_PID 0x0821
|
|
#define KEYCHRON_Q3_MAX_ANSI_PID 0x0830
|
|
#define KEYCHRON_Q3_MAX_ISO_PID 0x0831
|
|
#define KEYCHRON_Q5_MAX_ANSI_PID 0x0850
|
|
#define KEYCHRON_Q5_MAX_ISO_PID 0x0851
|
|
#define KEYCHRON_Q5_MAX_JIS_PID 0x0852
|
|
#define KEYCHRON_Q6_MAX_ANSI_PID 0x0860
|
|
#define KEYCHRON_Q6_MAX_ISO_PID 0x0861
|
|
#define KEYCHRON_Q8_MAX_ANSI_PID 0x0880
|
|
#define KEYCHRON_Q10_MAX_ANSI_PID 0x08A0
|
|
#define KEYCHRON_Q10_MAX_ISO_PID 0x08A1
|
|
#define KEYCHRON_Q65_MAX_ANSI_PID 0x08B0
|
|
#define KEYCHRON_Q11_ULTRA_8K_R_PID 0x08BA
|
|
#define KEYCHRON_Q60_MAX_PID 0x08C0
|
|
#define KEYCHRON_Q12_MAX_ANSI_PID 0x08C3
|
|
#define KEYCHRON_Q12_MAX_ISO_PID 0x08C4
|
|
#define KEYCHRON_Q13_MAX_ANSI_PID 0x08D0
|
|
#define KEYCHRON_Q13_MAX_JIS_PID 0x08D2
|
|
#define KEYCHRON_Q14_MAX_ANSI_PID 0x08E0
|
|
#define KEYCHRON_Q15_MAX_ANSI_PID 0x08F0
|
|
#define KEYCHRON_V1_MAX_ANSI_PID 0x0913
|
|
#define KEYCHRON_V2_ULTRA_ISO_PID 0x0914
|
|
#define KEYCHRON_V1_MAX_JIS_PID 0x0915
|
|
#define KEYCHRON_V2_MAX_ANSI_PID 0x0920
|
|
#define KEYCHRON_V2_MAX_ISO_PID 0x0921
|
|
#define KEYCHRON_V2_MAX_JIS_PID 0x0922
|
|
#define KEYCHRON_V3_MAX_ANSI_PID 0x0933
|
|
#define KEYCHRON_V3_MAX_ISO_PID 0x0934
|
|
#define KEYCHRON_V3_MAX_JIS_PID 0x0935
|
|
#define KEYCHRON_V4_MAX_ANSI_PID 0x0940
|
|
#define KEYCHRON_V5_MAX_ANSI_PID 0x0950
|
|
#define KEYCHRON_V5_MAX_ISO_PID 0x0951
|
|
#define KEYCHRON_V5_MAX_JIS_PID 0x0952
|
|
#define KEYCHRON_V6_MAX_ANSI_PID 0x0960
|
|
#define KEYCHRON_V6_MAX_ISO_PID 0x0961
|
|
#define KEYCHRON_V6_MAX_JIS_PID 0x0962
|
|
#define KEYCHRON_V8_MAX_ANSI_PID 0x0980
|
|
#define KEYCHRON_V10_MAX_ANSI_PID 0x09A0
|
|
#define KEYCHRON_V10_MAX_ISO_PID 0x09A1
|
|
#define KEYCHRON_K17_MAX_ANSI_RGB_PID 0x0A00
|
|
#define KEYCHRON_K17_MAX_ISO_RGB_PID 0x0A01
|
|
#define KEYCHRON_K0_MAX_RGB_PID 0x0A06
|
|
#define KEYCHRON_K17_MAX_JIS_RGB_PID 0x0A07
|
|
#define KEYCHRON_K0_MAX_PID 0x0A09
|
|
#define KEYCHRON_K1_MAX_ANSI_RGB_PID 0x0A10
|
|
#define KEYCHRON_K1_MAX_ISO_RGB_PID 0x0A11
|
|
#define KEYCHRON_K1_MAX_JIS_RGB_0A12_PID 0x0A12
|
|
#define KEYCHRON_K1_MAX_JIS_RGB_0A16_PID 0x0A16
|
|
#define KEYCHRON_K2_MAX_ANSI_RGB_PID 0x0A20
|
|
#define KEYCHRON_K2_MAX_ISO_RGB_PID 0x0A21
|
|
#define KEYCHRON_K2_MAX_JIS_RGB_PID 0x0A22
|
|
#define KEYCHRON_K3_MAX_ANSI_RGB_0A30_PID 0x0A30
|
|
#define KEYCHRON_K3_MAX_ISO_RGB_PID 0x0A31
|
|
#define KEYCHRON_K3_MAX_JIS_RGB_0A32_PID 0x0A32
|
|
#define KEYCHRON_K3_MAX_JIS_RGB_0A39_PID 0x0A39
|
|
#define KEYCHRON_K3_MAX_JIS_RGB_0A3B_PID 0x0A3B
|
|
#define KEYCHRON_K3_MAX_ANSI_RGB_0A3F_PID 0x0A3F
|
|
#define KEYCHRON_K4_MAX_ANSI_RGB_PID 0x0A40
|
|
#define KEYCHRON_K4_MAX_ISO_RGB_PID 0x0A41
|
|
#define KEYCHRON_K4_MAX_JIS_RGB_PID 0x0A42
|
|
#define KEYCHRON_K5_MAX_ANSI_RGB_PID 0x0A50
|
|
#define KEYCHRON_K5_MAX_ISO_RGB_PID 0x0A51
|
|
#define KEYCHRON_K5_MAX_JIS_RGB_0A52_PID 0x0A52
|
|
#define KEYCHRON_K5_MAX_JIS_RGB_0A58_PID 0x0A58
|
|
#define KEYCHRON_K7_MAX_ANSI_RGB_PID 0x0A70
|
|
#define KEYCHRON_K7_MAX_ISO_RGB_PID 0x0A71
|
|
#define KEYCHRON_K7_MAX_V2_JIS_RGB_PID 0x0A76
|
|
#define KEYCHRON_K8_MAX_ANSI_RGB_PID 0x0A80
|
|
#define KEYCHRON_K8_MAX_ISO_RGB_PID 0x0A81
|
|
#define KEYCHRON_K9_MAX_ANSI_RGB_PID 0x0A90
|
|
#define KEYCHRON_K10_MAX_ANSI_RGB_PID 0x0AA0
|
|
#define KEYCHRON_K10_MAX_ISO_RGB_PID 0x0AA1
|
|
#define KEYCHRON_K10_MAX_JIS_RGB_PID 0x0AA2
|
|
#define KEYCHRON_K10_MAX_US_V2_RGB_PID 0x0AAC
|
|
#define KEYCHRON_K11_MAX_ANSI_RGB_PID 0x0AB3
|
|
#define KEYCHRON_K11_MAX_ISO_RGB_PID 0x0AB4
|
|
#define KEYCHRON_K11_MAX_JIS_RGB_PID 0x0AB5
|
|
#define KEYCHRON_K13_MAX_ANSI_RGB_PID 0x0AD0
|
|
#define KEYCHRON_K13_MAX_ISO_RGB_PID 0x0AD1
|
|
#define KEYCHRON_K13_MAX_JIS_RGB_PID 0x0AD2
|
|
#define KEYCHRON_K15_MAX_ANSI_RGB_PID 0x0AF0
|
|
#define KEYCHRON_K15_MAX_ISO_RGB_PID 0x0AF1
|
|
#define KEYCHRON_K15_MAX_JIS_RGB_PID 0x0AF2
|
|
#define KEYCHRON_Q0_HE_PID 0x0B00
|
|
#define KEYCHRON_Q1_HE_ANSI_PID 0x0B10
|
|
#define KEYCHRON_Q1_HE_ISO_PID 0x0B11
|
|
#define KEYCHRON_Q1_HE_JIS_PID 0x0B12
|
|
#define KEYCHRON_Q1_HE_PID 0x0B14
|
|
#define KEYCHRON_Q1_HE_V2_SILENT_ANSI_PID 0x0B15
|
|
#define KEYCHRON_Q2_HE_ANSI_PID 0x0B20
|
|
#define KEYCHRON_Q3_HE_ANSI_PID 0x0B30
|
|
#define KEYCHRON_Q3_HE_ISO_PID 0x0B31
|
|
#define KEYCHRON_Q3_HE_JIS_PID 0x0B32
|
|
#define KEYCHRON_Q4_HE_ANSI_PID 0x0B40
|
|
#define KEYCHRON_Q5_HE_ANSI_PID 0x0B50
|
|
#define KEYCHRON_Q5_HE_ISO_PID 0x0B51
|
|
#define KEYCHRON_Q5_HE_JIS_PID 0x0B52
|
|
#define KEYCHRON_Q6_HE_ANSI_0B60_PID 0x0B60
|
|
#define KEYCHRON_Q6_HE_ISO_PID 0x0B61
|
|
#define KEYCHRON_Q6_HE_JIS_PID 0x0B62
|
|
#define KEYCHRON_Q6_HE_ANSI_0B63_PID 0x0B63
|
|
#define KEYCHRON_Q6_HE_V2_SILENT_ANSI_PID 0x0B64
|
|
#define KEYCHRON_Q12_HE_ANSI_PID 0x0BC0
|
|
#define KEYCHRON_Q12_HE_ISO_PID 0x0BC1
|
|
#define KEYCHRON_V0_ULTRA_8K_ANSI_PID 0x0C00
|
|
#define KEYCHRON_V1_ULTRA_8K_ANSI_PID 0x0C10
|
|
#define KEYCHRON_V1_ULTRA_8K_ISO_PID 0x0C11
|
|
#define KEYCHRON_V1_ULTRA_8K_JIS_PID 0x0C12
|
|
#define KEYCHRON_V1_ULTRA_SE_ANSI_PID 0x0C13
|
|
#define KEYCHRON_V1_ULTRA_8K_PID 0x0C14
|
|
#define KEYCHRON_V2_ULTRA_8K_PID 0x0C20
|
|
#define KEYCHRON_V3_ULTRA_8K_ANSI_PID 0x0C30
|
|
#define KEYCHRON_V3_ULTRA_8K_ISO_RGB_PID 0x0C31
|
|
#define KEYCHRON_V3_ULTRA_8K_JIS_PID 0x0C32
|
|
#define KEYCHRON_V5_ULTRA_8K_ANSI_PID 0x0C50
|
|
#define KEYCHRON_V5_ULTRA_ISO_PID 0x0C51
|
|
#define KEYCHRON_V5_ULTRA_JIS_PID 0x0C52
|
|
#define KEYCHRON_V6_ULTRA_8K_ANSI_PID 0x0C60
|
|
#define KEYCHRON_V6_ULTRA_ISO_PID 0x0C61
|
|
#define KEYCHRON_V6_ULTRA_8K_JIS_PID 0x0C62
|
|
#define KEYCHRON_V6_ULTRA_SE_ANSI_PID 0x0C63
|
|
#define KEYCHRON_V10_ULTRA_8K_ANSI_PID 0x0CA0
|
|
#define KEYCHRON_K1_V6_ANSI_RGB_PID 0x0D10
|
|
#define KEYCHRON_K1_V6_ISO_RGB_PID 0x0D11
|
|
#define KEYCHRON_K1_V6_JIS_RGB_PID 0x0D12
|
|
#define KEYCHRON_K2_V3_ANSI_RGB_PID 0x0D20
|
|
#define KEYCHRON_K2_V3_ISO_RGB_PID 0x0D21
|
|
#define KEYCHRON_K2_V3_JIS_RGB_PID 0x0D22
|
|
#define KEYCHRON_K3_V3_ANSI_RGB_PID 0x0D30
|
|
#define KEYCHRON_K3_V3_ISO_RGB_PID 0x0D31
|
|
#define KEYCHRON_K3_V3_JIS_RGB_PID 0x0D32
|
|
#define KEYCHRON_K3_MAX_SE_RGB_PID 0x0D3B
|
|
#define KEYCHRON_K4_V3_ANSI_RGB_PID 0x0D40
|
|
#define KEYCHRON_K4_V3_ISO_RGB_PID 0x0D41
|
|
#define KEYCHRON_K5_V2_ANSI_RGB_PID 0x0D50
|
|
#define KEYCHRON_K5_V2_ISO_RGB_PID 0x0D51
|
|
#define KEYCHRON_K5_V2_JIS_RGB_PID 0x0D52
|
|
#define KEYCHRON_K6X_US_RGB_PID 0x0D60
|
|
#define KEYCHRON_K8_V2_ANSI_RGB_PID 0x0D80
|
|
#define KEYCHRON_K10_V2_ANSI_RGB_PID 0x0DA0
|
|
#define KEYCHRON_K2_HE_ANSI_RGB_PID 0x0E20
|
|
#define KEYCHRON_K2_HE_ISO_RGB_PID 0x0E21
|
|
#define KEYCHRON_K2_HE_JIS_RGB_PID 0x0E22
|
|
#define KEYCHRON_K2_HE_BR_RGB_PID 0x0E23
|
|
#define KEYCHRON_K2_HE_V2_SILENT_ANSI_PID 0x0E25
|
|
#define KEYCHRON_K2_HE_V2_ISO_PID 0x0E26
|
|
#define KEYCHRON_K3_HE_PID 0x0E30
|
|
#define KEYCHRON_K3_HE_ISO_PID 0x0E31
|
|
#define KEYCHRON_K3_HE_JIS_PID 0x0E32
|
|
#define KEYCHRON_K4_HE_ANSI_PID 0x0E40
|
|
#define KEYCHRON_K4_HE_ISO_PID 0x0E41
|
|
#define KEYCHRON_K4_HE_JIS_PID 0x0E42
|
|
#define KEYCHRON_K6_HE_ANSI_PID 0x0E60
|
|
#define KEYCHRON_K6_HE_ISO_RGB_PID 0x0E61
|
|
#define KEYCHRON_K8_HE_ANSI_PID 0x0E80
|
|
#define KEYCHRON_K8_HE_ISO_RGB_PID 0x0E81
|
|
#define KEYCHRON_K8_HE_JIS_PID 0x0E82
|
|
#define KEYCHRON_K10_HE_ANSI_PID 0x0EA0
|
|
#define KEYCHRON_K10_HE_ISO_0EA1_PID 0x0EA1
|
|
#define KEYCHRON_K10_HE_JIS_PID 0x0EA2
|
|
#define KEYCHRON_K10_HE_PID 0x0EA3
|
|
#define KEYCHRON_K10_HE_ISO_0EA4_PID 0x0EA4
|
|
#define KEYCHRON_K10_HE_ABNT2_PID 0x0EA5
|
|
#define KEYCHRON_K10_HE_V2_ANSI_RGB_PID 0x0EA6
|
|
#define KEYCHRON_K10_HE_V3_ANSI_RGB_PID 0x0EA7
|
|
#define KEYCHRON_V1_8K_ANSI_PID 0x0F10
|
|
#define KEYCHRON_V1_8K_ISO_PID 0x0F11
|
|
#define KEYCHRON_V3_8K_ANSI_PID 0x0F30
|
|
#define KEYCHRON_V3_8K_ISO_PID 0x0F31
|
|
#define KEYCHRON_V5_8K_ANSI_0F50_PID 0x0F50
|
|
#define KEYCHRON_V5_8K_ISO_PID 0x0F51
|
|
#define KEYCHRON_V5_8K_ANSI_0F53_PID 0x0F53
|
|
#define KEYCHRON_V6_8K_ANSI_PID 0x0F60
|
|
#define KEYCHRON_V6_8K_ISO_PID 0x0F61
|
|
#define KEYCHRON_Q19_HE_8K_PID 0x1005
|
|
#define KEYCHRON_Q1_HE_8K_ANSI_1010_PID 0x1010
|
|
#define KEYCHRON_Q1_HE_8K_ISO_RGB_PID 0x1011
|
|
#define KEYCHRON_Q1_HE_8K_JIS_PID 0x1012
|
|
#define KEYCHRON_Q1_HE_8K_ABNT2_PID 0x1013
|
|
#define KEYCHRON_Q1_HE_MARBLE_8K_ANSI_PID 0x1014
|
|
#define KEYCHRON_Q1_SE_8K_ANSI_PID 0x1015
|
|
#define KEYCHRON_Q1_HE_8K_ANSI_1016_PID 0x1016
|
|
#define KEYCHRON_Q2_HE_8K_PID 0x1020
|
|
#define KEYCHRON_Q3_HE_8K_PID 0x1030
|
|
#define KEYCHRON_Q3_HE_8K_ISO_PID 0x1031
|
|
#define KEYCHRON_Q3_HE_8K_JIS_PID 0x1032
|
|
#define KEYCHRON_Q5_HE_8K_PID 0x1050
|
|
#define KEYCHRON_Q6_HE_8K_PID 0x1060
|
|
#define KEYCHRON_Q6_HE_8K_ISO_PID 0x1061
|
|
#define KEYCHRON_Q6_HE_8K_JIS_PID 0x1062
|
|
#define KEYCHRON_Q16_HE_8K_PID 0x10F3
|
|
#define KEYCHRON_Q16_HE_8K_ISO_PID 0x10F4
|
|
#define KEYCHRON_Q1_ULTRA_8K_ANSI_1210_PID 0x1210
|
|
#define KEYCHRON_Q1_ULTRA_8K_ISO_PID 0x1211
|
|
#define KEYCHRON_Q1_ULTRA_8K_JIS_PID 0x1212
|
|
#define KEYCHRON_Q1_ULTRA_8K_ANSI_1213_PID 0x1213
|
|
#define KEYCHRON_Q3_ULTRA_8K_ANSI_PID 0x1230
|
|
#define KEYCHRON_Q3_ULTRA_8K_ISO_RGB_PID 0x1231
|
|
#define KEYCHRON_Q3_ULTRA_8K_JIS_RGB_PID 0x1232
|
|
#define KEYCHRON_Q5_ULTRA_8K_PID 0x1250
|
|
#define KEYCHRON_Q5_ULTRA_8K_ISO_PID 0x1251
|
|
#define KEYCHRON_Q5_ULTRA_8K_JIS_PID 0x1252
|
|
#define KEYCHRON_Q5_ULTRA_8K_ANSI_PID 0x1253
|
|
#define KEYCHRON_Q6_ULTRA_8K_ANSI_PID 0x1260
|
|
#define KEYCHRON_Q6_ULTRA_8K_ISO_RGB_PID 0x1261
|
|
#define KEYCHRON_Q6_ULTRA_8K_JIS_RGB_PID 0x1262
|
|
#define KEYCHRON_Q13_ULTRA_8K_RGB_PID 0x12D0
|
|
#define KEYCHRON_K6_ULTRA_ZMK_ANSI_PID 0x1360
|
|
#define KEYCHRON_K6_ULTRA_ZMK_JIS_PID 0x1362
|
|
#define KEYCHRON_K10_PRO_SS_ZMK_RGB_PID 0x13A9
|
|
#define KEYCHRON_K10_ULTRA_SE_ANSI_PID 0x13AA
|
|
#define KEYCHRON_R3_ANSI_RGB_1430_PID 0x1430
|
|
#define KEYCHRON_R3_JIS_RGB_PID 0x1432
|
|
#define KEYCHRON_R3_ANSI_RGB_1433_PID 0x1433
|
|
#define KEYCHRON_R5_ANSI_RGB_PID 0x1450
|
|
#define KEYCHRON_R6_ANSI_RGB_1460_PID 0x1460
|
|
#define KEYCHRON_R6_ANSI_RGB_1463_PID 0x1463
|
|
#define KEYCHRON_C3_HE_8K_JIS_PID 0x1532
|
|
#define KEYCHRON_C4_HE_8K_ANSI_1540_PID 0x1540
|
|
#define KEYCHRON_C4_HE_8K_ANSI_1541_PID 0x1541
|
|
#define KEYCHRON_K1_ULTRA_8K_PID 0x1610
|
|
#define KEYCHRON_K1_ULTRA_8K_ISO_RGB_PID 0x1611
|
|
#define KEYCHRON_K2_ULTRA_8K_ANSI_PID 0x1620
|
|
#define KEYCHRON_K2_ULTRA_8K_ISO_PID 0x1621
|
|
#define KEYCHRON_K2_ULTRA_8K_JIS_PID 0x1622
|
|
#define KEYCHRON_K3_ULTRA_8K_ANSI_PID 0x1630
|
|
#define KEYCHRON_K3_ULTRA_8K_ISO_PID 0x1631
|
|
#define KEYCHRON_K3_ULTRA_8K_JIS_1632_PID 0x1632
|
|
#define KEYCHRON_K3_ULTRA_8K_JIS_1634_PID 0x1634
|
|
#define KEYCHRON_K4_ULTRA_8K_RGB_PID 0x1640
|
|
#define KEYCHRON_K4_ULTRA_8K_ISO_1641_PID 0x1641
|
|
#define KEYCHRON_K4_ULTRA_8K_JIS_PID 0x1642
|
|
#define KEYCHRON_K4_ULTRA_8K_ISO_1643_PID 0x1643
|
|
#define KEYCHRON_K5_ULTRA_8K_ANSI_PID 0x1650
|
|
#define KEYCHRON_K5_ULTRA_8K_ISO_PID 0x1651
|
|
#define KEYCHRON_K5_ULTRA_8K_ABNT2_PID 0x1653
|
|
#define KEYCHRON_K8_ULTRA_8K_ANSI_PID 0x1680
|
|
#define KEYCHRON_K8_ULTRA_8K_ISO_PID 0x1681
|
|
#define KEYCHRON_K8_ULTRA_8K_JIS_PID 0x1682
|
|
#define KEYCHRON_K10_ULTRA_8K_RGB_PID 0x16A0
|
|
#define KEYCHRON_K10_ULTRA_8K_ISO_PID 0x16A1
|
|
#define KEYCHRON_K10_ULTRA_8K_JIS_PID 0x16A2
|
|
#define KEYCHRON_K10_ULTRA_8K_ISO_RGB_PID 0x16A3
|
|
#define KEYCHRON_Q12_HE_PID 0xD014
|
|
|
|
/*---------------------------------------------------------*\
|
|
| Keychron Patch Types |
|
|
| |
|
|
| source_row/source_col identify a key by the raw matrix |
|
|
| position reported by the firmware. row/col specify the |
|
|
| corrected visual matrix position used by OpenRGB. |
|
|
\*---------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
unsigned int source_row;
|
|
unsigned int source_col;
|
|
unsigned int row;
|
|
unsigned int col;
|
|
} keychron_patch_entry;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned short pid;
|
|
unsigned int num_entries;
|
|
const keychron_patch_entry* patch;
|
|
} keychron_patch;
|
|
|
|
/*---------------------------------------------------------*\
|
|
| List of Keychron matrix patches requiring correction |
|
|
\*---------------------------------------------------------*/
|
|
extern const keychron_patch* const keychron_patches[];
|
|
extern const unsigned int KEYCHRON_PATCH_COUNT;
|