Skip to content

Instantly share code, notes, and snippets.

@Himenon
Last active February 25, 2023 13:08
Show Gist options
  • Save Himenon/ae8c4874b88745f9e2f2d6b7a63dfaed to your computer and use it in GitHub Desktop.
Save Himenon/ae8c4874b88745f9e2f2d6b7a63dfaed to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties":
{
"global":
{
"$ref": "#/definitions/global"
},
"profiles":
{
"type": "array",
"items":
{
"$ref": "#/definitions/profile"
},
"minItems": 1
}
},
"required":
[
"global",
"profiles"
],
"additionalProperties": false,
"definitions":
{
"global":
{
"type": "object",
"properties":
{
"check_for_updates_on_startup":
{
"type": "boolean"
},
"show_in_menu_bar":
{
"type": "boolean"
},
"show_profile_name_in_menu_bar":
{
"type": "boolean"
},
"show_sticky_modifier_status_in_menu_bar":
{
"type": "boolean"
},
"show_passthrough_status_in_menu_bar":
{
"type": "boolean"
},
"use_fkeys_as_standard_function_keys":
{
"type": "boolean"
},
"check_for_updates_manually":
{
"type": "boolean"
},
"show_in_all_spaces":
{
"type": "boolean"
},
"run_in_login_shell":
{
"type": "boolean"
},
"session_workflow":
{
"type": "string"
},
"check_for_updates_interval_days":
{
"type": "integer",
"minimum": 1
},
"show_advanced_preferences":
{
"type": "boolean"
},
"show_import_export_panel":
{
"type": "boolean"
},
"language":
{
"type": "string"
},
"use_log_color":
{
"type": "boolean"
},
"force_display_as_short_name":
{
"type": "boolean"
},
"allow_devices":
{
"type": "array",
"items":
{
"type": "object",
"properties":
{
"identifiers":
{
"type": "object",
"properties":
{
"vendor_id":
{
"type": "integer"
},
"product_id":
{
"type": "integer"
}
},
"required":
[
"vendor_id",
"product_id"
],
"additionalProperties": false
},
"simple_modifications":
{
"type": "object"
},
"fn_function_keys":
{
"type": "object"
},
"complex_modifications":
{
"type": "object"
},
"virtual_hid_keyboard":
{
"type": "object"
},
"devices":
{
"type": "object"
},
"name":
{
"type": "string"
},
"selected":
{
"type": "boolean"
}
},
"required":
[
"identifiers"
],
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"profile":
{
"type": "object",
"properties":
{
"name":
{
"type": "string"
},
"selected":
{
"type": "boolean"
},
"simple_modifications":
{
"type": "object",
"additionalProperties":
{
"$ref": "#/definitions/keycode_mapping"
}
},
"complex_modifications":
{
"type": "object",
"properties":
{
"parameters":
{
"type": "object",
"additionalProperties":
{
"type": "string"
}
},
"rules":
{
"type": "array",
"items":
{
"$ref": "#/definitions/rule"
}
}
},
"additionalProperties": false
},
"devices":
{
"type": "object",
"additionalProperties":
{
"$ref": "#/definitions/device"
}
}
},
"required":
[
"name",
"selected",
"simple_modifications"
],
"additionalProperties": false
},
"keycode_mapping":
{
"type": "object",
"properties":
{
"from":
{
"$ref": "#/definitions/keycode"
},
"to":
{
"$ref": "#/definitions/keycode"
},
"to_if_alone":
{
"$ref": "#/definitions/keycode"
},
"modifiers":
{
"$ref": "#/definitions/modifiers"
},
"mandatory_modifiers":
{
"$ref": "#/definitions/modifiers"
},
"halt":
{
"type": "boolean"
}
},
"required":
[
"from",
"to"
],
"additionalProperties": false
},
"modifiers":
{
"type": "array",
"items":
{
"$ref": "#/definitions/modifier"
}
},
"modifier":
{
"type": "object",
"properties":
{
"name":
{
"type": "string",
"enum":
[
"caps_lock",
"left_control",
"left_option",
"left_shift",
"left_command",
"right_control",
"right_option",
"right_shift",
"right_command"
]
},
"optional":
{
"type": "boolean"
}
},
"required":
[
"name"
],
"additionalProperties": false
},
"keycode":
{
"type": "object",
"properties":
{
"key_code":
{
"type": "string"
},
"modifiers":
{
"$ref": "#/definitions/modifiers"
},
"mandatory_modifiers":
{
"$ref": "#/definitions/modifiers"
},
"sticky":
{
"type": "boolean"
},
"repeat":
{
"type": "boolean"
},
"lazy":
{
"type": "boolean"
},
"treat_unhandled_key":
{
"type": "string",
"enum":
[
"pass_through",
"hanja_mode",
"roman_mode",
"japanese_eisuu_mode",
"japanese_kana_mode"
]
},
"description":
{
"type": "string"
}
},
"required":
[
"key_code"
],
"additionalProperties": false
},
"rule":
{
"type": "object",
"properties":
{
"description":
{
"type": "string"
},
"manipulators":
{
"type": "array",
"items":
{
"$ref": "#/definitions/manipulator"
},
"minItems": 1
}
},
"required":
[
"manipulators"
],
"additionalProperties": false
},
"manipulator":
{
"type": "object",
"properties":
{
"type":
{
"type": "string",
"enum":
[
"basic",
"mouse_motion",
"mouse_button",
"pointing_button",
"momentary_switch_event",
"any",
"shell_command",
"select_input_source"
]
},
"from":
{
"$ref": "#/definitions/from"
},
"to":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"conditions":
{
"type": "array",
"items":
{
"$ref": "#/definitions/condition"
}
},
"parameters":
{
"type": "object",
"additionalProperties":
{
"type": "number"
}
},
"modifiers":
{
"type": "object",
"additionalProperties":
{
"$ref": "#/definitions/modifiers"
}
},
"simple_modifications":
{
"type": "object",
"additionalProperties":
{
"$ref": "#/definitions/keycode_mapping"
}
},
"complex_modifications":
{
"type": "object",
"properties":
{
"parameters":
{
"type": "object",
"additionalProperties":
{
"type": "string"
}
},
"rules":
{
"type": "array",
"items":
{
"$ref": "#/definitions/rule"
}
}
},
"additionalProperties": false
},
"conditions_dependent_modifiers":
{
"type": "array",
"items":
{
"$ref": "#/definitions/conditions_dependent_modifier"
}
},
"device":
{
"$ref": "#/definitions/device"
},
"to_after_key_up":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_if_alone":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_if_held_down":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_delayed_action":
{
"type": "object",
"properties":
{
"to_if_canceled":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_if_invoked":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"delay_milliseconds":
{
"type": "integer",
"minimum": 0
},
"key_down_order":
{
"type": "integer",
"minimum": 0
}
},
"required":
[
"to_delayed_action",
"delay_milliseconds"
],
"additionalProperties": false
},
"repeat":
{
"type": "boolean"
},
"lazy":
{
"type": "boolean"
},
"treat_unhandled_key":
{
"type": "string",
"enum":
[
"pass_through",
"hanja_mode",
"roman_mode",
"japanese_eisuu_mode",
"japanese_kana_mode"
]
},
"description":
{
"type": "string"
}
},
"required":
[
"type"
],
"additionalProperties": false
},
"from":
{
"type": "object",
"properties":
{
"key_code":
{
"type": "string"
},
"modifiers":
{
"$ref": "#/definitions/modifiers"
},
"pointing_button":
{
"type": "integer",
"minimum": 0,
"maximum": 64
},
"any":
{
"type": "boolean"
},
"shell_command":
{
"type": "string"
},
"select_input_source":
{
"type": "object",
"properties":
{
"language":
{
"type": "string"
},
"input_source_id":
{
"type": "string"
}
},
"additionalProperties": false
}
},
"oneOf":
[
{
"required":
[
"key_code"
]
},
{
"required":
[
"modifiers"
]
},
{
"required":
[
"pointing_button"
]
},
{
"required":
[
"any"
]
},
{
"required":
[
"shell_command"
]
},
{
"required":
[
"select_input_source"
]
}
],
"additionalProperties": false
},
"to":
{
"type": "object",
"properties":
{
"key_code":
{
"type": "string"
},
"modifiers":
{
"$ref": "#/definitions/modifiers"
},
"pointing_button":
{
"type": "integer",
"minimum": 0,
"maximum": 64
},
"set_variable":
{
"type": "object",
"properties":
{
"name":
{
"type": "string"
},
"value":
{
"type": "number"
}
},
"required":
[
"name",
"value"
],
"additionalProperties": false
},
"mouse_key":
{
"type": "object",
"properties":
{
"x":
{
"type": "number"
},
"y":
{
"type": "number"
},
"vertical_wheel":
{
"type": "integer"
},
"horizontal_wheel":
{
"type": "integer"
}
},
"additionalProperties": false
},
"home":
{
"type": "object",
"properties":
{
"device_id":
{
"type": "integer"
},
"usage_page":
{
"type": "integer"
}
}
},
"function_key":
{
"type": "object",
"properties":
{
"key_code":
{
"type": "string"
},
"modifiers":
{
"$ref": "#/definitions/modifiers"
}
},
"required":
[
"key_code"
],
"additionalProperties": false
},
"select_input_source":
{
"type": "object",
"properties":
{
"language":
{
"type": "string"
},
"input_source_id":
{
"type": "string"
}
},
"additionalProperties": false
},
"virtual_key":
{
"type": "integer"
},
"apple_vendor_top_case_keyboard_event_key_code":
{
"type": "integer"
},
"apple_vendor_keyboard_event_key_code":
{
"type": "integer"
},
"consumer_key_code":
{
"type": "integer"
},
"caps_lock_delay_milliseconds":
{
"type": "integer",
"minimum": 0
},
"shell_command":
{
"type": "string"
},
"popup_select_input_source":
{
"type": "object",
"properties":
{
"input_source_id":
{
"type": "string"
}
},
"required":
[
"input_source_id"
],
"additionalProperties": false
},
"set_mouse_position":
{
"type": "object",
"properties":
{
"x":
{
"type": "number"
},
"y":
{
"type": "number"
},
"screen":
{
"type": "string"
}
},
"additionalProperties": false
},
"sticky_modifier":
{
"$ref": "#/definitions/modifiers"
},
"to_after_key_up":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_if_alone":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_if_held_down":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_delay":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"nfc_tag":
{
"type": "object",
"properties":
{
"vendor_id":
{
"type": "integer"
},
"product_id":
{
"type": "integer"
},
"tag_id":
{
"type": "string"
}
},
"required":
[
"vendor_id",
"product_id",
"tag_id"
],
"additionalProperties": false
},
"to_if_invoked":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"to_if_canceled":
{
"type": "array",
"items":
{
"$ref": "#/definitions/to"
}
},
"post_key":
{
"type": "array",
"items":
{
"type": "object",
"properties":
{
"key_code":
{
"type": "string"
},
"modifiers":
{
"$ref": "#/definitions/modifiers"
}
},
"required":
[
"key_code"
],
"additionalProperties": false
}
},
"up_down_repeat":
{
"type": "integer",
"minimum": 0,
"maximum": 2
},
"increase":
{
"type": "integer",
"minimum": 0
},
"decrease":
{
"type": "integer",
"minimum": 0
},
"toggle":
{
"type": "integer",
"minimum": 0
},
"momentary":
{
"type": "integer",
"minimum": 0
},
"select":
{
"type": "integer",
"minimum": 0
},
"scroll":
{
"type": "integer",
"minimum": 0
},
"open_url":
{
"type": "object",
"properties":
{
"url":
{
"type": "string"
}
},
"required":
[
"url"
],
"additionalProperties": false
},
"frontmost_application":
{
"type": "object",
"properties":
{
"bundle_identifier":
{
"type": "string"
}
},
"required":
[
"bundle_identifier"
],
"additionalProperties": false
},
"mouse_motion":
{
"type": "object",
"properties":
{
"x":
{
"type": "number"
},
"y":
{
"type": "number"
},
"vertical_wheel":
{
"type": "integer"
},
"horizontal_wheel":
{
"type": "integer"
}
},
"additionalProperties": false
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment