Kiibohd Controller
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

capabilities.kll 9.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. Name = ISSILedCapabilities;
  2. Version = 0.2;
  3. Author = "HaaTa (Jacob Alexander) 2015-2016";
  4. KLL = 0.3d;
  5. # Modified Date
  6. Date = 2015-10-09;
  7. # Basic ISSI Capabilities
  8. # Modes
  9. # 0: Decrease single led brightness
  10. # 1: Increase single led brightness
  11. # 2: Set single led brightness
  12. # 3: Decrease brightness of all leds
  13. # 4: Increase brightness of all leds
  14. # 5: Set brightness of all leds
  15. # Amount -> 0 -> 255
  16. # Index:
  17. # Depends on keyboard. At least from from 0 -> 143 (single chip).
  18. # Remember, it may be possible that all leds on a single chip are connected.
  19. # So it may be possible that you may have index gaps.
  20. # i.e. 23 then 144
  21. ledControl => LED_control_capability( mode : 1, amount : 1, index : 2 );
  22. # Defines available to the ISSILed sub-module
  23. # Driver Chip
  24. # Selects which driver chip being used
  25. # Set to 1 to enable
  26. # Valid Chips
  27. # 31FL3731 - http://www.issi.com/WW/pdf/31FL3731.pdf (31FL3731C has the same datasheet)
  28. # 31FL3732 - http://www.issi.com/WW/pdf/31FL3732.pdf
  29. ISSI_Chip_31FL3731 => ISSI_Chip_31FL3731_define;
  30. ISSI_Chip_31FL3732 => ISSI_Chip_31FL3732_define;
  31. ISSI_Chip_31FL3731 = 0;
  32. ISSI_Chip_31FL3732 = 0;
  33. # Global Brightness
  34. # 31FL3732 only
  35. # 0 to 0xFF (255)
  36. # See datasheet for current calculation, depends on Rext
  37. ISSI_Global_Brightness => ISSI_Global_Brightness_define;
  38. ISSI_Global_Brightness = 0xFF;
  39. # Available ISSI Chips
  40. ISSI_Chips => ISSI_Chips_define;
  41. ISSI_Chips = 1; # 1 by default
  42. # I2C Buses
  43. ISSI_I2C_Buses => ISSI_I2C_Buses_define;
  44. ISSI_I2C_Buses = 1; # 1 by default
  45. # Default animation speed
  46. # Can be set from 0 to 63 (A)
  47. # Formula is TxA (T is approx 11ms)
  48. # 0 - 1.4 fps (represents 64)
  49. # 1 - 90 fps
  50. # 2 - 45 fps
  51. # 3 - 30 fps
  52. # 4 - 22 fps
  53. # etc.
  54. # For a 400 kHz I2C, with a single chip, updating all 144 channels, generally 30 fps is the max for continuous animations
  55. # Each additional chip consumes more bandwidth
  56. # 20 - 4.5 fps - Slow, but should always work without glitches
  57. # See chip datasheet (above) for details
  58. ISSI_AnimationSpeed => ISSI_AnimationSpeed_define;
  59. ISSI_AnimationSpeed = 4; # 20 by default
  60. # LED Default Enable Mask
  61. #
  62. # By default, all LEDs are enabled
  63. # However, this may cause issuse with some led matrices, so it is recommended to disable unused positions
  64. # Each LED is represented by a single bit
  65. # See (http://www.issi.com/WW/pdf/31FL3731C.pdf) for details
  66. ISSILedMask1 => ISSILedMask1_define;
  67. ISSILedMask1 = "
  68. 0xFF, 0xFF, /* C1-1 -> C1-16 */
  69. 0xFF, 0xFF, /* C2-1 -> C2-16 */
  70. 0xFF, 0xFF, /* C3-1 -> C3-16 */
  71. 0xFF, 0xFF, /* C4-1 -> C4-16 */
  72. 0xFF, 0xFF, /* C5-1 -> C5-16 */
  73. 0xFF, 0xFF, /* C6-1 -> C6-16 */
  74. 0xFF, 0xFF, /* C7-1 -> C7-16 */
  75. 0xFF, 0xFF, /* C8-1 -> C8-16 */
  76. 0xFF, 0xFF, /* C9-1 -> C9-16 */
  77. ";
  78. ISSILedMask2 => ISSILedMask2_define;
  79. ISSILedMask2 = "
  80. 0xFF, 0xFF, /* C1-1 -> C1-16 */
  81. 0xFF, 0xFF, /* C2-1 -> C2-16 */
  82. 0xFF, 0xFF, /* C3-1 -> C3-16 */
  83. 0xFF, 0xFF, /* C4-1 -> C4-16 */
  84. 0xFF, 0xFF, /* C5-1 -> C5-16 */
  85. 0xFF, 0xFF, /* C6-1 -> C6-16 */
  86. 0xFF, 0xFF, /* C7-1 -> C7-16 */
  87. 0xFF, 0xFF, /* C8-1 -> C8-16 */
  88. 0xFF, 0xFF, /* C9-1 -> C9-16 */
  89. ";
  90. ISSILedMask3 => ISSILedMask3_define;
  91. ISSILedMask3 = "
  92. 0xFF, 0xFF, /* C1-1 -> C1-16 */
  93. 0xFF, 0xFF, /* C2-1 -> C2-16 */
  94. 0xFF, 0xFF, /* C3-1 -> C3-16 */
  95. 0xFF, 0xFF, /* C4-1 -> C4-16 */
  96. 0xFF, 0xFF, /* C5-1 -> C5-16 */
  97. 0xFF, 0xFF, /* C6-1 -> C6-16 */
  98. 0xFF, 0xFF, /* C7-1 -> C7-16 */
  99. 0xFF, 0xFF, /* C8-1 -> C8-16 */
  100. 0xFF, 0xFF, /* C9-1 -> C9-16 */
  101. ";
  102. ISSILedMask4 => ISSILedMask4_define;
  103. ISSILedMask4 = "
  104. 0xFF, 0xFF, /* C1-1 -> C1-16 */
  105. 0xFF, 0xFF, /* C2-1 -> C2-16 */
  106. 0xFF, 0xFF, /* C3-1 -> C3-16 */
  107. 0xFF, 0xFF, /* C4-1 -> C4-16 */
  108. 0xFF, 0xFF, /* C5-1 -> C5-16 */
  109. 0xFF, 0xFF, /* C6-1 -> C6-16 */
  110. 0xFF, 0xFF, /* C7-1 -> C7-16 */
  111. 0xFF, 0xFF, /* C8-1 -> C8-16 */
  112. 0xFF, 0xFF, /* C9-1 -> C9-16 */
  113. ";
  114. # LED Default Brightness
  115. #
  116. # By default, all LEDs are set to max brightness
  117. # Each LED channel supports 256 levels (8-bit control)
  118. ISSILedBrightness1 => ISSILedBrightness1_define;
  119. ISSILedBrightness1 = "
  120. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C1-1 -> C1-16 */
  121. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C2-1 -> C2-16 */
  122. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C3-1 -> C3-16 */
  123. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C4-1 -> C4-16 */
  124. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C5-1 -> C5-16 */
  125. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C6-1 -> C6-16 */
  126. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C7-1 -> C7-16 */
  127. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C8-1 -> C8-16 */
  128. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C9-1 -> C9-16 */
  129. ";
  130. ISSILedBrightness2 => ISSILedBrightness2_define;
  131. ISSILedBrightness2 = "
  132. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C1-1 -> C1-16 */
  133. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C2-1 -> C2-16 */
  134. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C3-1 -> C3-16 */
  135. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C4-1 -> C4-16 */
  136. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C5-1 -> C5-16 */
  137. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C6-1 -> C6-16 */
  138. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C7-1 -> C7-16 */
  139. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C8-1 -> C8-16 */
  140. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C9-1 -> C9-16 */
  141. ";
  142. ISSILedBrightness3 => ISSILedBrightness3_define;
  143. ISSILedBrightness3 = "
  144. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C1-1 -> C1-16 */
  145. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C2-1 -> C2-16 */
  146. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C3-1 -> C3-16 */
  147. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C4-1 -> C4-16 */
  148. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C5-1 -> C5-16 */
  149. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C6-1 -> C6-16 */
  150. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C7-1 -> C7-16 */
  151. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C8-1 -> C8-16 */
  152. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C9-1 -> C9-16 */
  153. ";
  154. ISSILedBrightness4 => ISSILedBrightness4_define;
  155. ISSILedBrightness4 = "
  156. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C1-1 -> C1-16 */
  157. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C2-1 -> C2-16 */
  158. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C3-1 -> C3-16 */
  159. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C4-1 -> C4-16 */
  160. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C5-1 -> C5-16 */
  161. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C6-1 -> C6-16 */
  162. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C7-1 -> C7-16 */
  163. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C8-1 -> C8-16 */
  164. 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* C9-1 -> C9-16 */
  165. ";
  166. # Example starting from 0 brightness to 0x8F
  167. ISSILedBrightness_example = "
  168. 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, /* C1-1 -> C1-16 */
  169. 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, /* C2-1 -> C2-16 */
  170. 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, /* C3-1 -> C3-16 */
  171. 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, /* C4-1 -> C4-16 */
  172. 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, /* C5-1 -> C5-16 */
  173. 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, /* C6-1 -> C6-16 */
  174. 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, /* C7-1 -> C7-16 */
  175. 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, /* C8-1 -> C8-16 */
  176. 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* C9-1 -> C9-16 */
  177. ";