info_config.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. # This file maps keys between `config.h` and `info.json`. It is used by QMK
  2. # to correctly and consistently map back and forth between the two systems.
  3. {
  4. # Format:
  5. # <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
  6. # value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw"
  7. # to_json: Default `true`. Set to `false` to exclude this mapping from info.json
  8. # to_c: Default `true`. Set to `false` to exclude this mapping from config.h
  9. # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
  10. # deprecated: Default `false`. Set to `true` to turn on warning when a value exists
  11. # invalid: Default `false`. Set to `true` to generate errors when a value exists
  12. # replace_with: use with a key marked deprecated or invalid to designate a replacement
  13. "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
  14. "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
  15. "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
  16. "BACKLIGHT_LEVELS": {"info_key": "backlight.levels", "value_type": "int"},
  17. "BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
  18. "BACKLIGHT_PIN": {"info_key": "backlight.pin"},
  19. "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
  20. "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
  21. "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
  22. "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
  23. "DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
  24. "DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"},
  25. "DIODE_DIRECTION": {"info_key": "diode_direction"},
  26. "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
  27. "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
  28. "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
  29. "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
  30. "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
  31. "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
  32. "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"},
  33. "HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "bool"},
  34. "LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
  35. "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
  36. "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
  37. "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
  38. "LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
  39. "LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
  40. "LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"},
  41. "LED_COMPOSE_PIN": {"info_key": "indicators.compose"},
  42. "LED_KANA_PIN": {"info_key": "indicators.kana"},
  43. "LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
  44. "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"},
  45. "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"},
  46. "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
  47. "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"},
  48. "LED_MATRIX_HUE_STEP": {"info_key": "led_matrix.hue_steps", "value_type": "int"},
  49. "LED_MATRIX_SAT_STEP": {"info_key": "led_matrix.sat_steps", "value_type": "int"},
  50. "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"},
  51. "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
  52. "MANUFACTURER": {"info_key": "manufacturer", "value_type": "str"},
  53. "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
  54. "MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
  55. "MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
  56. "MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
  57. "MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"},
  58. "MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"},
  59. "MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"},
  60. "ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"},
  61. "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
  62. "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
  63. "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
  64. "PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"},
  65. "PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
  66. "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
  67. "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
  68. "RGB_DI_PIN": {"info_key": "rgblight.pin"},
  69. "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
  70. "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
  71. "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
  72. "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
  73. "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
  74. "RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
  75. "RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
  76. "RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
  77. "RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
  78. "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
  79. "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
  80. "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
  81. "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"},
  82. "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"},
  83. "RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"},
  84. "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"},
  85. "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"},
  86. "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"},
  87. "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"},
  88. "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"},
  89. "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
  90. "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str"},
  91. "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"},
  92. "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
  93. "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
  94. "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
  95. "QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
  96. "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
  97. "SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false},
  98. "SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
  99. "SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
  100. "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
  101. "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"},
  102. "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"},
  103. "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
  104. "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
  105. "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
  106. "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"},
  107. "SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"},
  108. "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
  109. "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
  110. "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
  111. "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
  112. "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
  113. "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
  114. "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
  115. "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
  116. "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
  117. "USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
  118. "USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
  119. "USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
  120. # Items we want flagged in lint
  121. "NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
  122. "NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
  123. "DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
  124. "DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"},
  125. "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
  126. "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
  127. "RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true},
  128. "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}
  129. }