mirror of
https://github.com/openstenoproject/qmk
synced 2024-11-14 20:44:38 +00:00
08ce0142ba
* macros in json keymaps * add advanced macro support to json * add a note about escaping macro strings * add simple examples * format json * add support for language specific keymap extras * switch to dictionaries instead of inline text for macros * use SS_TAP on the innermost tap keycode * add the new macro format to the schema * document the macro limit * add the json keyword for syntax highlighting * fix format that vscode screwed up * Update feature_macros.md * add tests for macros * change ding to beep * add json support for SENDSTRING_BELL * update doc based on feedback from sigprof * document host_layout * remove unused var * improve carriage return handling * support tab characters as well * Update docs/feature_macros.md Co-authored-by: Nick Brassel <nick@tzarc.org> * escape backslash characters * format * flake8 * Update quantum/quantum_keycodes.h Co-authored-by: Nick Brassel <nick@tzarc.org>
97 lines
7.7 KiB
JSON
97 lines
7.7 KiB
JSON
# This file maps keys between `config.h` and `info.json`. It is used by QMK
|
|
# to correctly and consistently map back and forth between the two systems.
|
|
{
|
|
# Format:
|
|
# <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
|
|
# value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping"
|
|
# to_json: Default `true`. Set to `false` to exclude this mapping from info.json
|
|
# to_c: Default `true`. Set to `false` to exclude this mapping from config.h
|
|
# warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
|
|
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
|
|
"BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
|
|
"BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
|
|
"BACKLIGHT_PIN": {"info_key": "backlight.pin"},
|
|
"COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
|
|
"COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
|
|
"DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
|
|
"DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"},
|
|
"DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false},
|
|
"DIODE_DIRECTION": {"info_key": "diode_direction"},
|
|
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
|
|
"DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
|
|
"DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
|
|
"IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
|
|
"IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
|
|
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
|
|
"LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
|
|
"LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
|
|
"LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
|
|
"LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
|
|
"LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
|
|
"LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"},
|
|
"MANUFACTURER": {"info_key": "manufacturer"},
|
|
"MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
|
|
"MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
|
|
"MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
|
|
"MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
|
|
"MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"},
|
|
"MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"},
|
|
"MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"},
|
|
"ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"},
|
|
"ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
|
|
"PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
|
|
"PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
|
|
"RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
|
|
"RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
|
|
"RGB_DI_PIN": {"info_key": "rgblight.pin"},
|
|
"RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
|
|
"RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
|
|
"RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_ALTERNATING": {"info_key": "rgblight.animations.alternating", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_BREATHING": {"info_key": "rgblight.animations.breathing", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_CHRISTMAS": {"info_key": "rgblight.animations.christmas", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_KNIGHT": {"info_key": "rgblight.animations.knight", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_RAINBOW_MOOD": {"info_key": "rgblight.animations.rainbow_mood", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_RAINBOW_SWIRL": {"info_key": "rgblight.animations.rainbow_swirl", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_RGB_TEST": {"info_key": "rgblight.animations.rgb_test", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_SNAKE": {"info_key": "rgblight.animations.snake", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_STATIC_GRADIENT": {"info_key": "rgblight.animations.static_gradient", "value_type": "bool"},
|
|
"RGBLIGHT_EFFECT_TWINKLE": {"info_key": "rgblight.animations.twinkle"},
|
|
"RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
|
|
"RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
|
|
"RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
|
|
"RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
|
|
"RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
|
|
"RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
|
|
"RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
|
|
"RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
|
|
"RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
|
|
"RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
|
|
"RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
|
|
"PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false},
|
|
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"},
|
|
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
|
|
"QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
|
|
"QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
|
|
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int"},
|
|
"QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
|
|
"QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
|
|
"SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
|
|
"SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"},
|
|
"SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"},
|
|
"SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
|
|
"SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
|
|
"SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
|
|
"SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
|
|
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
|
|
"TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
|
|
"TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
|
|
"TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
|
|
"TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
|
|
"TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
|
|
"TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
|
|
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
|
|
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
|
|
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
|
|
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
|
|
}
|