{ "$ref": "#/definitions/Configuration", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "Auxiliary": { "const": 2, "description": "Auxiliary button, usually the wheel button or the middle button.", "type": "number" }, "Back": { "const": 3, "description": "Forth button, typically the back button.", "type": "number" }, "Button": { "anyOf": [ { "$ref": "#/definitions/Primary" }, { "$ref": "#/definitions/Secondary" }, { "$ref": "#/definitions/Auxiliary" }, { "$ref": "#/definitions/Back" }, { "$ref": "#/definitions/Forward" }, { "type": "number" } ] }, "Configuration": { "additionalProperties": false, "properties": { "$schema": { "type": "string" }, "schemes": { "description": "A scheme is a collection of settings that are activated in specified circumstances.", "examples": [ { "if": { "device": { "category": "mouse" } }, "scrolling": { "reverse": "vertical" } } ], "items": { "$ref": "#/definitions/Scheme" }, "title": "Schemes", "type": "array" } }, "type": "object" }, "Forward": { "const": 4, "description": "Fifth button, typically the forward button.", "type": "number" }, "HexString": { "pattern": "^0x[0-9a-fA-F]+$", "type": "string" }, "Int": { "type": "number" }, "IntString": { "pattern": "^\\d+$", "type": "string" }, "Primary": { "const": 0, "description": "Primary button, usually the left button.", "type": "number" }, "Scheme": { "additionalProperties": false, "properties": { "buttons": { "$ref": "#/definitions/Scheme.Buttons", "description": "Customize the buttons behavior.", "title": "Buttons settings" }, "if": { "$ref": "#/definitions/SingleValueOrArray%3CScheme.If%3E", "description": "This value can be a single condition or an array. A scheme is activated if at least one of the conditions is met.", "title": "Scheme activation conditions" }, "pointer": { "$ref": "#/definitions/Scheme.Pointer", "description": "Customize the pointer acceleration and speed.", "title": "Pointer settings" }, "scrolling": { "$ref": "#/definitions/Scheme.Scrolling", "description": "Customize the scrolling behavior.", "title": "Scrolling settings" } }, "type": "object" }, "Scheme.Buttons": { "additionalProperties": false, "properties": { "clickDebouncing": { "$ref": "#/definitions/Scheme.Buttons.ClickDebouncing", "description": "Ignore rapid clicks with a certain time period.", "title": "Debounce button clicks" }, "mappings": { "description": "Assign actions to buttons.", "items": { "$ref": "#/definitions/Scheme.Buttons.Mapping" }, "title": "Button mappings", "type": "array" }, "switchPrimaryButtonAndSecondaryButtons": { "default": false, "description": "If the value is true, the primary button will be the right button and the secondary button will be the left button.", "title": "Switch primary and secondary buttons", "type": "boolean" }, "universalBackForward": { "$ref": "#/definitions/Scheme.Buttons.UniversalBackForward", "default": false, "description": "If the value is true, the back and forward side buttons will be enabled in Safari and some other apps that do not handle these side buttons correctly. If the value is \"backOnly\" or \"forwardOnly\", only universal back or universal forward will be enabled.", "title": "Universal back and forward" } }, "type": "object" }, "Scheme.Buttons.ClickDebouncing": { "additionalProperties": false, "properties": { "buttons": { "description": "Buttons to debounce.", "items": { "$ref": "#/definitions/Button" }, "type": "array" }, "resetTimerOnMouseUp": { "description": "If the value is true, the timer will be reset on mouse up.", "type": "boolean" }, "timeout": { "$ref": "#/definitions/Int", "description": "The time period in which rapid clicks are ignored." } }, "type": "object" }, "Scheme.Buttons.Mapping": { "anyOf": [ { "additionalProperties": false, "properties": { "action": { "$ref": "#/definitions/Scheme.Buttons.Mapping.Action", "title": "Action" }, "button": { "$ref": "#/definitions/Button", "description": "The button number. See https://developer.apple.com/documentation/coregraphics/cgmousebutton", "title": "Button number" }, "command": { "description": "Indicates if the command modifier key should be pressed.", "type": "boolean" }, "control": { "description": "Indicates if the control modifier key should be pressed.", "type": "boolean" }, "option": { "description": "Indicates if the option modifier key should be pressed.", "type": "boolean" }, "repeat": { "description": "Indicates if key repeat is enabled. If the value is true, the action will be repeatedly executed when the button is hold according to the key repeat settings in System Settings.", "type": "boolean" }, "shift": { "description": "Indicates if the shift modifier key should be pressed.", "type": "boolean" } }, "required": [ "button" ], "type": "object" }, { "additionalProperties": false, "properties": { "action": { "$ref": "#/definitions/Scheme.Buttons.Mapping.Action", "title": "Action" }, "command": { "description": "Indicates if the command modifier key should be pressed.", "type": "boolean" }, "control": { "description": "Indicates if the control modifier key should be pressed.", "type": "boolean" }, "option": { "description": "Indicates if the option modifier key should be pressed.", "type": "boolean" }, "scroll": { "$ref": "#/definitions/Scheme.Buttons.Mapping.ScrollDirection", "description": "Map scroll events to specific actions.", "title": "Scroll direction" }, "shift": { "description": "Indicates if the shift modifier key should be pressed.", "type": "boolean" } }, "required": [ "scroll" ], "type": "object" } ] }, "Scheme.Buttons.Mapping.Action": { "anyOf": [ { "$ref": "#/definitions/Scheme.Buttons.Mapping.SimpleAction" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.Run" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollUpWithDistance" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollDownWithDistance" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollLeftWithDistance" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollRightWithDistance" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.KeyPress" } ] }, "Scheme.Buttons.Mapping.AppExpose": { "const": "appExpose", "description": "Application windows.", "type": "string" }, "Scheme.Buttons.Mapping.Auto": { "const": "auto", "description": "Do not modify the button behavior.", "type": "string" }, "Scheme.Buttons.Mapping.DisplayBrightnessDown": { "const": "display.brightnessDown", "description": "Display: Brightness down.", "type": "string" }, "Scheme.Buttons.Mapping.DisplayBrightnessUp": { "const": "display.brightnessUp", "description": "Display: Brightness up.", "type": "string" }, "Scheme.Buttons.Mapping.Key": { "enum": [ "enter", "tab", "space", "delete", "escape", "command", "shift", "capsLock", "option", "control", "commandRight", "shiftRight", "optionRight", "controlRight", "arrowLeft", "arrowRight", "arrowDown", "arrowUp", "home", "pageUp", "backspace", "end", "pageDown", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "f11", "f12", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "=", "-", ";", "'", ",", ".", "/", "\\", "`", "[", "]" ], "type": "string" }, "Scheme.Buttons.Mapping.KeyPress": { "additionalProperties": false, "properties": { "keyPress": { "description": "Keyboard: Keyboard shortcut.", "items": { "$ref": "#/definitions/Scheme.Buttons.Mapping.Key" }, "type": "array" } }, "required": [ "keyPress" ], "type": "object" }, "Scheme.Buttons.Mapping.KeyboardBrightnessDown": { "const": "keyboard.brightnessDown", "description": "Keyboard: Brightness down.", "type": "string" }, "Scheme.Buttons.Mapping.KeyboardBrightnessUp": { "const": "keyboard.brightnessUp", "description": "Keyboard: Brightness up.", "type": "string" }, "Scheme.Buttons.Mapping.Launchpad": { "const": "launchpad", "description": "Launchpad.", "type": "string" }, "Scheme.Buttons.Mapping.LookUpAndDataDetectors": { "const": "lookUpAndDataDetectors", "description": "Look up & data detectors.", "type": "string" }, "Scheme.Buttons.Mapping.MediaFastForward": { "const": "media.fastForward", "description": "Media: Fast forward.", "type": "string" }, "Scheme.Buttons.Mapping.MediaMute": { "const": "media.mute", "description": "Media: Toggle mute.", "type": "string" }, "Scheme.Buttons.Mapping.MediaNext": { "const": "media.next", "description": "Media: Next.", "type": "string" }, "Scheme.Buttons.Mapping.MediaPlayPause": { "const": "media.playPause", "description": "Media: Play / pause.", "type": "string" }, "Scheme.Buttons.Mapping.MediaPrevious": { "const": "media.previous", "description": "Media: Previous.", "type": "string" }, "Scheme.Buttons.Mapping.MediaRewind": { "const": "media.rewind", "description": "Media: Rewind.", "type": "string" }, "Scheme.Buttons.Mapping.MediaVolumeDown": { "const": "media.volumeDown", "description": "Media: Volume down.", "type": "string" }, "Scheme.Buttons.Mapping.MediaVolumeUp": { "const": "media.volumeUp", "description": "Media: Volume up.", "type": "string" }, "Scheme.Buttons.Mapping.MissionControl": { "const": "missionControl", "description": "Mission Control.", "type": "string" }, "Scheme.Buttons.Mapping.MissionControlSpaceLeft": { "const": "missionControl.spaceLeft", "description": "Mission Control: Move left a space.", "type": "string" }, "Scheme.Buttons.Mapping.MissionControlSpaceRight": { "const": "missionControl.spaceRight", "description": "Mission Control: Move right a space.", "type": "string" }, "Scheme.Buttons.Mapping.MouseButtonBack": { "const": "mouse.button.back", "description": "Mouse: Button: Act as back button.", "type": "string" }, "Scheme.Buttons.Mapping.MouseButtonForward": { "const": "mouse.button.forward", "description": "Mouse: Button: Act as forward button.", "type": "string" }, "Scheme.Buttons.Mapping.MouseButtonLeft": { "const": "mouse.button.left", "description": "Mouse: Button: Act as left button.", "type": "string" }, "Scheme.Buttons.Mapping.MouseButtonMiddle": { "const": "mouse.button.middle", "description": "Mouse: Button: Act as middle button.", "type": "string" }, "Scheme.Buttons.Mapping.MouseButtonRight": { "const": "mouse.button.right", "description": "Mouse: Button: Act as right button.", "type": "string" }, "Scheme.Buttons.Mapping.MouseWheelScrollDown": { "const": "mouse.wheel.scrollDown", "description": "Mouse: Wheel: Scroll down.", "type": "string" }, "Scheme.Buttons.Mapping.MouseWheelScrollDownWithDistance": { "additionalProperties": false, "properties": { "mouse.wheel.scrollDown": { "$ref": "#/definitions/Scheme.Scrolling.Distance", "description": "Mouse: Wheel: Scroll down a certain distance." } }, "required": [ "mouse.wheel.scrollDown" ], "type": "object" }, "Scheme.Buttons.Mapping.MouseWheelScrollLeft": { "const": "mouse.wheel.scrollLeft", "description": "Mouse: Wheel: Scroll left.", "type": "string" }, "Scheme.Buttons.Mapping.MouseWheelScrollLeftWithDistance": { "additionalProperties": false, "properties": { "mouse.wheel.scrollLeft": { "$ref": "#/definitions/Scheme.Scrolling.Distance", "description": "Mouse: Wheel: Scroll left a certain distance." } }, "required": [ "mouse.wheel.scrollLeft" ], "type": "object" }, "Scheme.Buttons.Mapping.MouseWheelScrollRight": { "const": "mouse.wheel.scrollRight", "description": "Mouse: Wheel: Scroll right.", "type": "string" }, "Scheme.Buttons.Mapping.MouseWheelScrollRightWithDistance": { "additionalProperties": false, "properties": { "mouse.wheel.scrollRight": { "$ref": "#/definitions/Scheme.Scrolling.Distance", "description": "Mouse: Wheel: Scroll right a certain distance." } }, "required": [ "mouse.wheel.scrollRight" ], "type": "object" }, "Scheme.Buttons.Mapping.MouseWheelScrollUp": { "const": "mouse.wheel.scrollUp", "description": "Mouse: Wheel: Scroll up.", "type": "string" }, "Scheme.Buttons.Mapping.MouseWheelScrollUpWithDistance": { "additionalProperties": false, "properties": { "mouse.wheel.scrollUp": { "$ref": "#/definitions/Scheme.Scrolling.Distance", "description": "Mouse: Wheel: Scroll up a certain distance." } }, "required": [ "mouse.wheel.scrollUp" ], "type": "object" }, "Scheme.Buttons.Mapping.None": { "const": "none", "description": "Prevent the button events.", "type": "string" }, "Scheme.Buttons.Mapping.Run": { "additionalProperties": false, "properties": { "run": { "description": "Run a specific command. For example, `\"open -a 'Mission Control'\"`.", "type": "string" } }, "required": [ "run" ], "type": "object" }, "Scheme.Buttons.Mapping.ScrollDirection": { "description": "Scroll direction.", "enum": [ "up", "down", "left", "right" ], "type": "string" }, "Scheme.Buttons.Mapping.ShowDesktop": { "const": "showDesktop", "description": "Show desktop.", "type": "string" }, "Scheme.Buttons.Mapping.SimpleAction": { "anyOf": [ { "$ref": "#/definitions/Scheme.Buttons.Mapping.Auto" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.None" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MissionControlSpaceLeft" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MissionControlSpaceRight" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MissionControl" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.AppExpose" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.Launchpad" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.ShowDesktop" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.LookUpAndDataDetectors" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.SmartZoom" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.DisplayBrightnessUp" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.DisplayBrightnessDown" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaVolumeUp" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaVolumeDown" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaMute" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaPlayPause" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaNext" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaPrevious" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaFastForward" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MediaRewind" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.KeyboardBrightnessUp" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.KeyboardBrightnessDown" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollUp" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollDown" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollLeft" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseWheelScrollRight" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseButtonLeft" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseButtonMiddle" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseButtonRight" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseButtonBack" }, { "$ref": "#/definitions/Scheme.Buttons.Mapping.MouseButtonForward" } ] }, "Scheme.Buttons.Mapping.SmartZoom": { "const": "smartZoom", "description": "Smart zoom.", "type": "string" }, "Scheme.Buttons.UniversalBackForward": { "anyOf": [ { "type": "boolean" }, { "$ref": "#/definitions/Scheme.Buttons.UniversalBackForward.BackOnly" }, { "$ref": "#/definitions/Scheme.Buttons.UniversalBackForward.ForwardOnly" } ] }, "Scheme.Buttons.UniversalBackForward.BackOnly": { "const": "backOnly", "description": "Enable universal back only.", "type": "string" }, "Scheme.Buttons.UniversalBackForward.ForwardOnly": { "const": "forwardOnly", "description": "Enable universal forward only.", "type": "string" }, "Scheme.If": { "additionalProperties": false, "properties": { "app": { "description": "Match apps by providing the bundle ID. For example, `com.apple.Safari`.", "title": "App", "type": "string" }, "device": { "$ref": "#/definitions/Scheme.If.Device", "description": "Match one or more devices. If not provided, the scheme is activated on all devices.", "title": "Device" }, "display": { "description": "Match displays by providing the display name. For example, `DELL P2415Q`.", "title": "Display name", "type": "string" }, "groupApp": { "description": "Match apps by providing the bundle ID of the process group. For example, `org.polymc.PolyMC`.", "title": "Group app", "type": "string" }, "parentApp": { "description": "Match apps by providing the bundle ID of the parent process. For example, `org.polymc.PolyMC`.", "title": "Parent app", "type": "string" } }, "type": "object" }, "Scheme.If.Category": { "anyOf": [ { "$ref": "#/definitions/Scheme.If.Mouse" }, { "$ref": "#/definitions/Scheme.If.Trackpad" } ] }, "Scheme.If.Device": { "additionalProperties": false, "properties": { "category": { "$ref": "#/definitions/SingleValueOrArray%3CScheme.If.Category%3E", "description": "The category of the devices.", "title": "Category" }, "productID": { "anyOf": [ { "$ref": "#/definitions/HexString" }, { "$ref": "#/definitions/Int" } ], "description": "The product ID of the devices.", "examples": [ "0xA123" ], "title": "Product ID" }, "productName": { "description": "The product name of the devices.", "title": "Product name", "type": "string" }, "serialNumber": { "description": "The serial number of the devices.", "title": "Serial number", "type": "string" }, "vendorID": { "anyOf": [ { "$ref": "#/definitions/HexString" }, { "$ref": "#/definitions/Int" } ], "description": "The vendor ID of the devices.", "examples": [ "0xA123" ], "title": "Vendor ID" } }, "type": "object" }, "Scheme.If.Mouse": { "const": "mouse", "description": "Match mouse devices.", "title": "Mouse", "type": "string" }, "Scheme.If.Trackpad": { "const": "trackpad", "description": "Match trackpad devices.", "title": "Trackpad", "type": "string" }, "Scheme.Pointer": { "additionalProperties": false, "properties": { "acceleration": { "description": "If the value is not specified, system default value will be used.", "maximum": 20, "minimum": 0, "title": "Pointer acceleration", "type": "number" }, "disableAcceleration": { "default": false, "description": "If the value is true, the pointer acceleration will be disabled and acceleration and speed will not take effect.", "title": "Disable pointer acceleration", "type": "boolean" }, "speed": { "description": "If the value is not specified, device default value will be used.", "maximum": 1, "title": "Pointer speed", "type": "number" } }, "type": "object" }, "Scheme.Scrolling": { "additionalProperties": false, "properties": { "acceleration": { "anyOf": [ { "type": "number" }, { "additionalProperties": false, "properties": { "horizontal": { "type": "number" }, "vertical": { "type": "number" } }, "type": "object" } ], "default": 1, "description": "The scrolling acceleration." }, "distance": { "anyOf": [ { "$ref": "#/definitions/Scheme.Scrolling.Distance" }, { "additionalProperties": false, "properties": { "horizontal": { "$ref": "#/definitions/Scheme.Scrolling.Distance" }, "vertical": { "$ref": "#/definitions/Scheme.Scrolling.Distance" } }, "type": "object" } ], "description": "The distance after rolling the wheel.", "title": "Scroll distance" }, "modifiers": { "anyOf": [ { "$ref": "#/definitions/Scheme.Scrolling.Modifiers" }, { "additionalProperties": false, "properties": { "horizontal": { "$ref": "#/definitions/Scheme.Scrolling.Modifiers" }, "vertical": { "$ref": "#/definitions/Scheme.Scrolling.Modifiers" } }, "type": "object" } ], "title": "Modifier keys settings" }, "reverse": { "anyOf": [ { "type": "boolean" }, { "additionalProperties": false, "properties": { "horizontal": { "type": "boolean" }, "vertical": { "type": "boolean" } }, "type": "object" } ], "title": "Reverse scrolling" }, "speed": { "anyOf": [ { "type": "number" }, { "additionalProperties": false, "properties": { "horizontal": { "type": "number" }, "vertical": { "type": "number" } }, "type": "object" } ], "default": 0, "description": "The scrolling speed." } }, "type": "object" }, "Scheme.Scrolling.Auto": { "const": "auto", "description": "The scrolling distance will not be modified.", "type": "string" }, "Scheme.Scrolling.Distance": { "anyOf": [ { "$ref": "#/definitions/Scheme.Scrolling.Auto" }, { "$ref": "#/definitions/Scheme.Scrolling.Distance.Line" }, { "$ref": "#/definitions/Scheme.Scrolling.Distance.Pixel" } ] }, "Scheme.Scrolling.Distance.Line": { "anyOf": [ { "$ref": "#/definitions/Int" }, { "$ref": "#/definitions/IntString" } ], "description": "The scrolling distance in lines." }, "Scheme.Scrolling.Distance.Pixel": { "description": "The scrolling distance in pixels.", "pattern": "^\\d[1-9]*(\\.\\d+)?px", "type": "string" }, "Scheme.Scrolling.Modifiers": { "additionalProperties": false, "properties": { "command": { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Action", "description": "The action when command key is pressed." }, "control": { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Action", "description": "The action when control key is pressed." }, "option": { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Action", "description": "The action when option key is pressed." }, "shift": { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Action", "description": "The action when shift key is pressed." } }, "type": "object" }, "Scheme.Scrolling.Modifiers.Action": { "anyOf": [ { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.None" }, { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Auto" }, { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Ignore" }, { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.PreventDefault" }, { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.AlterOrientation" }, { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.ChangeSpeed" }, { "$ref": "#/definitions/Scheme.Scrolling.Modifiers.Zoom" } ] }, "Scheme.Scrolling.Modifiers.AlterOrientation": { "additionalProperties": false, "description": "Alter the scrolling orientation from vertical to horizontal or vice versa.", "properties": { "type": { "const": "alterOrientation", "type": "string" } }, "required": [ "type" ], "type": "object" }, "Scheme.Scrolling.Modifiers.Auto": { "additionalProperties": false, "description": "Default action.", "properties": { "type": { "const": "auto", "type": "string" } }, "required": [ "type" ], "type": "object" }, "Scheme.Scrolling.Modifiers.ChangeSpeed": { "additionalProperties": false, "description": "Scale the scrolling speed.", "properties": { "scale": { "description": "The factor to scale the scrolling speed.", "type": "number" }, "type": { "const": "changeSpeed", "type": "string" } }, "required": [ "type", "scale" ], "type": "object" }, "Scheme.Scrolling.Modifiers.Ignore": { "additionalProperties": false, "description": "Ignore modifier.", "properties": { "type": { "const": "ignore", "type": "string" } }, "required": [ "type" ], "type": "object" }, "Scheme.Scrolling.Modifiers.None": { "additionalProperties": false, "deprecated": true, "description": "Default action.", "properties": { "type": { "const": "none", "type": "string" } }, "required": [ "type" ], "type": "object" }, "Scheme.Scrolling.Modifiers.PreventDefault": { "additionalProperties": false, "description": "No action.", "properties": { "type": { "const": "preventDefault", "type": "string" } }, "required": [ "type" ], "type": "object" }, "Scheme.Scrolling.Modifiers.Zoom": { "additionalProperties": false, "description": "Zoom in and out using ⌘+ and ⌘-.", "properties": { "type": { "const": "zoom", "type": "string" } }, "required": [ "type" ], "type": "object" }, "Secondary": { "const": 1, "description": "Secondary button, usually the right button.", "type": "number" }, "SingleValueOrArray": { "anyOf": [ { "$ref": "#/definitions/Scheme.If.Category" }, { "items": { "$ref": "#/definitions/Scheme.If.Category" }, "type": "array" } ] }, "SingleValueOrArray": { "anyOf": [ { "$ref": "#/definitions/Scheme.If" }, { "items": { "$ref": "#/definitions/Scheme.If" }, "type": "array" } ] } } }