qmk_firmware/data/xap/xap_0.3.0.hjson
2022-12-02 22:48:00 +00:00

397 lines
16 KiB
Plaintext

{
version: 0.3.0
routes: {
0x06: {
routes: {
0x02: {
type: router
name: backlight
define: BACKLIGHT
description:
'''
This subsystem allows for control over the backlight subsystem.
'''
enable_if_preprocessor: defined(BACKLIGHT_ENABLE)
routes: {
0x01: {
type: command
name: Capabilities Query
define: CAPABILITIES_QUERY
description:
'''
backlight subsystem capabilities query. Each bit should be considered as a "usable" route within this subsystem.
'''
return_type: u32
return_purpose: capabilities
return_constant: XAP_ROUTE_LIGHTING_BACKLIGHT_CAPABILITIES
}
0x02: {
type: command
name: Get Enabled Effects
define: GET_ENABLED_EFFECTS
description: Each bit should be considered as a "usable" effect id
return_type: u8
return_constant: ENABLED_BACKLIGHT_EFFECTS
}
0x03: {
type: command
name: Get Config
define: GET_CONFIG
description: Query the current config.
return_type: struct
return_struct_length: 3
return_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: mode
},
{
type: u8
name: val
},
]
return_execute: get_backlight_config
}
0x04: {
type: command
name: Set Config
define: SET_CONFIG
description: Set the current config.
request_type: struct
request_struct_length: 3
request_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: mode
},
{
type: u8
name: val
},
]
return_execute: set_backlight_config
}
0x05: {
type: command
name: Save Config
define: SAVE_CONFIG
description: Save the current config.
return_execute: save_backlight_config
}
}
}
0x03: {
type: router
name: rgblight
define: RGBLIGHT
description:
'''
This subsystem allows for control over the rgblight subsystem.
'''
enable_if_preprocessor: defined(RGBLIGHT_ENABLE)
routes: {
0x01: {
type: command
name: Capabilities Query
define: CAPABILITIES_QUERY
description:
'''
rgblight subsystem capabilities query. Each bit should be considered as a "usable" route within this subsystem.
'''
return_type: u32
return_purpose: capabilities
return_constant: XAP_ROUTE_LIGHTING_RGBLIGHT_CAPABILITIES
}
0x02: {
type: command
name: Get Enabled Effects
define: GET_ENABLED_EFFECTS
description: Each bit should be considered as a "usable" effect id
return_type: u64
return_constant: ENABLED_RGBLIGHT_EFFECTS
}
0x03: {
type: command
name: Get Config
define: GET_CONFIG
description: Query the current config.
return_type: struct
return_struct_length: 6
return_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: mode
},
{
type: u8
name: hue
},
{
type: u8
name: sat
},
{
type: u8
name: val
},
{
type: u8
name: speed
},
]
return_execute: get_rgblight_config
}
0x04: {
type: command
name: Set Config
define: SET_CONFIG
description: Set the current config.
request_type: struct
request_struct_length: 6
request_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: mode
},
{
type: u8
name: hue
},
{
type: u8
name: sat
},
{
type: u8
name: val
},
{
type: u8
name: speed
},
]
return_execute: set_rgblight_config
}
0x05: {
type: command
name: Save Config
define: SAVE_CONFIG
description: Save the current config.
return_execute: save_rgblight_config
}
}
}
0x04: {
type: router
name: rgbmatrix
define: RGB_MATRIX
description:
'''
This subsystem allows for control over the rgb matrix subsystem.
'''
enable_if_preprocessor: defined(RGB_MATRIX_ENABLE)
routes: {
0x01: {
type: command
name: Capabilities Query
define: CAPABILITIES_QUERY
description:
'''
rgb matrix subsystem capabilities query. Each bit should be considered as a "usable" route within this subsystem.
'''
return_type: u32
return_purpose: capabilities
return_constant: XAP_ROUTE_LIGHTING_RGB_MATRIX_CAPABILITIES
}
0x02: {
type: command
name: Get Enabled Effects
define: GET_ENABLED_EFFECTS
description: Each bit should be considered as a "usable" effect id
return_type: u64
return_constant: ENABLED_RGB_MATRIX_EFFECTS
}
0x03: {
type: command
name: Get Config
define: GET_CONFIG
description: Query the current config.
return_type: struct
return_struct_length: 7
return_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: mode
},
{
type: u8
name: hue
},
{
type: u8
name: sat
},
{
type: u8
name: val
},
{
type: u8
name: speed
},
{
type: u8
name: flags
},
]
return_execute: get_rgb_matrix_config
}
0x04: {
type: command
name: Set Config
define: SET_CONFIG
description: Set the current config.
request_type: struct
request_struct_length: 7
request_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: mode
},
{
type: u8
name: hue
},
{
type: u8
name: sat
},
{
type: u8
name: val
},
{
type: u8
name: speed
},
{
type: u8
name: flags
},
]
return_execute: set_rgb_matrix_config
}
0x05: {
type: command
name: Save Config
define: SAVE_CONFIG
description: Save the current config.
return_execute: save_rgb_matrix_config
}
}
}
}
}
0x07: {
type: router
name: Audio
define: AUDIO
description:
'''
This subsystem allows for control over the audio subsystem.
'''
enable_if_preprocessor: defined(AUDIO_ENABLE)
routes: {
0x01: {
type: command
name: Capabilities Query
define: CAPABILITIES_QUERY
description:
'''
Audio subsystem capabilities query. Each bit should be considered as a "usable" route within this subsystem.
'''
return_type: u32
return_purpose: capabilities
return_constant: XAP_ROUTE_AUDIO_CAPABILITIES
}
0x03: {
type: command
name: Get Config
define: GET_CONFIG
description: Query the current config.
return_type: struct
return_struct_length: 2
return_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: clicky_enable
},
]
return_execute: get_audio_config
}
0x04: {
type: command
name: Set Config
define: SET_CONFIG
description: Set the current config.
request_type: struct
request_struct_length: 2
request_struct_members: [
{
type: u8
name: enable
},
{
type: u8
name: clicky_enable
},
]
return_execute: set_audio_config
}
0x05: {
type: command
name: Save Config
define: SAVE_CONFIG
description: Save the current config.
return_execute: save_audio_config
}
}
}
}
}