From a0976c30091fe48329b2610d22666a35e1e30d96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Wed, 5 Feb 2020 11:51:06 +0100 Subject: [PATCH 01/27] GPII-4226: Removed settings from tests for disabled incomplete transforms --- .../test/data/jaws_application.json | 31 ------------------- .../jaws_application_expected.json | 5 --- 2 files changed, 36 deletions(-) diff --git a/gpii/node_modules/matchMakerFramework/test/data/jaws_application.json b/gpii/node_modules/matchMakerFramework/test/data/jaws_application.json index 8468d354a..0476694e3 100644 --- a/gpii/node_modules/matchMakerFramework/test/data/jaws_application.json +++ b/gpii/node_modules/matchMakerFramework/test/data/jaws_application.json @@ -5,38 +5,7 @@ "name": "Default preferences", "preferences": { "http://registry.gpii.net/applications/com.freedomscientific.jaws": { - "Voice Profiles.ActiveVoiceProfileName" : "GPII", "Options.SayAllIndicateCaps" : 0, - "ENU-Global.Rate" : 100, - "ENU-Global.Pitch" : 70, - "ENU-Global.Volume" : 100, - "ENU-Global.Punctuation" : 2, - "ENU-JAWSCursor.Rate": 100, - "ENU-Keyboard.Rate": 100, - "ENU-MenuAndDialog.Rate": 100, - "ENU-Message.Rate": 100, - "ENU-PCCursor.Rate": 100, - "ENU-JAWSCursor.Pitch": 70, - "ENU-Keyboard.Pitch": 70, - "ENU-MenuAndDialog.Pitch": 70, - "ENU-Message.Pitch": 70, - "ENU-PCCursor.Pitch": 70, - "ENU-JAWSCursor.Volume": 100, - "ENU-Keyboard.Volume": 100, - "ENU-MenuAndDialog.Volume": 100, - "ENU-Message.Volume": 100, - "ENU-PCCursor.Volume": 100, - "ENU-JAWSCursor.Punctuation": 2, - "ENU-Keyboard.Punctuation": 2, - "ENU-MenuAndDialog.Punctuation": 2, - "ENU-Message.Punctuation": 2, - "ENU-PCCursor.Punctuation": 2, - "ENU-Global.SynthLangString": "Italian", - "ENU-JAWSCursor.SynthLangString": "Italian", - "ENU-Keyboard.SynthLangString": "Italian", - "ENU-MenuAndDialog.SynthLangString": "Italian", - "ENU-Message.SynthLangString": "Italian", - "ENU-PCCursor.SynthLangString": "Italian", "Options.TypingEcho": 3, "Options.SayAllMode": 0, "Braille.BrailleMode": 0, diff --git a/gpii/node_modules/matchMakerFramework/test/inverseCapabilities/jaws_application_expected.json b/gpii/node_modules/matchMakerFramework/test/inverseCapabilities/jaws_application_expected.json index 7ccc84062..176595be7 100644 --- a/gpii/node_modules/matchMakerFramework/test/inverseCapabilities/jaws_application_expected.json +++ b/gpii/node_modules/matchMakerFramework/test/inverseCapabilities/jaws_application_expected.json @@ -2,14 +2,9 @@ "gpii-default": { "com.freedomscientific.jaws": { "http://registry.gpii.net/common/announceCapitals": false, - "http://registry.gpii.net/common/auditoryOutLanguage": "it", - "http://registry.gpii.net/common/brailleMode": "line", "http://registry.gpii.net/common/keyEcho": true, - "http://registry.gpii.net/common/pitch": 0.7, "http://registry.gpii.net/common/punctuationVerbosity": "most", "http://registry.gpii.net/common/readingUnit": "line", - "http://registry.gpii.net/common/speechRate": 100, - "http://registry.gpii.net/common/volumeTTS": 1, "http://registry.gpii.net/common/wordEcho": true } } From 313b60c06cce64cca9ddd302f02bae7d6c5cecd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sat, 25 Jan 2020 17:37:09 +0100 Subject: [PATCH 02/27] GPII-4226: Updated SR entry for JAWS with new settings and fixes --- testData/solutions/win32.json5 | 14249 ++++++++++++++++++++++++++----- 1 file changed, 12123 insertions(+), 2126 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 0cfba1702..19bee242a 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -20,69 +20,115 @@ "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF" }, "supportedSettings": { - "Braille.AllDotsBrailleCursor": { + // ------------------- Basic Settings --------------------- + + // ------------- Basic Settings - Tutor Messages ---------- + "OutputModes.TUTOR": { "schema": { - "title": "All Dots Braille Cursor", - "description": "Whether to display the braille cursor as all dots raised instead of showing it using only dots seven and eight.", + "title": "Tutor messages", + "description": "Select which kind of menu and control help to announce", "enum": [ - 0, - 1 + "0|0|0|Tutor", + "1|1|1|Tutor", + "2|2|2|Tutor", ], "enumLabels": [ - "off", - "on" + "Turn off menu and control help", + "Announce menu and control help", + "Announce custom messages only" ], - "default": 0 - } - }, - "Braille.AttributeRotationDelay": { - "schema": { - "title": "Attribute Rotation Delay", - "description": "When in Attribute Mode and characters have multiple attributes, determines how long each attribute should be shown for. This value is in Milliseconds.", - "type": "integer", - "default": 1000 + "default": "1|1|1|Tutor", } }, - "Braille.AutoPanMode": { + + // ------------- Basic Settings - Access Key -------------- + + "OutputModes.ACCESS_KEY": { "schema": { - "title": "Auto Pan Mode", - "description": "The \"Auto Pan\" algorithm to use.", + "title": "Access Key", + "description": "Select which access keys to speak", "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 255 + "0|0|0|Access Key", + "1|1|1|Access Key", + "2|2|2|Access Key", + "3|3|3|Access Key", ], "enumLabels": [ - "off", - "move display minimally to include whole word containing cursor", - "match user pan", - "move display to show whole word at cursor nearest the middle of the display area", - "maximize text after cursor", - "maximize text before cursor", - "autopan to default structured segment", - "Smart Autopan, autopan using the best algorithm for the current situation" + "Off", + "Speak all", + "Speak menus only", + "Speak dialogs only" ], - "default": 255 + "default": "1|1|1|Access Key", } }, - "Braille.BrailleAutoDetectBluetooth": { + + // -------------------------------------------------------- + + "Options.confirmWhenExitingJAWS": { "schema": { - "title": "Autodetect Bluetooth Braille Display", - "description": "Whether to automatically detect bluetooth displays.", - "enum": [0,1], + "title": "Confirm when Exiting JAWS", + "description": "Whether or not to present a confirmation menu when exiting JAWS.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 + } + }, + "Options.AutomaticNotificationOfUpdates": { + "schema": { + "title": "Automatic Updates Notifications", + "description": "Whether or not to present automatic notifications about JAWS updates.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 + } + }, + "Options.ViewMode": { + "schema": { + "title": "View Mode", + "description": "Select whether to run JAWS from the system tray or not.", + "enum": [0, 1], "enumLabels": ["off", "on"], "default": 0 } }, - "Braille.BrailleAutoRouteToCursor": { + "Options.bVirtViewer": { + "schema": { + "title": "Virtual Viewer", + "description": "Enable or disable showing the 'Virtual Viewer' on the screen.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 0 + } + }, + "Options.KeyboardType": { + "schema": { + "title": "Keyboard Type", + "description": "Set the keyboard type being used.", + "enum": [ + "Desktop", + "Laptop", + "Kinesis" + ], + "enumLabels": [ + "Desktop", + "Laptop", + "Kinesis" + ], + "default": "Desktop" + } + }, + + // -------------- Basic Settings: Advanced ---------------- + + // NOTE: Placed in configuration3 due to different INI file. + + // ---- Basic Settings: Windows Settings Parameters ------- + + "Options.DisableShadowMouse": { "schema": { - "title": "Braille Auto Route To Cursor", - "description": "Whether to automatically route the Braille display to the active cursor whenever the active cursor moves or a key on the keyboard is pressed.", + "title": "Pointer Shadow", + "description": "Disable Pointer Shadow.", "enum": [ 0, 1 @@ -91,21 +137,13 @@ "off", "on" ], - "default": 1 - } - }, - "Braille.BrailleCursorBlinkRate": { - "schema": { - "title": "Braille Cursor Blink Rate", - "description": "Speed, in milliseconds, at which the cursor on the braille display should blink.", - "type": "integer", - "default": 500 + "default": 0 } }, - "Braille.BrailleKeyInterruptSpeech": { + "Options.DisablePersonalizedMenus": { "schema": { - "title": "Braille Key Interrupt Speech", - "description": "Whether to Interrupt speech if a keystroke in the Braille display is pressed.", + "title": "Personalized Menus", + "description": "Disable Personalized Menus.", "enum": [ 0, 1 @@ -117,10 +155,10 @@ "default": 1 } }, - "Braille.BrailleMessages": { + "Options.DisableHideAltKey": { "schema": { - "title": "Enable Flash Messages", - "description": "Whether or not to show Flash Messages on a braille display.", + "title": "", + "description": "Disable hide keyboard navigation indicators until I use the ALT Key.", "enum": [ 0, 1 @@ -129,33 +167,28 @@ "off", "on" ], - "default": 1 + "default": 0 } }, - "Braille.BrailleMode": { + "Options.IgnoreColorsSpecifiedOnWebPages": { "schema": { - "title": "Braille Mode", - "description": "Use this option to control the format of the information sent to the braille display. When Line mode is selected, JAWS sends the line of text at the current cursor position to the braille display. When Structured mode is selected, JAWS sends information to the display that is relevant to the current cursor position. The information sent includes things such as control type, dialog name, or number of items in a list. When Speech Output mode is selected, JAWS sends the same text to the display that it sends to the synthesizer. The default setting for this option is Structured.", - "type": "number", - "default": 1, + "title": "", + "description": "Ignore colors specified on web pages.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "line", - "structured", - "speech output", - "attribute indicators" - ] + "off", + "on" + ], + "default": 0 } }, - "Braille.BrailleMoveActiveCursor": { + "Options.DisableLanguageBar": { "schema": { - "title": "Braille Move Active Cursor", - "description": "Whether to move the active cursor when the Braille cursor moves.", + "title": "Language Bar", + "description": "Disable Language Bar.", "enum": [ 0, 1 @@ -167,21 +200,52 @@ "default": 0 } }, - // Enable this if requested, we have no reasonable way of presenting a UI at the moment. - // "Braille.BrailleShowMarking": { - // "schema": { - // "title": "Braille Marking", - // "description": "Show Marking may be any combination of the following ored together brlMarkNothing= 0, brlMarkText = 1, brlMarkBold = 2, brlMarkItalic = 4, brlMarkUnderline = 8, brlMarkStrikeout = 16, brlMarkGraphic = 32, brlMarkHighlight = 64, brlMarkColor= 128, // see brlOptColorsToMark string option brlMarkExtended=256, // things like spelling and grammatical errors in MSWord etc, script defined marking brlMarkDoubleStrikeout=512, brlMarkSuperscript=1024, brlMarkSubscript=2048, brlMarkShadow=4096, brlMarkOutline=8192, brlMarkEmboss=16384, brlMarkEngrave=32768, Note when Extended marking is on, JAWS calls the PointNeedsMarking function passing in the coordinates of each cell to determine whether text at that location requires marking. This is useful when the attribute you want to mark is not actually known to JAWS such as the red and green zigzags in MSWord indicating spelling or grammatical errors.", - // "type": "integer", - // "minimum": 0, - // "maximum": 65536, - // "default": 64 - // } - // }, - "Braille.BrailleSleepMode": { + + // --------------------- Forms Mode ------------------------- + + // ---------- Forms Mode: Select Forms Mode ----------------- + + "FormsMode.AutoFormsMode": { + }, + + // ------------------ Text Processing ----------------------- + + // ------------- Text Processing - General ------------------ + + "Options.Filter": { + // NOTE-TODO: This setting has a weird relationship with the + // setting "Repetitions", in the UI, the last element for the + // dropdown list "Filter Repeated Characters", is + // "Count Repeated Characters". When this item is selected, the value + // of this setting is not changed, but the value of "Repetitions" + // setting is set to one. This is could imply that this setting is + // invalidated by the use of the setting "Repetitions". + "schema": { + "title": "Filter Repeated Characters", + "description": "Determines how repeated characters are handled.", + "enum": [ + 3, + 4, + 5, + 6, + 0 + ], + "enumLabels": [ + "Say First 3 Repeated Characters", + "Say First 4 Repeated Characters", + "Say First 5 Repeated Characters", + "Say First 6 Repeated Characters", + "Say All Repeated Characters" + ], + "default": 3 + } + }, + "Options.Repetitions": { "schema": { - "title": "Enable Braille Sleep Mode", - "description": "Whether to turn off the braille driver, typically used to disable braille for a specific application.", + "title": "Repetitions", + "description": "Whether or not to count repeated characters.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -189,60 +253,117 @@ "enumLabels": [ "off", "on" + ] + } + }, + "Options.IndicateCaps": { + "schema": { + "title": "Indicate Caps", + "description": "When to indicate the presence of capital letters.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1, + 2, + 3 ], - "default": 0 + // TODO: Once this is moved into the LSR, these will all be message keys. + "enumLabels": [ + "No Indication", + "Read By Char, Spell", + "Read By Word, Char, Spell", + "Read By Line, Word, Char, Spell" + ] } }, - "Braille.BrailleVerbosity": { + "Options.IndicateSelected": { "schema": { - "title": "Braille Verbosity", - "description": "Sets braille verbosity for Flash messages.", + "title": "List Item", + "description": "Use this list to determine how JAWS describes list box items. Select \"Say None\" to silence reading of list box descriptions. When you select \"Say Selected\", JAWS only tells you when list box items are selected. When you select the \"Say Not Selected\" item, JAWS only tells you when list box items are not selected. This is the default setting. If you select \"Say Both\", JAWS tells you when list box items are selected, and when they are not selected.", + "default": 2, "enum": [ 0, 1, - 2 + 2, + 3 ], "enumLabels": [ - "beginner", - "intermediate", - "advanced" + "None", + "Selected", + "Not Selected", + "Both" ] } }, - "Braille.ContractedBrailleInput": { + "Options.SpellAlphanumericData": { "schema": { - "title": "Contracted Braille Input", - "description": "Enable contracted braille to be entered on the braille display's keyboard.", + "title": "Spell Alphanumeric Data", + "description": "How to read alphanumeric data.", "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "off", - "on" + "Off", + "Spell", + "Spell Phonetically" ], "default": 0 } }, - "Braille.EightDotBraille": { + + // --- Text Processing - Indicate Newlines When ------------ + + "Options.IndicateNewlinesAndParagraphs": { "schema": { - "title": "Braille Dots", - "description": "The number of braille dots (six or eight) to use.", + "title": "Indicate Newlines and Paragraphs", + "description": "Whether/how to indicate the presence of new lines and paragraphs.", + "type": "integer" + }, + "label": "bitmask" + }, + + // --- Text Processing - Phonetic Announcement ------------ + + "Options.SpellPhonetic": { + "schema": { + "title": "Spell Phonetic Always", + "description": "How to announce word spellings.", + "type": "number", + "default": 0, "enum": [ 0, 1 ], "enumLabels": [ - "6 dot braille", - "8 dot braille" + "off", + "on" + ] + } + }, + "Options.PhoneticCharAfterPause": { + "schema": { + "title": "Announce Phonetic Character after Pause", + "description": "Whether pausing on character will cause JAWS to speak it phonetically while navigating text by character.", + "enum": [0, 5, 10, 15], + "enumLabels": [ + "Never", + "After a half second pause", + "After a one second pause", + "After a one and a half second pause" ], - "default": 1 + "default": 15 } }, - "Braille.FilterControlCharacters": { + + // ------------------------------------------------------- + + "Options.SmartWordReading": { "schema": { - "title": "Filter Control Characters", - "description": "Whether or not to filter certain control characters (currently newlines, linefeeds and tabs).", + "title": "Smart Word Reading", + "description": "Whether or not to enable \"smart reading\" when using the \"Say Word\" command.", "enum": [ 0, 1 @@ -254,10 +375,12 @@ "default": 1 } }, - "Braille.GeneralizeBullets": { + "Options.MixedCase": { "schema": { - "title": "Generalize Bullets", - "description": "Whether to treat all bullets the same.", + "title": "Mixed Case processing", + "description": "Whether to announce words with embedded capital letters (such as \"MixedCase\") as separate words.", + "type": "number", + "default": 1, "enum": [ 0, 1 @@ -265,14 +388,15 @@ "enumLabels": [ "off", "on" - ], - "default": 0 + ] } }, - "Braille.Grade2SuppressCapitalSigns": { + "Options.Dictionary": { "schema": { - "title": "Grade2 Suppress Capital Signs", - "description": "When Grade 2 is on, whether or not to show capital indicators.", + "title": "Dictionary", + "description": "Whether words, phrases, abbreviations, or symbols should be processed through a global or application specific dictionary to determine proper pronunciation. This is enabled by default.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -280,14 +404,15 @@ "enumLabels": [ "off", "on" - ], - "default": 0 + ] } }, - "Braille.MessagePrefixes": { + "Options.LanguageDetection": { "schema": { - "title": "Enable Flash Message Prefixes", - "description": "If a display has no Status Cells, whether or not to prepend the Message Prefix to the Flash Message.", + "title": "Language Detection", + "description": "Whether to enable automatic Language detection.", + "type": "number", + "default": 1, "enum": [ 0, 1 @@ -295,45 +420,13 @@ "enumLabels": [ "off", "on" - ], - "default": 1 - } - }, - "Braille.MessageStatusText": { - "schema": { - "title": "Message Status Text", - "description": "The text to show in the status area of the display when a Flash message is being shown if the display has no status cells, the text will be prepended to the Flash message.", - "type": "string", - "default": "msg" - } - }, - "Braille.MessageTime": { - "schema": { - "title": "Flash Message Timeout", - "description": "When a Flash message is sent to the display via a script, how long in milliseconds should it be shown if not specified by the script.", - "type": "integer", - "default": 5000 - } - }, - "Braille.ReversePanningButtons": { - "schema": { - "title": "Reverse Panning Buttons", - "description": "Whether or not panning buttons are reversed.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 + ] } }, - "Braille.StructuredModeReverseOrder": { + "Options.GeneralizeDialect": { "schema": { - "title": "Reverse Order of Structured Data", - "description": "Whether to reverse the order of the structured data to show the focused control's info first, followed by its grouping information, and then the dialog box information. By default, items are read in the opposite order.", + "title": "Generalize Dialect", + "description": "Whether to switch languages when encountering content with the same underlying base language.", "enum": [ 0, 1 @@ -345,18 +438,10 @@ "default": 1 } }, - "Braille.UseHowManyStatusCells": { - "schema": { - "title": "Use How Many Status Cells", - "description": "How many cells to use for status information if the display defines none of its own.", - "type": "integer", - "default": 4 - } - }, - "Braille.UseScreenModelForBrailleInRichEdits": { + "Options.DetectKeyboardInputLanguage": { "schema": { - "title": "Use Screen Model for Braille in Rich Edits", - "description": "Whether to use the screen model when providing field prompts and text in Braille with rich edits.", + "title": "Detect Keyboard Languages", + "description": "Whether to detect the language used by the keyboard.", "enum": [ 0, 1 @@ -368,10 +453,11 @@ "default": 1 } }, - "Braille.WordWrap": { + "RichEdit and Edit Control Options.UseOSM": { "schema": { - "title": "Enable Word Wrap", - "description": "Whether or not to allow words to be split in order to maximize the use of the braille display. Ignored if panning is set to fixed increment.", + "title": "Enhanced Edit Support", + "description": "Whether to activate or deactivate enhanced edit support.", + "type": "number", "enum": [ 0, 1 @@ -383,10 +469,12 @@ "default": 1 } }, - "FSCasts.EnableNotifications": { + "Options.SaySelectedFirst": { "schema": { - "title": "FSCast Notifications", - "description": "Whether to have JAWS display a dialog when new podcasts from Freedom Scientific are available.", + "title": "Say Selected First", + "description": "Whether to announce the selected text first.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -394,14 +482,13 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "HTML.Abbreviations": { + "Options.SayWindowTypeFirst": { "schema": { - "title": "Abbreviations", - "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", + "title": "Say Window Type First", + "description": "Whether to announce the type of window before announcing the window title/text.", "type": "number", "default": 0, "enum": [ @@ -414,10 +501,12 @@ ] } }, - "HTML.AccessKeys": { + "Options.SayStateFirst": { "schema": { - "title": "Speak Access Keys Within Web Page", - "description": "Whether to announce HTML element access keys when reading a web page.", + "title": "Say State First", + "description": "Whether to announce the window state before title/text.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -425,14 +514,13 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "HTML.Acronyms": { + "Options.Indentation": { "schema": { - "title": "Acronyms", - "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", + "title": "Indentation", + "description": "Whether or not to announce indentation.", "type": "number", "default": 0, "enum": [ @@ -445,55 +533,72 @@ ] } }, - "HTML.BlockQuoteIndication": { + + // --- Text Processing - Number And Date Processing -------- + + "Options.SayNumericDates": { "schema": { - "title": "Block Quote Indication", - "description": "Whether to indicate HTML block quotations.", + "title": "Say Numeric Dates", + "description": "How to announce numeric dates. With no translation, dates are read as numbers. With some translation, dd-mm-yy values are read as text. With extended translation, both dd-mm-yy and dd-mm values are read as text.", + "type": "number", + "default": 0, "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "off", - "on" - ], - "default": 1 + "No Translation", + "Some Translation", + "Extended Translation" + ] } }, - "HTML.EmbeddedActiveXSupport": { + "Options.Numbers": { "schema": { - "title": "Embedded ActiveX Support", - "description": "Whether or not to support embedded ActiveX controls such as Macromedia Flash Movies. If enabled, only objects defined in JActiveX.ini are affected by this setting.", + "title": "Numbers", + "description": "How to announce numbers.", + "type": "number", + "default": 0, "enum": [ 0, - 1 + 1, + 2, + 3 ], "enumLabels": [ - "off", - "on" - ], - "default": 1 + "Controlled By Synthesizer", + "Single Digits", + "Pairs", + "Full Numbers" + ] } }, - "HTML.ExpandAbbreviations": { + "Options.SingleDigitThreshold": { "schema": { - "title": "Expand Abbreviations", - "description": "Whether or not to expand abbreviations (using the abbr tag).", + "title": "Single Digit Threshold", + "description": "The number of digits a number must contain before it is read as single digits (like a phone number). Defaults to five.", "enum": [ 0, - 1 + 5, + 6, + 7, + 8 ], "enumLabels": [ - "off", - "on" + "Controlled By Synthesizer", + "5 or more digits", + "6 or more digits", + "7 or more digits", + "8 or more digits" ], - "default": 0 + "default": 5 } }, - "HTML.ExpandAcronyms": { + "Options.SpeakNumbersSepByDashesAsDigits": { "schema": { - "title": "Expand Acronyms", - "description": "Whether or not to expand acronyms (using the acronym tag).", + "title": "Numbers Containing Dashes as Digits", + "description": "Whether to read numbers that contain dashes (such as phone numbers) as a series of digits.", "enum": [ 0, 1 @@ -502,15 +607,15 @@ "off", "on" ], - "default": 0 + "default": 1 } }, - "HTML.FilterConsecutiveDuplicateLinks": { + "Options.SayDollars": { "schema": { - "title": "Filter Consecutive Duplicate Links", - "description": "Whether to skip (not announce) consecutive duplicate links.", + "title": "Say Dollars", + "description": "Whether to announce currency symbols.", "type": "number", - "default": 1, + "default": 0, "enum": [ 0, 1 @@ -521,483 +626,472 @@ ] } }, - "HTML.FormFieldPromptOptions": { + + // -------------- Text Processing - Proofing ---------------- + + // ----- TODO: Check relationship of this two settings ------ + + "RichEdit and Edit Control Options.CountableSelectionContextItems": { "schema": { - "title": "Form Field Prompt Options", - "description": "Which attributes to prefer when describing form fields.", + "title": "Speak Spelling Error Count", + "description": "Wether to speak spelling error count.", "enum": [ 0, - 1, 2, - 3, 4, - 5 + 6 ], "enumLabels": [ - "favor label tag", - "favor title attribute", - "favor alt attribute", - "favor longest", - "use both label and title if different", - "use both label and alt if different" + "Off", + "Speak Spelling Error Count", + "Speak Grammar /Proofing Error Count", + "Speak Spelling Error Count and Speak Grammar /Proofing Error Count" ], - "default": 0 + "default": 2 } }, - "HTML.FormsModeAutoOff": { + "RichEdit and Edit Control Options.SelectionContextFlags": { "schema": { - "title": "Forms Mode Auto Off", - "description": "Whether or not Forms Mode should be automatically turned off when the current page is updated.", + "title": "Context Selection Flags", + "description": "Select the context flags for detection of spelling/grammar errors.", "enum": [ 0, - 1 + 1, + 3 ], "enumLabels": [ - "Leave Forms Mode on", - "Turn Forms Mode off automatically" + "Off", + "Say Misspelled", + "Grammar and Advanced Proofing" ], - "default": 1 + "default": 2 } }, - "HTML.GraphicalLinkLastResort": { + + // -------------- --------------------------- ---------------- + + "Options.SpellingAttributeOverride": { + // NOTE-TODO: Unknown setting format, but when it's selected + // in the menu "Detect Spelling While Navigating" the + // value is set to "|messageVoice|BuzzerShort.wav|messageVoice|" "schema": { - "title": "Graphical Link Last Resort", - "description": "What to announce when a graphical link contains no title or alt text for its enclosing image and the enclosing anchor has no title.", - "enum": [ 0, 1], - "enumLabels": ["Read the image's src", "Read the image's enclosing anchor's href."], - "default": 0 + "title": "Spelling Attribute Override", + "description": "Overrides the behavior when a spelling mistake is found. Complete functionality is unknown.", + "type": "string" } }, - "HTML.IdentifyLinkType": { + "Options.IndicateMistypedWord": { "schema": { - "title": "Identify Link Type", - "description": "Whether to distinguish the various types of links e.g. \"FTP link\", \"mailto link\" versus simply announcing \"link\" for all types of links.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], + "title": "Indicate Mistyped Words", + "description": "Whether to indicate a mistyped word.", + "enum": [0, 1], + "enumLabels": ["off", "on"], "default": 1 } }, - "HTML.IdentifySamePageLinks": { + "Options.GrammarAttributeOverride": { + // NOTE-TODO: The format of the settign is unknown, but + // when the setting is activated is set to: "1|messageVoice||messageVoice|" "schema": { - "title": "Identify Same Page Links", - "description": "Whether to identify links that point to other places on the current page by saying \"same page link\".", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Grammar and Advanced Proofing", + "description": "Enable or disable 'Grammar and Advanced Proofing' feature.", + "type": "string" } }, - "HTML.IgnoreInlineFrames": { + "Options.IgnoreSpellingAndGrammarErrorsDuringSayAll": { "schema": { - "title": "Ignore Inline Frames", - "description": "Whether to ignore inline frames, such as those used for advertising.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], + "title": "Apply options during SayAll", + "description": "Apply spelling options for errors during SayAll.", + "enum": [0, 1], + "enumLabels": ["off", "on"], "default": 0 } }, - "HTML.IncludeGraphics": { + + // -------- Text Processing - Proofing - Braille ------------ + + "OSM.UnderlineProofreadingErrors": { "schema": { - "title": "Include Graphics", - "description": "Whether/when to include graphics in web pages.", + "title": "Underline Spelling and Grammar errors", + "description": "Underline Speeling Errors and/or Underline Grammatical and advanced proofing errors.", "enum": [ 0, 1, - 2 + 2, + 3 ], "enumLabels": [ - "never include graphics", - "include graphics that have labels, i.e. alt=attributes", - "include all graphics" + "Off", + "Underline Spelling Errors", + "Underline Grammatical and advanced proofing errors", + "Underline Spelling Errors and Underline Grammatical and advanced proofing errors" ], "default": 1 } }, - "HTML.IndicateColSpan": { + + // ------------ Text Processing - Proofing ----------------- + + // -------------------- Speech Verbosity ------------------- + + "Options.Verbosity": { "schema": { - "title": "Indicate ColSpan for Braille", - "description": "Whether to announce column spans when reading table data in web pages.", + "title": "Verbosity", + "description": "How verbose announcements should be.", + "type": "number", + "default": 0, "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "off", - "on" - ], - "default": 1 + "Beginner, Highest", + "Intermediate", + "Advanced, Lowest" + ] } }, - "HTML.IndicateElementAttributes": { + + // ---- Speech Verbosity: Configure Verbosity Levels ------- + + // NOTE: This settings have the following format: + // ========================================================= + + // - "1|2|2|Help Balloon" + // + // The first three values changes if the item is going + // to be spoken, if the different 3 verbosity levels, + // being first "Beginner", the second one "Itermediate" and + // the third one "Advanced". If the element isn't going to + // be spoken the value is 0, if it's "Short" is "2" and if + // it's Long it's "1". The last element is a setting identifier + // extracted for the following list: + // + // - "Application Start Message" + // - "Control Description" + // - "Control Group Name" + // - "Control Name" + // - "ControlType" + // - "Dialog Name" + // - "Dialog Text" + // - "Document Name" + // - "Error message" + // - "Help Balloon" + // - "Help Message" + // - "Item Number" + // - "Item State" + // - "JAWS Message" + // - "Mouse Echo" + // - "Position Information" + // - "Screen Message" + // - "Select" + // - "Selected Item" + // - "Smart Help Messages" + // - "Status Information" + // - "Toasts" + // - "ToolTip" + + "OutputModes.CONTROL_GROUP_NAME": { "schema": { - "title": "Indicate Element Attributes", - "description": "Whether to announce any HTML attributes defined in the \"HTML Attributes Behavior\" map of the current scheme.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Control Group Name Verbosity", + "description": "How verbose \"control group names\" announcements should be.", + "type": "string" } }, - "HTML.ListIndication": { + "OutputModes.APPLICATION_START_MESSAGE": { "schema": { - "title": "List Indication", - "description": "Whether to announce lists with the item count and nesting level.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Application Start Message Verbosity", + "description": "How verbose \"application start message\" announcements should be.", + "type": "string" } }, - "HTML.MaxLineLength": { + "OutputModes.CONTROL_DESCRIPTION": { "schema": { - "title": "Max Line Length", - "description": "The maximum number of characters which can appear on a line of a paragraph.", - "type": "integer", - "default": 150 + "title": "Control Description Verbosity", + "description": "How verbose \"Control Description\" announcements should be.", + "type": "string" } }, - "HTML.PageRefreshFilter": { + "OutputModes.CONTROL_NAME": { "schema": { - "title": "Page Refresh Filter", - "description": "How often, in milliseconds, to allow all refreshes. Set to 0 to allow all refreshes without any delay.", - "type": "integer", - "default": 0 + "title": "Control Name Verbosity", + "description": "How verbose \"Control Name\" announcements should be.", + "type": "string" } }, - "HTML.SayAllOnDocumentLoad": { + "OutputModes.CONTROLTYPE": { "schema": { - "title": "Read Web Pages Automatically When Loaded", - "description": "Whether to automatically read web pages when they're first loaded.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Control Type Verbosity", + "description": "How verbose \"Control Type\" announcements should be.", + "type": "string" } }, - "HTML.ScreenFollowsVCursor": { + "OutputModes.DIALOG_NAME": { "schema": { - "title": "Screen Follows Virtual Cursor", - "description": "Whether the screen should automatically scroll to display the line on which the Virtual Cursor is positioned.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Dialog Name Verbosity", + "description": "How verbose \"Dialog Name\" announcements should be.", + "type": "string" } }, - "HTML.SkipPastRepeatedText": { + "OutputModes.DIALOG_TEXT": { "schema": { - "title": "Skip Past Repeated Text", - "description": "Whether to position the Virtual Cursor on the first line which is different than the previous page whenever a new page is displayed.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Dialog Text Verbosity", + "description": "How verbose \"Dialog Text\" announcements should be.", + "type": "string" } }, - "HTML.SmartNavigation": { + "OutputModes.DOCUMENT_NAME": { "schema": { - "title": "Smart Navigation", - "description": "Whether to enable \"smart navigation\" when reading web pages.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 + "title": "Document Name Verbosity", + "description": "How verbose \"Document Name\" announcements should be.", + "type": "string" } }, - "HTML.TableDetection": { + "OutputModes.ERROR_MESSAGE": { "schema": { - "title": "Table Detection", - "description": "Whether to announce all tables, or only data tables.", - "enum": [0, 1], - "enumLabels": ["Indicate all tables", "Only indicate data tables"], - "default": 1 + "title": "Error Message Verbosity", + "description": "How verbose \"Error Message\" announcements should be.", + "type": "string" } }, - "HTML.TblMaxCellTextLength": { + "OutputModes.HELP_BALLOON": { "schema": { - "title": "Table Maximum Cell Text Length", - "description": "A cell is considered a valid data cell if it contains upto this number of characters.", - "type": "integer", - "default": 250 + "title": "Help Balloon Verbosity", + "description": "How verbose \"Help Balloon\" announcements should be.", + "type": "string" } }, - "HTML.TblMinCellTextLength": { + "OutputModes.HELP_MESSAGE": { "schema": { - "title": "Table Minimum Cell Text Length", - "description": "A cell is considered a valid data cell if it contains at least this number of characters.", - "type": "integer", - "default": 1 + "title": "Help Message Verbosity", + "description": "How verbose \"Help Message\" announcements should be.", + "type": "string" } }, - "HTML.TblMinTextColumns": { + "OutputModes.ITEM_NUMBER": { "schema": { - "title": "Table Minimum Text Columns", - "description": "This option specifies the minimum number of columns which must contain text in order for the table to be considered a data table.", - "type": "integer", - "default": 2 + "title": "Item Number Verbosity", + "description": "How verbose \"Item Number\" announcements should be.", + "type": "string" } }, - "HTML.TblMinTextRows": { + "OutputModes.ITEM_STATE": { "schema": { - "title": "Table Minimum Text Rows", - "description": "This option specifies the minimum number of rows which must contain text in order for the table to be considered a data table.", - "type": "integer", - "default": 2 + "title": "Item State Verbosity", + "description": "How verbose \"Item State\" announcements should be.", + "type": "string" } }, - "HTML.TblMinValidDataRows": { + "OutputModes.JAWS_MESSAGE": { "schema": { - "title": "Table Minimum Valid Data Rows", - "description": "Next options used for configuring how data tables are detected This option specifies the minimum number of valid data rows that a table must contain in order for it to be considered a data table.", - "type": "integer", - "default": 2 + "title": "JAWS Message Verbosity", + "description": "How verbose \"JAWS Message\" announcements should be.", + "type": "string" } }, - "HTML.TblValidRowThreshold": { + "OutputModes.MOUSE_ECHO": { "schema": { - "title": "Table Valid Row Threshold", - "description": "This option specifies the minimum number of cells that a row must contain in order for it to be considered a valid data row.", - "type": "integer", - "default": 2 + "title": "Mouse Echo Verbosity", + "description": "How verbose \"Mouse Echo\" announcements should be.", + "type": "string" } }, - "HTML.TextBlockLength": { + "OutputModes.POSITION_INFORMATION": { "schema": { - "title": "Text Block Length", - "description": "The number of consecutive characters that must appear in a web page for JAWS to treat this as a block of text.", - "type": "integer", - "default": 25 + "title": "Position Information Verbosity", + "description": "How verbose \"Position Information\" announcements should be.", + "type": "string" } }, - "HTML.UseLegacyIESupport": { + "OutputModes.SCREEN_MESSAGE": { "schema": { - "title": "Use Legacy IE Support", - "description": "Whether or not to use legacy IE support instead of the default FS Dom Server support.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Screen Message Verbosity", + "description": "How verbose \"Screen Message\" announcements should be.", + "type": "string" } }, - "HTML.WrapNavigation": { + "OutputModes.SELECT": { "schema": { - "title": "Wrap Navigation", - "description": "Whether or not to allow navigation keystrokes such as tab and shift tab to wrap to the top or bottom of the document.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Selection Verbosity", + "description": "How verbose \"Selection\" announcements should be.", + "type": "string" } }, - "Options.AllCapsIndicator": { + "OutputModes.SELECTED_ITEM": { "schema": { - "title": "AllCapsIndicator", - "description": "The text to read before text that appears in all capital letters.", - "type": "string", - "default": "all cap" + "title": "Selected Item Verbosity", + "description": "How verbose \"Selected Item\" announcements should be.", + "type": "string" } }, - "Options.AllowMouseEchoWhenMuted": { + "OutputModes.SMART_HELP_MESSAGES": { "schema": { - "title": "Allow Mouse Echo", - "description": "Whether to echo mouse movement when otherwise muted.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 + "title": "Smart Help Messages Verbosity", + "description": "How verbose \"Smart Help Messages\" announcements should be.", + "type": "string" + } + }, + "OutputModes.STATUS_INFORMATION": { + "schema": { + "title": "Status Information Verbosity", + "description": "How verbose \"Status Information\" announcements should be.", + "type": "string" + } + }, + "OutputModes.TOASTS": { + "schema": { + "title": "Toasts Verbosity", + "description": "How verbose \"Toasts\" announcements should be.", + "type": "string" + } + }, + "OutputModes.TOOLTIP": { + "schema": { + "title": "Tooltip Verbosity", + "description": "How verbose \"Tooltip\" announcements should be.", + "type": "string" } }, - "Options.AllowSpeechOnDemandWhenMuted": { + + // ========================================================= + + // -------------------- Speech Options ------------------ + + "Options.SpeechMode": { "schema": { - "title": "Allow Reading Commands", - "description": "Whether to allow speech on demand when otherwise muted.", + "title": "Speech Mode", + "description": "The \"speech mode\" to use, either \"Full\" or \"Less\".", "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "Full speech", + "Less speech" ], - "default": 1 + "default": 0 } }, - "Options.AllowTypingEchoWhenMuted": { + "Options.LessSpeechMode": { "schema": { - "title": "Allow Typing Echo", - "description": "Whether to echo typed keys when otherwise muted.", + "title": "Less Speech Options", + "description": "How to behave when in \"Less Speech Mode\".", "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "Speech On Demand", + "Mute Speech" ], "default": 0 } }, - "Options.AllowWebAppReservedKeystrokes": { - "schema": { - "title": "Allow Webapp-reserved Keystrokes", - "description": "When both JAWS and a website such as Facebook support a key shortcut, whether to handle the key in JAWS (the default) or pass the key to the web app.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 1 - } - }, - "Options.AnnounceMultilineEdit": { - "schema": { - "title": "Announce Multiline Edit Controls", - "description": "Whether to announce multi-line edit controls.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 0 - } - }, - // This does not seem safe to update, as we have no idea which displays are available on a given machine. - // "Options.BrailleDisplay": { + + // TODO: Setting should remain disabled until GPII-4300 is solved. + // ============================================================== + + // "Options.AllowSpeechOnDemandWhenMuted": { // "schema": { - // "title": "Braille Display", - // "description": "The braille display to use.", - // "type": "string", - // "default": "Braille1" + // "title": "Allow Reading Commands", + // "description": "Whether to allow speech on demand when otherwise muted.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 1 // } // }, - "Options.CapIndicator": { + // "Options.AllowMouseEchoWhenMuted": { + // "schema": { + // "title": "Allow Mouse Echo", + // "description": "Whether to echo mouse movement when otherwise muted.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, + // "Options.AllowTypingEchoWhenMuted": { + // "schema": { + // "title": "Allow Typing Echo", + // "description": "Whether to echo typed keys when otherwise muted.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, + + // ============================================================== + + // ------------- Speech and Sounds Schemes ---------------- + + "Options.Scheme": { "schema": { - "title": "Cap Indicator", - "description": "The text to read before a capital letter.", + "title": "Scheme", + "description": "Whether or not to intercept CreateDIBSection Note that this value is only read once per JAWS session at startup thus changing this value while JAWS is running has no effect.", "type": "string", - "default": "cap" - } - }, - "Options.CaretBlinkRate": { - "schema": { - "title": "Caret Blink Rate", - "description": "How fast the caret blinks, in milliseconds.", - "type": "integer", - "default": 53, - "minimum": 1 - } - }, - "Options.CaretDetect": { - "schema": { - "title": "Caret Detect", - "description": "How many cursor blinks are used to locate the caret.", - "type": "integer", - "default": 1, - "minimum": 1 - } - }, - "Options.CaretDetectTimeOut": { - "schema": { - "title": "Caret Detect Timeout", - "description": "The number of milliseconds before JAWS for Windows will give up looking for the caret.", - "type": "integer", - "default": 250, - "minimum": 0 - } - }, - "OSM.CaretTimeOut": { - "schema": { - "title": "Caret Time Out", - "description": "The time in milliseconds to wait before redrawing the caret.", - "type": "integer", - "default": 1000 - } - }, - "Options.Case": { - "schema": { - "title": "Case", - "description": "Whether to indicate the case of spoken text with a change of inflection.", - "type": "number", - "default": 1, "enum": [ - 0, - 1 + "Attributes and Colors", + "Classic", + "Classic (Attributes and Font info)", + "Classic (Attributes)", + "Classic (Attributes, Font and Color)", + "Classic With Quotes", + "Colors", + "Indent (tab is 0.125 inches Script Manager)", + "Indent (Tab is Eight Spaces)", + "Indent (Tab is Four Spaces)", + "Indent (Tab is Two Spaces)", + "Kindle", + "ProofReading (Attributes and Font Info)", + "ProofReading (Attributes)", + "ProofReading (Attributes, Font Info and color)", + "SayAll Text Only", + "SayAll Text With Sounds", + "Wsual Studio .Net", + "Visual Studio .Net (Colors)", + "Wsual Studio .Net (Indent)", + "Web RentACrowd", + "Word Classic" ], - "enumLabels": [ - "off", - "on" - ] - } - }, - "Options.confirmWhenExitingJAWS": { - "schema": { - "title": "Confirm when Exiting JAWS", - "description": "Whether or not to present a confirmation menu when exiting JAWS.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 1 + "default": "Classic" } }, - "Options.CustomPageSummary": { + + // ----- Speech and Sounds Schemes: Modified schemes ----- + + // TODO: Scheme modification are a very complete feature with + // at least 100 extra settings, and stored in different configuration + // files, a more complete solution is going to be required for + // this settings. + + // ------------------- Say All ----------------------- + + // --------------- Say All Reads ----------------------- + + "Options.SayAllMode": { + // NOTE: In the user interface this settings work in combination with + // LinePauses in a single combo box. "schema": { - "title": "Custom Page Summary", - "description": "What to do when a virtual document loads for which a custom page summary has been defined.", + "title": "\"Say All\" Mode", + "description": "Sets the amount of text which \"Say All\" sends to the synthesizer as a single unit.", "type": "number", "default": 0, "enum": [ @@ -1006,31 +1100,16 @@ 2 ], "enumLabels": [ - "do nothing (\"Say All\" will be started as normal)", - "The summary will be spoken and focus left on the page at the place defined by the page", - "the summary will be presented in the virtual viewer for the user to immediately read" + "Line at a time", + "Setence at a time", + "Paragraph at a time" ] } }, - "Options.DetectKeyboardInputLanguage": { - "schema": { - "title": "Detect Keyboard Languages", - "description": "Whether to detect the language used by the keyboard.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "Options.Dictionary": { + "Options.LinePauses": { "schema": { - "title": "Dictionary", - "description": "Whether words, phrases, abbreviations, or symbols should be processed through a global or application specific dictionary to determine proper pronunciation. This is enabled by default.", + "title": "Line Pauses", + "description": "Whether to pause at end of a line.", "type": "number", "default": 0, "enum": [ @@ -1043,54 +1122,36 @@ ] } }, - // There's not even anything in the JAWS documentation for this. Disabled for now. - // "Options.DosScreenReader": { - // "schema": { - // "title": "Dos Screen Reader", - // "description": "", - // "type": "", - // "default": 0, - // "enum": [], - // "enumLabels": [] - // } - // }, - "Options.EnableEdge": { + + // --------------- Say All Scheme ----------------------- + + "Options.SayAllScheme": { + // NOTE-TODO: Setting can be a selection from multiple schemas available in the + // UI. "schema": { - "title": "Enable Edge", - "description": "Whether JAWS should provide popular JAWS browser features in Edge such as Virtual Cursor, Navigation Quick Keys, List of Objects, and many more.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 1 + "title": "\"Say All\" Scheme", + "description": "Which \"Say All\" scheme to use.", + "type": "string" } }, - "Options.Filter": { + "Options.SayAllSchemes": { + // NOTE-TODO: This setting range can't be known ahead of time because it should + // be parsed, since it's a text of the following form: + // - "Classic|Text Only|Text With Sounds" + // created using a combination of the user selected schemes to be placed in the + // menu. "schema": { - "title": "Filter", - "description": "Determines how repeated characters are handled.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5 - ], - "enumLabels": [ - "Say First 3 Repeated Characters", - "Say First 4 Repeated Characters", - "Say First 5 Repeated Characters", - "Say First 6 Repeated Characters", - "Say All Repeated Characters", - "Count Repeated Characters" - ] + "title": "\"Say All\" Schemes", + "description": "Which \"Say All\" schemes to display in the \"Select Scheme\" menu.", + "type": "string" } }, - "Options.GeneralizeDialect": { + "Options.SayBlankLineCount": { "schema": { - "title": "Generalize Dialect", - "description": "Whether to switch languages when encountering content with the same underlying base language.", + "title": "Say Blank Line Count", + "description": "In \"Say All\" mode, whether to announce the number of blank lines.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -1098,14 +1159,14 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "Options.Indentation": { + "Options.SayAllIndicateCaps": { + // The same as http://registry.gpii.net/common/announceCapitals. We should just reuse it and override with custom values "schema": { - "title": "Indentation", - "description": "Whether or not to announce indentation.", + "title": "\"Say All\" Announces Capitals", + "description": "In \"Say All\" mode, announce an initial capital letter or capitalized word.", "type": "number", "default": 0, "enum": [ @@ -1113,190 +1174,192 @@ 1 ], "enumLabels": [ - "off", - "on" + "on", + "off" ] } }, - "Options.IndicateAttributesInDialogsAndMenus": { + "Options.SayAllIgnoreShiftKeys": { "schema": { - "title": "Indicate Attributes on Dialogs and Menus", - "description": "Whether to announce attributes in dialogs and menus if the scheme allows for it.", + "title": "\"Say All\" Ignores Shift Keys", + "description": "Allows sticky keys to be used, i.e.: ignores shift keys during SayAll. User can use left/right arrow to do same functions.", "type": "number", - "default": 0, - // TODO: All of these 0,1 examples are a firm use case for an application-specific transform mechanism so that our JSON payloads can use true/false. "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" - ] + "on", + "off" + ], + "default": 1 } }, - "Options.IndicateCaps": { + + // ------------- Graphics and Symbols ---------------- + + "Options.SpeakANSIChars": { "schema": { - "title": "Indicate Caps", - "description": "When to indicate the presence of capital letters.", - "type": "number", - "default": 0, + "title": "Announce Special Symbols", + "description": "Select where to announce special symbols.", "enum": [ 0, 1, 2, 3 ], - // TODO: Once this is moved into the LSR, these will all be message keys. "enumLabels": [ - "Off", - "indicate caps when spelling or when navigating by character", - "also indicate caps when reading by words", - "also indicate caps when reading by lines" - ] - } - }, - "Options.IndicateMistypedWord": { - "schema": { - "title": "Indicate Mistyped Words", - "description": "Whether to indicate a mistyped word.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 1 + "Never", + "TypeEcho, SayChar, SpellWord", + "Also SayWord", + "Also SayAll" + ], + "default": 0 } }, - "Options.IndicateNewlinesAndParagraphs": { + "Options.SpeakCharacterValueInHex": { "schema": { - "title": "Indicate Newlines and Paragraphs", - "description": "Whether/how to indicate the presence of new lines and paragraphs.", - "type": "number", - "default": 0, + "title": "Speak Character Value In Hex", + "description": "Whether to announce the hex value of a character when numpad 5 is pressed three times quickly.", "enum": [ 0, - 1, - 2, - 3, - 4 + 1 ], "enumLabels": [ "off", - "indicate when typing and the editor or wordprocessor wraps to a new line", - "indicate when arrowing left/right or using left/right with modifiers", - "indicate when typing and also when arrowing. the method of indication is controlled by the Speech and Sounds scheme in use", - "indicate when reading text containing newline characters bitwise or the values together to indicate in multiple contexts eg a value of" - ] + "on" + ], + "default": 0 } }, - "Options.IndicateSelected": { + "Options.SpeakCharacterValueAsMultibyteSequence": { "schema": { - "title": "List Item", - "description": "Use this list to determine how JAWS describes list box items. Select \"Say None\" to silence reading of list box descriptions. When you select \"Say Selected\", JAWS only tells you when list box items are selected. When you select the \"Say Not Selected\" item, JAWS only tells you when list box items are not selected. This is the default setting. If you select \"Say Both\", JAWS tells you when list box items are selected, and when they are not selected.", - "default": 2, + "title": "Speak Character Value As Sequence of Multibyte Values", + "description": "Whether to read unicode characters as a series of multi-byte values.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "None", - "Selected", - "Not Selected", - "Both" - ] + "off", + "on" + ], + "default": 0 } }, - "Options.InitialNumlockState": { + + // ----- Graphics and Symbols: Graphic Verbosity ----- + + "OSM.IncludeGraphics": { "schema": { - "title": "Initial State of NumLock Key", - "description": "The initial state of the NumLock key.", - "type": "number", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "off at startup", - "on at startup", - "leave unmodified" - ], - "default": 0 + "title": "Include Graphics", + "description": "Which graphics to announce.", + "enum": [ 0, 1, 2 ], + "enumLabels": ["Ignore all graphics", "Announce labeled graphics only", "Announce all graphics"], + "default": 2 } }, - // TODO: Doesn't seem to work. - "Options.InsertKeyMode": { + + // -- Graphics and Symbols: Graphic Recognition Dimensions ----- + + "OSM.GraphicMinY": { "schema": { - "title": "Insert Key Mode", - "description": "The operating mode of the insert key.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "JAWS", - "Sticky" - ] + "title": "Minimum Recognition Height", + "description": "Set the minimum recognition height.", + "type": "integer", + "minimum": 0, + "maximum": 100, + "default": 10 } }, - // TODO: VERIFY WITH EXTREME PREJUDICE - "Options.JAWSInsertKey": { + "OSM.GraphicMinX": { "schema": { - "title": "JAWS Insert Key", - "description": "Whether/which insert keys can be used as a JAWS Insert.", - "type": "number", - "default": 3, - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "none", - "Numpad Insert", - "Extended Insert", - "both Numpad and Extended" - ] + "title": "Minimum Recognition width", + "description": "Set the minimum recognition width.", + "type": "integer", + "minimum": 0, + "maximum": 100, + "default": 10 } }, - "Options.JAWSPunctuationEnabled": { + "OSM.GraphicMaxY": { "schema": { - "title": "JAWS Punctuation Enabled", - "description": "Which punctuation marks to speak.", - "type": "number", - "default": 2, + "title": "Maximum Recognition width", + "description": "Set the maximum recognition width.", + "type": "integer", + "minimum": 0, + "maximum": 100, + "default": 64 + } + }, + "OSM.GraphicMaxX": { + "schema": { + "title": "Maximum Recognition width", + "description": "Set the maximum recognition width.", + "type": "integer", + "minimum": 0, + "maximum": 100, + "default": 64 + } + }, + + // ----------------- Braille General --------------------------- + + // ---------- Braille General - Language ----------------------- + + "Braille.TranslatorMode": { + "schema": { + // NOTE: This setting is a number assigned from a combination of + // the three menus "Language", "Output" and "Input". + // When the Input and Output have another value than + // "Computer Braille", the combination of the three values is + // used to generate an integer that represents the current translation + // mode. + "title": "Language", + "description": "Language to use for the translation.", + "type": "integer", + "default": 19 + } + }, + "Braille.Grade2Translation": { + "schema": { + "title": "Translate to language", + "description": "Output language to be translated into.", + "type": "integer", + "minimum": 0, + "maximum": 1, + "default": 0 + } + }, + "Braille.ContractedBrailleInput": { + "schema": { + "title": "Translate to braille", + "description": "Input language to be translated.", + "type": "integer", + "minimum": 0, + "maximum": 1, + "default": 0 + } + }, + "Braille.Grade2ExpandCurrentWord": { + "schema": { + "title": "Expand current word", + "description": "Show current word in Computer Braille.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "None", - "Some", - "Most", - "All" - ] + "off", + "on" + ], + "default": 1 } }, - // No documentation, disabled for now. - // "Options.KeyboardType": { - // "schema": { - // "title": "Keyboard Type", - // "description": "Can be one of the types defined in the default.jkm settings file.", - // "type": "string", - // "default": "Laptop" - // } - // }, - "Options.KeyRepeat": { + "Braille.Grade2SuppressCapitalSigns": { "schema": { - "title": "Key Repeat", - "description": "Whether or not to allow repeated keys. Repeated keys are allowed by default.", - "type": "number", - "default": 1, + "title": "Suppress Capital Signs", + "description": "Supress capital signs in braille.", "enum": [ 0, 1 @@ -1304,15 +1367,17 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 0 } }, - "Options.LanguageDetection": { + + // --------- Braille General - Panning -------------- + + "Braille.AllDotsBrailleCursor": { "schema": { - "title": "Language Detection", - "description": "Whether to enable automatic Language detection.", - "type": "number", - "default": 1, + "title": "All Dots Braille Cursor", + "description": "Whether to display the braille cursor as all dots raised instead of showing it using only dots seven and eight.", "enum": [ 0, 1 @@ -1320,79 +1385,160 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 0 } }, - "Options.LeftShiftSkipBack": { + "Braille.AutoPanMode": { "schema": { - "title": "Left Shift Skip Back", - "description": "How the shift keys should behave in \"Say All\" mode.", - "type": "number", - "default": 1, + "title": "AutoPan Mode", + "description": "The \"Auto Pan\" algorithm to use.", "enum": [ 0, - 1 + 2, + 255 ], "enumLabels": [ - "during SayAll, right shift will skip back and left shift will skip forward", - "during SayAll, left shift will skip back and right shift will skip forward" - ] + "Off", + "Match Manual Panning", + "Automatic" + ], + "default": 255 } }, - // TODO: Verify default - "Options.LessSpeechMode": { + "Braille.BraillePanMode": { "schema": { - "title": "Less Speech Options", - "description": "How to behave when in \"less speech mode\".", + "title": "Braille Pan Mode", + "description": "The pan mode algorithm to use.", "enum": [ 0, - 1 + 1, + 2, + 255 ], "enumLabels": [ - "Speech On Demand", - "Mute Speech" - ] + "Best Fit", + "Fixed Increment", + "Maximize Text", + "Automatic" + ], + "default": 255 } }, - "Options.LinePauses": { + "Braille.AutoAdvanceInterval": { + "schema": { + "title": "Auto Advance Maximum Interval", + "description": "The maximum advance interval to use.", + "enum": [ + 500, + 1000, + 1500, + 2000, + 2500, + 3000, + 3500, + 4000, + 4500, + 5000, + 5500, + 6000, + 6500, + 7000, + 7500, + 8000, + 8500, + 9000, + 9500, + 10000, + 10500, + 11000, + 11500, + 12000, + 12500, + 13000, + 13500, + 14000, + 14500, + 15000, + 15500, + 16000, + 16500, + 17000, + 17500, + 18000, + 18500, + 19000, + 19500, + 20000 + ], + "enumLabels": [ + "500 Milliseconds", + "1000 Milliseconds", + "1500 Milliseconds", + "2000 Milliseconds", + "2500 Milliseconds", + "3000 Milliseconds", + "3500 Milliseconds", + "4000 Milliseconds", + "4500 Milliseconds", + "5000 Milliseconds", + "5500 Milliseconds", + "6000 Milliseconds", + "6500 Milliseconds", + "7000 Milliseconds", + "7500 Milliseconds", + "8000 Milliseconds", + "8500 Milliseconds", + "9000 Milliseconds", + "9500 Milliseconds", + "10000 Milliseconds", + "10500 Milliseconds", + "11000 Milliseconds", + "11500 Milliseconds", + "12000 Milliseconds", + "12500 Milliseconds", + "13000 Milliseconds", + "13500 Milliseconds", + "14000 Milliseconds", + "14500 Milliseconds", + "15000 Milliseconds", + "15500 Milliseconds", + "16000 Milliseconds", + "16500 Milliseconds", + "17000 Milliseconds", + "17500 Milliseconds", + "18000 Milliseconds", + "18500 Milliseconds", + "19000 Milliseconds", + "19500 Milliseconds", + "20000 Milliseconds" + ], + "default": 5000 + } + }, + "Braille.UseOSM": { "schema": { - "title": "Line Pauses", - "description": "Whether to pause at end of a line.", - "type": "number", - "default": 0, + "title": "Braille Presentation and Panning", + "description": "Select presentation and panning mode.", "enum": [ 0, - 1 + 1, + 2, + 3 ], "enumLabels": [ - "off", - "on" - ] + "Always use DOM if available", + "Use DOM except in edit controls.", + "Use DOM except when away from focus", + "Always use OSM (screen presentation)" + ], + "default": 1 } }, - // Can't find any documentation about this. - // "Options.ListBoxCheckBoxes": { - // "schema": { - // "title": "List Box Check Boxes", - // "description": "0 off, 1 non-ownerdrawn listboxes, 2 also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style.", - // "type": "number", - // "default": 0, - // "enum": [ - // 0, - // 1, - // 2 - // ], - // "enumLabels": [ - // "off", - // "non-ownerdrawn listboxes", - // "also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style." - // ] - // } - // }, - "Options.LowerOtherAppsVolumeWhileJAWSIsRunning": { + "Braille.ReversePanningButtons": { "schema": { - "title": "Lower Audio Volume of Programs while JAWS Speaks", - "description": "Whether to lower the volume of programs other than JAWS when speaking.", + "title": "Reverse Panning Buttons", + "description": "Whether or not panning buttons are reversed.", "enum": [ 0, 1 @@ -1404,10 +1550,22 @@ "default": 0 } }, - "Options.MigrationWizardDisplayed": { + + // --------- Braille General - Mode -------------- + + "Braille.BrailleAutoDetectBluetooth": { "schema": { - "title": "Migration Wizard Displayed", - "description": "Whether or not to display the migration wizard on startup.", + "title": "Autodetect Bluetooth Braille Display", + "description": "Whether to automatically detect bluetooth displays.", + "enum": [0,1], + "enumLabels": ["off", "on"], + "default": 0 + } + }, + "Braille.BrailleAutoRouteToCursor": { + "schema": { + "title": "Braille Cursor Active Cursor", + "description": "Braille cursor follows Active Cursor.", "enum": [ 0, 1 @@ -1416,29 +1574,31 @@ "off", "on" ], - "default": 0 + "default": 1 } }, - "Options.MixedCase": { + "Braille.BrailleMode": { "schema": { - "title": "Mixed Case", - "description": "Whether to announce words with embedded capital letters (such as \"MixedCase\") as separate words.", + "title": "Braille Mode", + "description": "Use this option to control the format of the information sent to the braille display. When Line mode is selected, JAWS sends the line of text at the current cursor position to the braille display. When Structured mode is selected, JAWS sends information to the display that is relevant to the current cursor position. The information sent includes things such as control type, dialog name, or number of items in a list. When Speech Output mode is selected, JAWS sends the same text to the display that it sends to the synthesizer.", "type": "number", "default": 1, "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "off", - "on" + "Line", + "Structured", + "Speech Output" ] } }, - "Options.MouseEchoSpeaksControlTypeAndState": { + "Braille.BrailleMoveActiveCursor": { "schema": { - "title": "Speak Control Type and State of Item", - "description": "Whether to speak the type of control and state of item when mousing over a control.", + "title": "Braille display cursor", + "description": "Active cursor follows Braille display.", "enum": [ 0, 1 @@ -1447,13 +1607,13 @@ "off", "on" ], - "default": 1 + "default": 0 } }, - "Options.MouseEchoSpeaksHelpAndDescription": { + "Braille.BrailleSleepMode": { "schema": { - "title": "Speak Description of Item", - "description": "Whether to speak the description of an item on mouseover.", + "title": "Enable Braille Sleep Mode", + "description": "Whether to turn off the braille driver, typically used to disable braille for a specific application.", "enum": [ 0, 1 @@ -1465,10 +1625,25 @@ "default": 0 } }, - "Options.MouseMovementStopsSpeech": { + "Braille.EightDotBraille": { "schema": { - "title": "Mouse Echo Interrupt", - "description": "Whether to stop speaking when the mouse is moved.", + "title": "Braille Dots", + "description": "The number of braille dots (six or eight) to use.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "6 dot braille", + "8 dot braille" + ], + "default": 1 + } + }, + "Braille.WordWrap": { + "schema": { + "title": "Enable Word Wrap", + "description": "Whether or not to allow words to be split in order to maximize the use of the braille display. Ignored if panning is set to fixed increment.", "enum": [ 0, 1 @@ -1480,37 +1655,102 @@ "default": 1 } }, - "Options.MouseSpeechDelay": { + + // ----------------- Braille Marking ----------------- + + // ------ Braille Marking - Braille Marking ---------- + + // TODO: Temporarly bitmasks settings will be labeled as "bitmask" + "Braille.BrailleShowMarking": { "schema": { - "title": "Mouse Echo Delay", - "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", + "title": "Braille Marking", + "description": "Show Marking may be any combination of the following ored together brlMarkNothing= 0, brlMarkText = 1, brlMarkBold = 2, brlMarkItalic = 4, brlMarkUnderline = 8, brlMarkStrikeout = 16, brlMarkGraphic = 32, brlMarkHighlight = 64, brlMarkColor= 128, // see brlOptColorsToMark string option brlMarkExtended=256, // things like spelling and grammatical errors in MSWord etc, script defined marking brlMarkDoubleStrikeout=512, brlMarkSuperscript=1024, brlMarkSubscript=2048, brlMarkShadow=4096, brlMarkOutline=8192, brlMarkEmboss=16384, brlMarkEngrave=32768, Note when Extended marking is on, JAWS calls the PointNeedsMarking function passing in the coordinates of each cell to determine whether text at that location requires marking. This is useful when the attribute you want to mark is not actually known to JAWS such as the red and green zigzags in MSWord indicating spelling or grammatical errors.", "type": "integer", - "default": 0 - } + "minimum": 0, + "maximum": 65536, + "default": 64 + }, + "label": "bitmask" }, - "Options.MouseSpeechEchoUnit": { + // ---- Braille Marking - Attribute Rotation Rate ----- + + "Braille.AttributeRotationDelay": { "schema": { - "title": "Mouse Echo Unit", - "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", + "title": "Attribute Rotation Delay", + "description": "When in Attribute Mode and characters have multiple attributes, determines how long each attribute should be shown for. This value is in Milliseconds.", "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "character", - "word", - "line", - "paragraph" + 500, + 1000, + 1500, + 2000 ], - "default": 2 + "default": 1000 } }, - "Options.MouseSpeechEnabled": { + + // ---- Braille Marking - Dot Pattern Values ----- + + "Braille.BrailleHighlightDots": { "schema": { - "title": "Enable Mouse Echo", - "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", + "title": "Dot Pattern Values - Highlight", + "description": "Dot pattern to be used for highlighted text.", + "type": "integer", + "default": 125 + } + }, + "Braille.BrailleBoldDots": { + "schema": { + "title": "Dot Pattern Values - Bold", + "description": "Dot pattern to be used for bold text.", + "type": "integer", + "default": 12 + } + }, + "Braille.BrailleExtMarkingDots": { + "schema": { + "title": "Dot Pattern Values - Markings", + "description": "Dot pattern to be used for marked text.", + "type": "integer", + "default": 15 + } + }, + "Braille.BrailleItalicDots": { + "schema": { + "title": "Dot Pattern Values - Italic", + "description": "Dot pattern to be used for italic text.", + "type": "integer", + "default": 24 + } + }, + "Braille.BrailleNormalTextDots": { + "schema": { + "title": "Dot Pattern Values - Normal Text", + "description": "Dot pattern to be used for normal text.", + "type": "integer", + "default": 1345 + } + }, + "Braille.BrailleStrikeoutDots": { + "schema": { + "title": "Dot Pattern Values - Strikeout", + "description": "Dot pattern to be used for strikeout text.", + "type": "integer", + "default": 234 + } + }, + "Braille.BrailleUnderlineDots": { + "schema": { + "title": "Dot Pattern Values - Underline", + "description": "Dot pattern to be used for underline text.", + "type": "integer", + "default": 136 + } + }, + + "Braille.ContractedBrailleInput": { + "schema": { + "title": "Contracted Braille Input", + "description": "Enable contracted braille to be entered on the braille display's keyboard.", "enum": [ 0, 1 @@ -1522,30 +1762,25 @@ "default": 0 } }, - "Options.Numbers": { + "Braille.FilterControlCharacters": { "schema": { - "title": "Numbers", - "description": "How to announce numbers.", - "type": "number", - "default": 0, + "title": "Filter Control Characters", + "description": "Whether or not to filter certain control characters (currently newlines, linefeeds and tabs).", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "off (handled by synth)", - "digits", - "pairs", - "full numbers" - ] + "off", + "on" + ], + "default": 1 } }, - "Options.OnScreenKeyboard": { + "Braille.GeneralizeBullets": { "schema": { - "title": "Allow On Screen Keyboards", - "description": "Whether to allow on screen keyboards.", + "title": "Generalize Bullets", + "description": "Whether to treat all bullets the same.", "enum": [ 0, 1 @@ -1557,85 +1792,88 @@ "default": 0 } }, - "Options.PhoneticCharAfterPause": { + + // ---- Braille Cursor ----- + + "Braille.BraillePCCursorDots": { "schema": { - "title": "Announce Phonetic Character after Pause", - "description": "Whether pausing on character will cause JAWS to speak it phonetically while navigating text by character.", - "enum": [0, 5, 10, 15], - "enumLabels": [ - "Do not announce phonetically.", - "Announce after a half second pause.", - "Announce after a one second pause.", - "Announce after a one and a half second pause." - ], - "default": 15 + "title": "PC Cursor Dot Pattern", + "description": "The dot pattern to use for the PC cursor.", + "type": "integer", + "default": 78 } }, - "Options.ProcessToolTipEvent": { + "Braille.BraillePCCursorBlinkRate": { "schema": { - "title": "Process Tooltip Event", - "description": "Whether or not to process tooltip events.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "on", - "off" - ] + "title": "PC Cursor blink rate", + "description": "Stablish the braille cursor blinking rate.", + "type": "integer", + // NOTE: The actual menu has 3 entries, with different values reserved + // for each one: + // - "Braille Cursor is Always Up": 0 + // - "Braille Cursor is Always Down": -1 + // - "Braille Cursor is Blinking": Integer + "default": 500 } }, - "Options.ProgressBarUpdateInterval": { + "Braille.BrailleJAWSCursorDots": { "schema": { - "title": "Progress Bar Update Interval", - "description": "How often to announce progress bar updates, in milliseconds. Set to 0 to disable update announcements.", + "title": "JAWS Cursor Dot Pattern", + "description": "The dot pattern to use for the JAWS cursor.", "type": "integer", - "default": 5000, - "minimum": 0 + "default": 78 } }, - "Options.QuickKeyNavigationMode": { + "Braille.BrailleJAWSCursorBlinkRate": { "schema": { - "title": "Quick Key Navigation Mode", - "description": "Navigation Quick Keys let you move through Web pages with easy to remember commands, such as T for table, F for form field, N for non link text, and V for visited link. These commands are only available when the Virtual Cursor is active. Use these radio buttons to set Navigation Quick Keys off, on, or on only during Say All reading. The default is on.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "off", - "on", - "only on during \"Say All\"" - ] + "title": "JAWS Cursor blink rate", + "description": "Stablish the JAWS braille cursor blinking rate.", + "type": "integer", + // NOTE: The actual menu has 3 entries, with different values reserved + // for each one: + // - "Braille Cursor is Always Up": 0 + // - "Braille Cursor is Always Down": -1 + // - "Braille Cursor is Blinking": Integer + "default": 500 } }, - "Options.ReadingInterrupt": { + "Braille.BrailleInvisibleCursorDots": { "schema": { - "title": "Reading Interrupt", - "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ] + "title": "Invisible Cursor Dot Pattern", + "description": "The dot pattern to use for the \"Invisible Cursor\".", + "type": "integer", + "default": 78 } }, - "Options.Repetitions": { + "Braille.BrailleInvisibleCursorBlinkRate": { "schema": { - "title": "Repetitions", - "description": "Whether or not to indicate repeated characters.", - "type": "number", - "default": 0, + "title": "JAWS Cursor blink rate", + "description": "Stablish the JAWS braille cursor blinking rate.", + "type": "integer", + // NOTE: The actual menu has 3 entries, with different values reserved + // for each one: + // - "Braille Cursor is Always Up": 0 + // - "Braille Cursor is Always Down": -1 + // - "Braille Cursor is Blinking": Integer + "default": 500 + } + }, + + // ---- Braille UNKNOWN ----- + + "Braille.BrailleCursorBlinkRate": { + "schema": { + "title": "Braille Cursor Blink Rate", + "description": "Speed, in milliseconds, at which the cursor on the braille display should blink.", + "type": "integer", + "default": 500 + } + }, + + "Braille.BrailleKeyInterruptSpeech": { + "schema": { + "title": "Braille Key Interrupt Speech", + "description": "Whether to Interrupt speech if a keystroke in the Braille display is pressed.", "enum": [ 0, 1 @@ -1643,90 +1881,293 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.SayAllIgnoreShiftKeys": { + + // ---- Braille Flash Messages ----- + + "Braille.BrailleMessages": { "schema": { - "title": "\"Say All\" Ignores Shift Keys", - "description": "Allows sticky keys to be used, i.e.: ignores shift keys during SayAll. User can use left/right arrow to do same functions.", - "type": "number", - "default": 0, + "title": "Enable Flash Messages", + "description": "Whether or not to show Flash Messages on a braille display.", "enum": [ 0, 1 ], "enumLabels": [ - "on", - "off" - ] + "off", + "on" + ], + "default": 1 } }, - "Options.SayAllIndicateCaps": { - // The same as http://registry.gpii.net/common/announceCapitals. We should just reuse it and override with custom values + "Braille.MessageTime": { "schema": { - "title": "\"Say All\" Announces Capitals", - "description": "In \"Say All\" mode, announce an initial capital letter or capitalized word.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "on", - "off" - ] + "title": "Flash Message Timeout", + "description": "How long in milliseconds a flash message is going to be displayed in the Braille display.", + "type": "integer", + "default": 5000 } }, - "Options.SayAllMode": { + + // ---- Braille Flash Messages - Verbosity Levels ----- + + "Braille.BrailleVerbosity": { "schema": { - "title": "\"Say All\" Mode", - "description": "Sets the amount of text which \"Say All\" sends to the synthesizer as a single unit.", - "type": "number", - "default": 0, + "title": "Braille Verbosity", + "description": "Sets braille verbosity for Flash messages.", "enum": [ 0, 1, 2 ], "enumLabels": [ - "line", - "sentence", - "paragraph" + "Beginner, Highest", + "Intermediate", + "Advanced, Lowest" ] } }, - // Requires creating a schema or knowing the name of the default. Leave out for now. - // "Options.SayAllScheme": { - // "schema": { - // "title": "\"Say All\" Scheme", - // "description": "Which user-defined \"Say All\" scheme to use.", - // "type": "string" - // } - // }, - "Options.SayBlankLineCount": { + + // ---- Braille - Flash Messages - Verbosity Levels - Items to brailed ----- + + "Braille OutputModes.APP_START": { "schema": { - "title": "Say Blank Line Count", - "description": "In \"Say All\" mode, whether to announce the number of blank lines.", - "type": "number", - "default": 0, - "enum": [ + "title": "App start messages", + "description": "Enable messaging application starts with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|app" + // - Intermediate: "0|2|0|app" + // - Advanced: "0|0|2|app" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.ERROR": { + "schema": { + "title": "Error messages", + "description": "Enable messaging errors with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|err" + // - Intermediate: "0|2|0|err" + // - Advanced: "0|0|2|err" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.HELP": { + "schema": { + "title": "Help messages", + "description": "Enable help messages with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|hlp" + // - Intermediate: "0|2|0|hlp" + // - Advanced: "0|0|2|hlp" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.HELP_BALLOON": { + "schema": { + "title": "Error messages", + "description": "Enable messaging errors with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|bln" + // - Intermediate: "0|2|0|bln" + // - Advanced: "0|0|2|bln" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.JAWS_MESSAGE": { + "schema": { + "title": "JAWS messages", + "description": "Enable JAWS messages with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|jm" + // - Intermediate: "0|2|0|jm" + // - Advanced: "0|0|2|jm" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.MouseEcho": { + "schema": { + "title": "Mouse echo messages", + "description": "Enable mouse echo messages with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|me" + // - Intermediate: "0|2|0|me" + // - Advanced: "0|0|2|me" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.STATUS": { + "schema": { + "title": "Status messages", + "description": "Enable status messages with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|sts" + // - Intermediate: "0|2|0|sts" + // - Advanced: "0|0|2|sts" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.SMART_HELP": { + "schema": { + "title": "Smart help messages", + "description": "Enable start smart help messages with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|shlp" + // - Intermediate: "0|2|0|shlp" + // - Advanced: "0|0|2|shlp" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.TOASTS": { + "schema": { + "title": "Toasts messages", + "description": "Enable messaging Toasts with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|sts" + // - Intermediate: "0|2|0|sts" + // - Advanced: "0|0|2|sts" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.TOOL_TIP": { + "schema": { + "title": "Tool Tips messages", + "description": "Enable messaging Tool Tips with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|tip" + // - Intermediate: "0|2|0|tip" + // - Advanced: "0|0|2|tip" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.TUTOR": { + "schema": { + "title": "Tutor messages", + "description": "Enable messaging Tutors with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|ttr" + // - Intermediate: "0|2|0|ttr" + // - Advanced: "0|0|2|ttr" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + "Braille OutputModes.USER_REQUESTED_INFORMATION": { + "schema": { + "title": "User requested information messages", + "description": "Enable messaging user requested information with different levels of verbosity.", + "type": "string", + // TODO: The string format is of type: + // - Beginnner: "1|0|0|usr" + // - Intermediate: "0|2|0|usr" + // - Advanced: "0|0|2|usr" + // The breakdown of the format is: + // - The first three bar separated numbers stands for the level selection. + // Being 1 used for long message length, and 2 for short message length. + // - The final string is for the braille text that identifies the message. + "default": "Unknown" + } + }, + + // ---- Braille - Structured Mode ----- + + // ---- Braille - Structured Mode - Include Optional Components ------ + + "Braille.UseStatusCellsForControlType": { + // NOTE: This setting work in combination with + // StructuredModeInclusionFlags. + // + // "UseStatusCellsForControlType" acts like switch to consider outputing the + // optional components in the "Status Cells" of the braille display. + // "StructuredModeInclusionFlags" is an intenger in which all the flags for the extra elements + // to be included. + "schema": { + "title": "Status cell for control type", + "description": ".", + "enum": [ 0, 1 ], "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.SayCursorShapeChange": { + "Braille.StructuredModeInclusionFlags": { "schema": { - "title": "Say Cursor Shape Change", - "description": "Whether to announce a change in the shape of the cursor.", - "type": "number", - "default": 0, + "title": "Structure Mode Inclusion Flags", + "description": "Store in a bitmask the elements to be included in 'Braille Structure Mode'.", + "type": "integer", + "default": "8191" + }, + "label": "bitmask" + }, + + // ------------------------------------------------------------------ + + "Braille.StructuredModeAlignToSegment": { + "schema": { + "title": "Align To Structured Segment", + "description": "Align output to structured segment.", "enum": [ 0, 1 @@ -1734,15 +2175,14 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.SayDollars": { + "Braille.StructuredModeReverseOrder": { "schema": { - "title": "Say Dollars", - "description": "Whether to announce currency symbols.", - "type": "number", - "default": 0, + "title": "Reverse Order of Structured Data", + "description": "Whether to reverse the order of the structured data to show the focused control's info first, followed by its grouping information, and then the dialog box information. By default, items are read in the opposite order.", "enum": [ 0, 1 @@ -1750,49 +2190,81 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.SayNumericDates": { + + // ---------------------- Braille - Advanced ------------------------ + + "Braille.PositionOfStatusCells": { + // NOTE: When this setting is used with a valu of 2 ("None"), the setting + // "UseHowManyStatusCells" is set to 0. "schema": { - "title": "Say Numeric Dates", - "description": "How to announce numeric dates. With no translation, dates are read as numbers. With some translation, dd-mm-yy values are read as text. With extended translation, both dd-mm-yy and dd-mm values are read as text.", - "type": "number", - "default": 0, + "title": "Placement of Status Cells", + "description": "Selects the placement of the status cells in the braille display.", "enum": [ 0, 1, 2 ], "enumLabels": [ - "no translation", - "some translation", - "extended translation" - ] + "Left", + "Right", + "None" + ], + "default": 0 } }, - "Options.SaySelectedFirst": { + "Braille.UseHowManyStatusCells": { "schema": { - "title": "Say Selected First", - "description": "Whether to announce the selected text first.", - "type": "number", - "default": 0, + "title": "Use How Many Status Cells", + "description": "How many cells to use for status information if the display defines none of its own..", + "type": "integer", + "default": 4 + } + }, + "Braille.DotFirmness": { + // NOTE-TODO: This setting appears to have a bug, + // when the slide is moved isn't deleted from the configuration file, but + // it keeps getting added to the INI file. + "schema": { + "title": "Dot firmness", + "description": "Selects the firmness of the dots in the braille display.", + "type": "integer", + "minimum": 0, + "maximum": 4, + "default": 4 + } + }, + "Braille.LiblouisVersion": { + "schema": { + "title": "Grade 2 Translator", + "description": "Selects the translator to be used.", "enum": [ 0, - 1 + 1, + 2, + 3, + 4 ], "enumLabels": [ - "off", - "on" - ] + "Liblouis 3.9.0", + "Liblouis 3.7.0", + "Liblouis 3.5.0", + "Liblouis 3.3.0", + "Liblouis 2.6.3" + ], + "default": 4 } }, - "Options.SayStateFirst": { + + // ---------------------- Braille - ???????? ------------------------ + + "Braille.MessagePrefixes": { "schema": { - "title": "Say State First", - "description": "Whether to announce the window state before title/text.", - "type": "number", - "default": 0, + "title": "Enable Flash Message Prefixes", + "description": "If a display has no Status Cells, whether or not to prepend the Message Prefix to the Flash Message.", "enum": [ 0, 1 @@ -1800,15 +2272,22 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.SayWindowTypeFirst": { + "Braille.MessageStatusText": { "schema": { - "title": "Say Window Type First", - "description": "Whether to announce the type of window before announcing the window title/text.", - "type": "number", - "default": 0, + "title": "Message Status Text", + "description": "The text to show in the status area of the display when a Flash message is being shown if the display has no status cells, the text will be prepended to the Flash message.", + "type": "string", + "default": "msg" + } + }, + "Braille.UseScreenModelForBrailleInRichEdits": { + "schema": { + "title": "Use Screen Model for Braille in Rich Edits", + "description": "Whether to use the screen model when providing field prompts and text in Braille with rich edits.", "enum": [ 0, 1 @@ -1816,40 +2295,32 @@ "enumLabels": [ "off", "on" - ] - } - }, - // TODO: Improve this. Figure out if there are other valid options. - "Options.Scheme": { - "schema": { - "title": "Scheme", - "description": "Whether or not to intercept CreateDIBSection Note that this value is only read once per JAWS session at startup thus changing this value while JAWS is running has no effect.", - "type": "string", - "default": "Classic" + ], + "default": 1 } }, - "Options.ScreenEcho": { + + // ------------------------------------------------------------------ + + "FSCasts.EnableNotifications": { "schema": { - "title": "Screen Echo", - "description": "Use the radio buttons in this group to determine how much text is read when information on the screen changes. This includes highlighted text, all text as it appears, or no speech echo as text appears or changes on screen. The default setting is Echo Highlighted Text. Changing the Screen Echo setting may affect the reading of menus and other items. For this reason, it is recommended that you only make Screen Echo changes in application-specific settings files.", - "type": "number", - "default": 1, + "title": "FSCast Notifications", + "description": "Whether to have JAWS display a dialog when new podcasts from Freedom Scientific are available.", "enum": [ 0, - 1, - 2 + 1 ], "enumLabels": [ "off", - "highlight", - "all" - ] + "on" + ], + "default": 1 } }, - "Options.SimultaneousSynthAndWave": { + "HTML.Abbreviations": { "schema": { - "title": "Simultaneous Synth and Wave", - "description": "Whether to enable smoother playing of WAV files when using the DEC Talk Access 32 software synthesizer. This option is only available in Default.jcf. Changes to this setting take effect the next time you start JAWS. Disabled by default.", + "title": "Abbreviations", + "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", "type": "number", "default": 0, "enum": [ @@ -1862,66 +2333,41 @@ ] } }, - "Options.SingleDigitThreshold": { - "schema": { - "title": "Single Digit Threshold", - "description": "The number of digits a number must contain before it is read as single digits (like a phone number). Defaults to five.", - "type": "integer", - "default": 5 - } - }, - "Options.SkimReadingIndication": { + "HTML.AccessKeys": { "schema": { - "title": "Skim Reading Indication", - "description": "Whether or not to indicate (via a beep) when skimming over text units for which the regular expression returns FALSE.", - "type": "number", - "default": 1, + "title": "Speak Access Keys Within Web Page", + "description": "Whether to announce HTML element access keys when reading a web page.", "enum": [ 0, 1 ], "enumLabels": [ "off", - "beep every 20 units skimmed over" - ] + "on" + ], + "default": 1 } }, - "Options.SkipILM": { + "HTML.Acronyms": { "schema": { - "title": "Skip ILM", - "description": "Whether to show the licensing manager on startup when running in 40-minute evaluation mode.", + "title": "Acronyms", + "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", + "type": "number", "default": 0, "enum": [ 0, 1 ], "enumLabels": [ - "display the license manager on startup", - "do not display the license manager on startup" + "off", + "on" ] } }, - // This is not meaningful unless it's coupled with an application for context. Disabled for now. - // "Options.SleepMode": { - // "schema": { - // "title": "SleepMode", - // "description": "Whether to put JAWS to sleep. In the context of a specific application, this preference can be set to disable JAWS within that application.", - // "type": "number", - // "default": 0, - // "enum": [ - // 0, - // 1 - // ], - // "enumLabels": [ - // "off", - // "on" - // ] - // } - // }, - "Options.SmartWordReading": { + "HTML.BlockQuoteIndication": { "schema": { - "title": "Smart Word Reading", - "description": "Whether or not to enable \"smart reading\" when using the \"Say Word\" command.", + "title": "Block Quote Indication", + "description": "Whether to indicate HTML block quotations.", "enum": [ 0, 1 @@ -1933,12 +2379,10 @@ "default": 1 } }, - "Options.SpeakANSIChars": { + "HTML.EmbeddedActiveXSupport": { "schema": { - "title": "Speak ANSI Chars", - "description": "Whether or not to announce ANSI characters.", - "type": "number", - "default": 1, + "title": "Embedded ActiveX Support", + "description": "Whether or not to support embedded ActiveX controls such as Macromedia Flash Movies. If enabled, only objects defined in JActiveX.ini are affected by this setting.", "enum": [ 0, 1 @@ -1946,13 +2390,14 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.SpeakCharacterValueAsMultibyteSequence": { + "HTML.ExpandAbbreviations": { "schema": { - "title": "Speak Character Value As Sequence of Multibyte Values", - "description": "Whether to read unicode characters as a series of multi-byte values.", + "title": "Expand Abbreviations", + "description": "Whether or not to expand abbreviations (using the abbr tag).", "enum": [ 0, 1 @@ -1964,10 +2409,10 @@ "default": 0 } }, - "Options.SpeakCharacterValueInHex": { + "HTML.ExpandAcronyms": { "schema": { - "title": "Speak Character Value In Hex", - "description": "Whether to announce the hex value of a character when numpad 5 is pressed three times quickly.", + "title": "Expand Acronyms", + "description": "Whether or not to expand acronyms (using the acronym tag).", "enum": [ 0, 1 @@ -1979,10 +2424,12 @@ "default": 0 } }, - "Options.SpeakNumbersSepByDashesAsDigits": { + "HTML.FilterConsecutiveDuplicateLinks": { "schema": { - "title": "Numbers Containing Dashes as Digits", - "description": "Whether to read numbers that contain dashes (such as phone numbers) as a series of digits.", + "title": "Filter Consecutive Duplicate Links", + "description": "Whether to skip (not announce) consecutive duplicate links.", + "type": "number", + "default": 1, "enum": [ 0, 1 @@ -1990,99 +2437,75 @@ "enumLabels": [ "off", "on" - ], - "default": 0 + ] } }, - "Options.SpeechHistory": { + "HTML.FormFieldPromptOptions": { "schema": { - "title": "Enable Speech History", - "description": "Whether to read through the 50-item speech history when \"insert+spacebar\" and then \"h\" are pressed.", + "title": "Form Field Prompt Options", + "description": "Which attributes to prefer when describing form fields.", "enum": [ 0, - 1 + 1, + 2, + 3, + 4, + 5 ], "enumLabels": [ - "off", - "on" + "favor label tag", + "favor title attribute", + "favor alt attribute", + "favor longest", + "use both label and title if different", + "use both label and alt if different" ], - "default": 1 + "default": 0 } }, - "Options.SpeechMode": { + "HTML.FormsModeAutoOff": { "schema": { - "title": "Speech Mode", - "description": "The \"speech mode\" to use, either \"full\" or \"less\".", + "title": "Forms Mode Auto Off", + "description": "Whether or not Forms Mode should be automatically turned off when the current page is updated.", "enum": [ 0, 1 ], "enumLabels": [ - "full speech", - "less speech" + "Leave Forms Mode on", + "Turn Forms Mode off automatically" ], - "default": 0 + "default": 1 } }, - "Options.SpellAlphanumericData": { + "HTML.GraphicalLinkLastResort": { "schema": { - "title": "Spell Alphanumeric Data", - "description": "How to read alphanumeric data.", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "read as appears", - "spell", - "spell phonetically" - ], + "title": "Graphical Link Last Resort", + "description": "What to announce when a graphical link contains no title or alt text for its enclosing image and the enclosing anchor has no title.", + "enum": [ 0, 1], + "enumLabels": ["Read the image's src", "Read the image's enclosing anchor's href."], "default": 0 } }, - "Options.SpellPhonetic": { + "HTML.IdentifyLinkType": { "schema": { - "title": "Spell Phonetic", - "description": "How to announce word spellings.", - "type": "number", - "default": 0, + "title": "Identify Link Type", + "description": "Whether to distinguish the various types of links e.g. \"FTP link\", \"mailto link\" versus simply announcing \"link\" for all types of links.", "enum": [ 0, 1 ], "enumLabels": [ - "spell normal", - "spell phonetic" - ] - } - }, - // TODO: Verify. Look at the INI file and suggest defaults? - "Options.Synthesizer": { - "schema": { - "title": "Synthesizer", - "description": "The synthesizer to use/ Available synthesizers are listed in JfW.INI", - "type": "string", - "enum": ["Synth1"], - "enumLabels": ["Default speech synthesizer"], - "default": "Synth1" - } - }, - "Options.SynthesizerResetFrequency": { - "schema": { - "title": "Synthesizer Reset Frequency", - "description": "How often to reset communication with the synthesizer, in milliseconds.", - "type": "integer", - "default": 2000, - "minimum": 0 + "off", + "on" + ], + "default": 1 } }, - "Options.TetherJawsToPC": { + "HTML.IdentifySamePageLinks": { "schema": { - "title": "Tether Jaws to PC", - "description": "Whether or not to tether the JAWS cursor to the PC cursor. If this is set to 'on', whenever the Pc cursor moves, the Jaws cursor will follow it. If this is set to 'off', the JAWS cursor is indifferent to PC cursor movements (this is the default).", - "type": "number", - "default": 0, + "title": "Identify Same Page Links", + "description": "Whether to identify links that point to other places on the current page by saying \"same page link\".", "enum": [ 0, 1 @@ -2090,150 +2513,122 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.TextAnalyser": { + "HTML.IgnoreInlineFrames": { "schema": { - "title": "Text Analyzer", - "description": "The type of alert to use when announcing formatting errors.", + "title": "Ignore Inline Frames", + "description": "Whether to ignore inline frames, such as those used for advertising.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "turn off", - "indicate with sound", - "speak count", - "describe inconsistencies" + "off", + "on" ], "default": 0 } }, - // TODO: Discuss whether / how to handle "bit fields" like these. - // "Options.TextAnalyserSymbolFlags": { - // "schema": { - // } - // "title": "Indicate Mismatched Symbols", - // "description": "Which mismatched symbols (such as mismatched opening and closing parentheses) to indicate when editing. Defaults to announcing all supported mismatching symbols." - // }, - // "Options.TextAnalyserTypeFlags": { - // "schema": { - // } - // "title": "Inconsistencies to Check", - // "description": "Which types of inconsistencies to check. Defaults to \"all\"." - // }, - "Options.TouchKeyboardChildPanelNotification": { + "HTML.IncludeGraphics": { "schema": { - "title": "Touch Alternative Character Panel Popup Notification", - "description": "How to announce the appearance of a panel of alternate keys in the touch keyboard.", + "title": "Include Graphics", + "description": "Whether/when to include graphics in web pages.", "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "by both message and sound", - "by sound only" + "never include graphics", + "include graphics that have labels, i.e. alt=attributes", + "include all graphics" ], - "default": 0 + "default": 1 } }, - "Options.TouchKeyboardNotification": { + "HTML.IndicateColSpan": { "schema": { - "title": "Touch Keyboard Notification", - "description": "Whether/how to notify when the touch keyboard appears/disappears.", + "title": "Indicate ColSpan for Braille", + "description": "Whether to announce column spans when reading table data in web pages.", "enum": [ 0, - 1, - 2 + 1 ], "enumLabels": [ - "by message", - "by sound", - "by both message and sound" + "off", + "on" ], - "default": 2 + "default": 1 } }, - "Options.TouchTypingEcho": { + "HTML.IndicateElementAttributes": { "schema": { - "title": "Touch Typing Echo", - "description": "Whether/how to echo text entered using the touch keyboard.", + "title": "Indicate Element Attributes", + "description": "Whether to announce any HTML attributes defined in the \"HTML Attributes Behavior\" map of the current scheme.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "none", - "characters", - "words", - "both characters and words" + "off", + "on" ], - "default": 3 + "default": 1 } }, - "Options.TouchTypingMode": { + "HTML.ListIndication": { "schema": { - "title": "Touch Typing Mode", - "description": "Which keyboard mode to use for the touch keyboard.", + "title": "List Indication", + "description": "Whether to announce lists with the item count and nesting level.", "enum": [ 0, 1 ], "enumLabels": [ - "standard", - "touch typing" + "off", + "on" ], "default": 1 } }, - // Can't find information in the help file or default settings. Disabled for now. - // "Options.TreeViewCheckBoxes": { - // "schema": { - // "title": "Tree View Check Boxes", - // "description": "", - // "type": "number", - // "default": 1, - // "enum": [ - // 0, - // 1 - // ], - // "enumLabels": [ - // "off", - // "on" - // ] - // } - // }, - "Options.TypingEcho": { + "HTML.MaxLineLength": { "schema": { - "title": "Typing echo", - "description": "How to announce typed words and/or characters.", - "type": "number", - "default": 1, + "title": "Max Line Length", + "description": "The maximum number of characters which can appear on a line of a paragraph.", + "type": "integer", + "default": 150 + } + }, + "HTML.PageRefreshFilter": { + "schema": { + "title": "Page Refresh Filter", + "description": "How often, in milliseconds, to allow all refreshes. Set to 0 to allow all refreshes without any delay.", + "type": "integer", + "default": 0 + } + }, + "HTML.SayAllOnDocumentLoad": { + "schema": { + "title": "Read Web Pages Automatically When Loaded", + "description": "Whether to automatically read web pages when they're first loaded.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "don't announce characters or words", - "announce characters", - "announce words", - "announce characters and words" - ] + "off", + "on" + ], + "default": 1 } }, - "Options.TypingInterrupt": { + "HTML.ScreenFollowsVCursor": { "schema": { - "title": "Typing Interrupt", - "description": "Whether to stop speaking when the user types.", - "type": "number", - "default": 1, + "title": "Screen Follows Virtual Cursor", + "description": "Whether the screen should automatically scroll to display the line on which the Virtual Cursor is positioned.", "enum": [ 0, 1 @@ -2241,31 +2636,14 @@ "enumLabels": [ "off", "on" - ] - } - }, - "Options.UseExtendedKeys": { - "schema": { - "title": "Use Extended Keys", - "description": "Whether to distinguish between extended and number pad keys.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 ], - "enumLabels": [ - "Treat Extended and Numpad keys the same", - "Differentiate between Extended and Numpad keys" - ] + "default": 1 } }, - "Options.UseVirtualInfoInFormsMode": { + "HTML.SkipPastRepeatedText": { "schema": { - "title": "Use Virtual Info in Forms Mode", - "description": "Whether to use information from the virtual HTML area for prompts in Forms mode. Warning: this will not always result in accurate information, particularly on pages where there are errors in the HTML coding which result in forms mode and virtual mode being out of synchronization.", - "type": "number", - "default": 0, + "title": "Skip Past Repeated Text", + "description": "Whether to position the Virtual Cursor on the first line which is different than the previous page whenever a new page is displayed.", "enum": [ 0, 1 @@ -2273,124 +2651,94 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - // No documentation or onscreen option. Disabled for now. - // "Options.UseWindowsKeyboardHook": { - // "schema": { - // "title": "Use Windows Keyboard Hook", - // "description": "", - // "type": "number", - // "default": 0, - // "enum": [ - // 0, - // 1 - // ], - // "enumLabels": [ - // "off", - // "on" - // ] - // } - // }, - "Options.Verbosity": { + "HTML.SmartNavigation": { "schema": { - "title": "Verbosity", - "description": "How verbose announcements should be.", - "type": "number", - "default": 0, + "title": "Smart Navigation", + "description": "Whether to enable \"smart navigation\" when reading web pages.", "enum": [ 0, - 1, - 2 + 1 ], "enumLabels": [ - "most speech", - "intermediate", - "least speech" - ] + "off", + "on" + ], + "default": 0 } }, - "Options.VirtualDocumentLinkActivationMethod": { + "HTML.TableDetection": { "schema": { - "title": "Virtual Document Link Activation Method", - "description": "How to activate a link when the enter key is pressed. Either simulates a mouse click or passes along the enter keypress.", - "enum": [0,1], - "enumLabels": ["Enter simulates mouse click.", "Enter sends enter key."], - "default": 0 + "title": "Table Detection", + "description": "Whether to announce all tables, or only data tables.", + "enum": [0, 1], + "enumLabels": ["Indicate all tables", "Only indicate data tables"], + "default": 1 } }, - "Options.VIRTUALMSAAREFRESH": { + "HTML.TblMaxCellTextLength": { "schema": { - "title": "Virtual MSAA Refresh", - "description": "How often (in milliseconds) should an embedded ActiveX control cause the Virtual HTML area to be updated when receiving rapid ValueChange events from MSAA. Set to -1 to disable refreshes.", + "title": "Table Maximum Cell Text Length", + "description": "A cell is considered a valid data cell if it contains upto this number of characters.", "type": "integer", - "default": 0, - "minimum": -1 + "default": 250 } }, - "Options.VirtualRibbonSupport": { + "HTML.TblMinCellTextLength": { "schema": { - "title": "Virtual Ribbon Support", - "description": "Whether to use the Virtual PC cursor to read HTML documents. When using the Virtual PC cursor, Web pages and other HTML documents are read as if they were formatted into single columns, with each link or form field on a line of its own. This mode allows you to navigate or select text in a Web page as if you were in a standard text document, while also giving you the ability to fill out forms or activate links.", - "enum": [0, 1], - "enumLabels": ["off", "on"], + "title": "Table Minimum Cell Text Length", + "description": "A cell is considered a valid data cell if it contains at least this number of characters.", + "type": "integer", "default": 1 } }, - // TODO: DEFAULT - "Options.VTcolor": { + "HTML.TblMinTextColumns": { "schema": { - "title": "Visual Tracking Color", - "description": "The colour to use when highlighting items selected using the touch cursor.", - "type": "integer" + "title": "Table Minimum Text Columns", + "description": "This option specifies the minimum number of columns which must contain text in order for the table to be considered a data table.", + "type": "integer", + "default": 2 } }, - // TODO: DEFAULT - "Options.VTspacing": { + "HTML.TblMinTextRows": { "schema": { - "title": "Visual Tracking Spacing", - "description": "The amount of spacing between the highlight box and the highlighted item.", - "type": "integer" + "title": "Table Minimum Text Rows", + "description": "This option specifies the minimum number of rows which must contain text in order for the table to be considered a data table.", + "type": "integer", + "default": 2 } }, - "Options.VTstyle": { + "HTML.TblMinValidDataRows": { "schema": { - "title": "Visual Tracking Style", - "description": "The style of highlighting to use.", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "box", - "block", - "underline" - ], - "default": 0 + "title": "Table Minimum Valid Data Rows", + "description": "Next options used for configuring how data tables are detected This option specifies the minimum number of valid data rows that a table must contain in order for it to be considered a data table.", + "type": "integer", + "default": 2 } }, - // TODO: DEFAULT - "Options.VTthickness": { + "HTML.TblValidRowThreshold": { "schema": { - "title": "Visual Tracking Thickness", - "description": "How thick to make the \"box\" and \"underline\" highlighting styles.", - "type": "integer" + "title": "Table Valid Row Threshold", + "description": "This option specifies the minimum number of cells that a row must contain in order for it to be considered a valid data row.", + "type": "integer", + "default": 2 } }, - // TODO: DEFAULT - "Options.VTtransparency": { + "HTML.TextBlockLength": { "schema": { - "title": "Visual Tracking Transparency", - "description": "How transparent to make the visual highlighting of selected items.", - "type": "integer" + "title": "Text Block Length", + "description": "The number of consecutive characters that must appear in a web page for JAWS to treat this as a block of text.", + "type": "integer", + "default": 25 } }, - "Options.VTUseTouchCursor": { + "HTML.UseLegacyIESupport": { "schema": { - "title": "Highlight Touch Cursor", - "description": "Whether or not to highlight selected items when using the touch cursor or touch gestures.", + "title": "Use Legacy IE Support", + "description": "Whether or not to use legacy IE support instead of the default FS Dom Server support.", "enum": [ 0, 1 @@ -2399,13 +2747,13 @@ "off", "on" ], - "default": 0 + "default": 1 } }, - "Options.VTUseVirtualPCCursor": { + "HTML.WrapNavigation": { "schema": { - "title": "Use Virtual PC Cursor", - "description": "Whether to use the virtual PC cursor when reading HTML documents.", + "title": "Wrap Navigation", + "description": "Whether or not to allow navigation keystrokes such as tab and shift tab to wrap to the top or bottom of the document.", "enum": [ 0, 1 @@ -2417,119 +2765,145 @@ "default": 1 } }, - "Options.VTUseVirtualRibbon": { + "Options.AllCapsIndicator": { "schema": { - "title": "Use Virtual Ribbon Menu", - "description": "Whether to turn on the virtual ribbon menu.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 + "title": "AllCapsIndicator", + "description": "The text to read before text that appears in all capital letters.", + "type": "string", + "default": "all cap" } }, - "OSM.GraphicsMode": { + "Options.AllowWebAppReservedKeystrokes": { "schema": { - "title": "Graphics Mode", - "description": "How to handle graphic CRC values.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "Store graphic CRC values when the graphics are being drawn to the screen.", - "Compute them from the screen image at the time they are requested to be spoken." - ], - "default": 0 + "title": "Allow Webapp-reserved Keystrokes", + "description": "When both JAWS and a website such as Facebook support a key shortcut, whether to handle the key in JAWS (the default) or pass the key to the web app.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 } }, - "OSM.IgnoreSetSysModal": { + "Options.AnnounceMultilineEdit": { "schema": { - "title": "Ignore Set Sys Modal", - "description": "Whether to disallow Windows calling the SetSysModalWindow function. In most cases this is desirable, because System Modal Windows cannot be spoken.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Announce Multiline Edit Controls", + "description": "Whether to announce multi-line edit controls.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 0 } }, - "OSM.IncludeGraphics": { + // This does not seem safe to update, as we have no idea which displays are available on a given machine. + // "Options.BrailleDisplay": { + // "schema": { + // "title": "Braille Display", + // "description": "The braille display to use.", + // "type": "string", + // "default": "Braille1" + // } + // }, + "Options.CapIndicator": { "schema": { - "title": "Include Graphics", - "description": "Which graphics to announce.", - "enum": [ 0, 1, 2 ], - "enumLabels": ["Ignore all graphics", "Announce labeled graphics only", "Announce all graphics"], - "default": 1 + "title": "Cap Indicator", + "description": "The text to read before a capital letter.", + "type": "string", + "default": "cap" } }, - "OSM.IncludeLines": { + "Options.CaretBlinkRate": { "schema": { - "title": "Include Lines", - "description": "Whether to include line segments in the Off Screen Model. This is required for Excel and other programs which draw a focus rectangle.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 + "title": "Caret Blink Rate", + "description": "How fast the caret blinks, in milliseconds.", + "type": "integer", + "default": 53, + "minimum": 1 } }, - "OSM.MouseClickFudgeX": { + "Options.CaretDetect": { "schema": { - "title": "Mouse Click Fudge X", - "description": "number of pixels to the right of the current JAWS cursor at which a mouse click should be simulated", + "title": "Caret Detect", + "description": "How many cursor blinks are used to locate the caret.", "type": "integer", - "default": 1 + "default": 1, + "minimum": 1 } }, - "OSM.MouseClickFudgeY": { + "Options.CaretDetectTimeOut": { "schema": { - "title": "Mouse Click Fudge Y", - "description": "number of pixels below the current JAWS cursor at which a mouse click should be simulated", + "title": "Caret Detect Timeout", + "description": "The number of milliseconds before JAWS for Windows will give up looking for the caret.", "type": "integer", - "default": -2 + "default": 250, + "minimum": 0 } }, - "OSM.PixelsPerBlankLine": { + "OSM.CaretTimeOut": { "schema": { - "title": "Pixels Per Blank Line", - "description": "how many pixels (high) per blank line", + "title": "Caret Time Out", + "description": "The time in milliseconds to wait before redrawing the caret.", "type": "integer", - "default": 13 + "default": 1000 } }, - "OSM.PixelsPerSpace": { + "Options.Case": { "schema": { - "title": "Pixels Per Space", - "description": "When simulating spaces in blank portions of a line, the number of pixels used to represent each space.", - "type": "integer", - "default": 8 + "title": "Case", + "description": "Whether to indicate the case of spoken text with a change of inflection.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] } }, - "OSM.PixelsPerTab": { + "Options.CustomPageSummary": { "schema": { - "title": "Pixels Per Tab", - "description": "The number of pixels per tab, used to estimate the number of tab spaces contained within the blank portion of a line.", - "type": "integer", - "default": 10 + "title": "Custom Page Summary", + "description": "What to do when a virtual document loads for which a custom page summary has been defined.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "do nothing (\"Say All\" will be started as normal)", + "The summary will be spoken and focus left on the page at the place defined by the page", + "the summary will be presented in the virtual viewer for the user to immediately read" + ] } }, - "OSM.SpeakSysModalMessageBox": { + // There's not even anything in the JAWS documentation for this. Disabled for now. + // "Options.DosScreenReader": { + // "schema": { + // "title": "Dos Screen Reader", + // "description": "", + // "type": "", + // "default": 0, + // "enum": [], + // "enumLabels": [] + // } + // }, + "Options.EnableEdge": { "schema": { - "title": "Speak Sys Modal Message Box", - "description": "Whether to announce System Modal Message Boxes.", + "title": "Enable Edge", + "description": "Whether JAWS should provide popular JAWS browser features in Edge such as Virtual Cursor, Navigation Quick Keys, List of Objects, and many more.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 + } + }, + "Options.IndicateAttributesInDialogsAndMenus": { + "schema": { + "title": "Indicate Attributes on Dialogs and Menus", + "description": "Whether to announce attributes in dialogs and menus if the scheme allows for it.", + "type": "number", + "default": 0, + // TODO: All of these 0,1 examples are a firm use case for an application-specific transform mechanism so that our JSON payloads can use true/false. "enum": [ 0, 1 @@ -2537,52 +2911,91 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "OSM.TableDetection": { + "Options.InitialNumlockState": { "schema": { - "title": "Table Presentation Information", - "description": "Which tables to read as tables (data tables, or all tables).", + "title": "Initial State of NumLock Key", + "description": "The initial state of the NumLock key.", + "type": "number", "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "data tables only", - "all tables" + "off at startup", + "on at startup", + "leave unmodified" ], "default": 0 } }, - "OSM.TextOutDelay": { + // TODO: Doesn't seem to work. + "Options.InsertKeyMode": { "schema": { - "title": "Text Out Delay", - "description": "The number of milliseconds to wait before announcing newly written text. Setting this to a non-zero value may cause terminal programs to respond in a less choppy fashion.", - "type": "integer", - "default": 0 + "title": "Insert Key Mode", + "description": "The operating mode of the insert key.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "JAWS", + "Sticky" + ] } }, - "OSM.TrackCommandBars": { + // TODO: VERIFY WITH EXTREME PREJUDICE + "Options.JAWSInsertKey": { "schema": { - "title": "Track Command Bars", - "description": "Whether to track the menu bar in Office applications.", + "title": "JAWS Insert Key", + "description": "Whether/which insert keys can be used as a JAWS Insert.", + "type": "number", + "default": 3, "enum": [ 0, - 1 + 1, + 2, + 3 ], "enumLabels": [ - "off", - "on" + "none", + "Numpad Insert", + "Extended Insert", + "both Numpad and Extended" + ] + } + }, + "Options.JAWSPunctuationEnabled": { + "schema": { + "title": "JAWS Punctuation Enabled", + "description": "Which punctuation marks to speak.", + "type": "number", + "default": 2, + "enum": [ + 0, + 1, + 2, + 3 ], - "default": 1 + "enumLabels": [ + "None", + "Some", + "Most", + "All" + ] } }, - "OSM.TrackFocusRect": { + "Options.KeyRepeat": { "schema": { - "title": "Track Focus Rectangle", - "description": "Set to one causes MAGic to track the focus rectangle in standard controls that utilize focus rectangles.", + "title": "Key Repeat", + "description": "Whether or not to allow repeated keys. Repeated keys are allowed by default.", + "type": "number", + "default": 1, "enum": [ 0, 1 @@ -2590,14 +3003,48 @@ "enumLabels": [ "off", "on" + ] + } + }, + "Options.LeftShiftSkipBack": { + "schema": { + "title": "Left Shift Skip Back", + "description": "How the shift keys should behave in \"Say All\" mode.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 ], - "default": 1 + "enumLabels": [ + "during SayAll, right shift will skip back and left shift will skip forward", + "during SayAll, left shift will skip back and right shift will skip forward" + ] } }, - "OSM.TrimBrailleGraphicLabels": { + // Can't find any documentation about this. + // "Options.ListBoxCheckBoxes": { + // "schema": { + // "title": "List Box Check Boxes", + // "description": "0 off, 1 non-ownerdrawn listboxes, 2 also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style.", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1, + // 2 + // ], + // "enumLabels": [ + // "off", + // "non-ownerdrawn listboxes", + // "also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style." + // ] + // } + // }, + "Options.LowerOtherAppsVolumeWhileJAWSIsRunning": { "schema": { - "title": "Trim Braille Graphic Labels", - "description": "Whether to trim the size of a braille graphic. Useful to preserve the virtical positioning of braille text.", + "title": "Lower Audio Volume of Programs while JAWS Speaks", + "description": "Whether to lower the volume of programs other than JAWS when speaking.", "enum": [ 0, 1 @@ -2609,516 +3056,9982 @@ "default": 0 } }, - "OSM.UnderlineProximity": { + "Options.MigrationWizardDisplayed": { "schema": { - "title": "Underline Proximity", - "description": "How far away in pixels can an underline be before being considered an actual underline.", - "type": "integer", + "title": "Migration Wizard Displayed", + "description": "Whether or not to display the migration wizard on startup.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], "default": 0 } }, - // TODO: Document default. - "Touch.FlickVelocityMin": { + "Options.MouseEchoSpeaksControlTypeAndState": { "schema": { - "title": "Flick Velocity", - "description": "The minimum finger velocity to treat as a \"flick\".", - "type": "integer" + "title": "Speak Control Type and State of Item", + "description": "Whether to speak the type of control and state of item when mousing over a control.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 } }, - // TODO: Document default. - "Touch.TapEventDurationMax": { + "Options.MouseEchoSpeaksHelpAndDescription": { "schema": { - "title": "Explore Delay", - "description": "The delay between touching a touch screen and displaying the explore menu, in milliseconds.", - "type": "integer" - } + "title": "Speak Description of Item", + "description": "Whether to speak the description of an item on mouseover.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.MouseMovementStopsSpeech": { + "schema": { + "title": "Mouse Echo Interrupt", + "description": "Whether to stop speaking when the mouse is moved.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "Options.MouseSpeechDelay": { + "schema": { + "title": "Mouse Echo Delay", + "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", + "type": "integer", + "default": 0 + } + }, + "Options.MouseSpeechEchoUnit": { + "schema": { + "title": "Mouse Echo Unit", + "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "character", + "word", + "line", + "paragraph" + ], + "default": 2 + } + }, + "Options.MouseSpeechEnabled": { + "schema": { + "title": "Enable Mouse Echo", + "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.OnScreenKeyboard": { + "schema": { + "title": "Allow On Screen Keyboards", + "description": "Whether to allow on screen keyboards.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.ProcessToolTipEvent": { + "schema": { + "title": "Process Tooltip Event", + "description": "Whether or not to process tooltip events.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "on", + "off" + ] + } + }, + "Options.ProgressBarUpdateInterval": { + "schema": { + "title": "Progress Bar Update Interval", + "description": "How often to announce progress bar updates, in milliseconds. Set to 0 to disable update announcements.", + "type": "integer", + "default": 5000, + "minimum": 0 + } + }, + "Options.QuickKeyNavigationMode": { + "schema": { + "title": "Quick Key Navigation Mode", + "description": "Navigation Quick Keys let you move through Web pages with easy to remember commands, such as T for table, F for form field, N for non link text, and V for visited link. These commands are only available when the Virtual Cursor is active. Use these radio buttons to set Navigation Quick Keys off, on, or on only during Say All reading. The default is on.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "off", + "on", + "only on during \"Say All\"" + ] + } + }, + "Options.ReadingInterrupt": { + "schema": { + "title": "Reading Interrupt", + "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "Options.SayCursorShapeChange": { + "schema": { + "title": "Say Cursor Shape Change", + "description": "Whether to announce a change in the shape of the cursor.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "Options.ScreenEcho": { + "schema": { + "title": "Screen Echo", + "description": "Use the radio buttons in this group to determine how much text is read when information on the screen changes. This includes highlighted text, all text as it appears, or no speech echo as text appears or changes on screen. The default setting is Echo Highlighted Text. Changing the Screen Echo setting may affect the reading of menus and other items. For this reason, it is recommended that you only make Screen Echo changes in application-specific settings files.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "off", + "highlight", + "all" + ] + } + }, + "Options.SimultaneousSynthAndWave": { + "schema": { + "title": "Simultaneous Synth and Wave", + "description": "Whether to enable smoother playing of WAV files when using the DEC Talk Access 32 software synthesizer. This option is only available in Default.jcf. Changes to this setting take effect the next time you start JAWS. Disabled by default.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "Options.SkimReadingIndication": { + "schema": { + "title": "Skim Reading Indication", + "description": "Whether or not to indicate (via a beep) when skimming over text units for which the regular expression returns FALSE.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "beep every 20 units skimmed over" + ] + } + }, + "Options.SkipILM": { + "schema": { + "title": "Skip ILM", + "description": "Whether to show the licensing manager on startup when running in 40-minute evaluation mode.", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "display the license manager on startup", + "do not display the license manager on startup" + ] + } + }, + // This is not meaningful unless it's coupled with an application for context. Disabled for now. + // "Options.SleepMode": { + // "schema": { + // "title": "SleepMode", + // "description": "Whether to put JAWS to sleep. In the context of a specific application, this preference can be set to disable JAWS within that application.", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ] + // } + // }, + "Options.SpeechHistory": { + "schema": { + "title": "Enable Speech History", + "description": "Whether to read through the 50-item speech history when \"insert+spacebar\" and then \"h\" are pressed.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + // TODO: Verify. Look at the INI file and suggest defaults? + "Options.Synthesizer": { + "schema": { + "title": "Synthesizer", + "description": "The synthesizer to use/ Available synthesizers are listed in JfW.INI", + "type": "string", + "enum": ["Synth1"], + "enumLabels": ["Default speech synthesizer"], + "default": "Synth1" + } + }, + "Options.SynthesizerResetFrequency": { + "schema": { + "title": "Synthesizer Reset Frequency", + "description": "How often to reset communication with the synthesizer, in milliseconds.", + "type": "integer", + "default": 2000, + "minimum": 0 + } + }, + "Options.TetherJawsToPC": { + "schema": { + "title": "Tether Jaws to PC", + "description": "Whether or not to tether the JAWS cursor to the PC cursor. If this is set to 'on', whenever the Pc cursor moves, the Jaws cursor will follow it. If this is set to 'off', the JAWS cursor is indifferent to PC cursor movements (this is the default).", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "Options.TextAnalyser": { + "schema": { + "title": "Text Analyzer", + "description": "The type of alert to use when announcing formatting errors.", + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "turn off", + "indicate with sound", + "speak count", + "describe inconsistencies" + ], + "default": 0 + } + }, + // TODO: Discuss whether / how to handle "bit fields" like these. + // "Options.TextAnalyserSymbolFlags": { + // "schema": { + // } + // "title": "Indicate Mismatched Symbols", + // "description": "Which mismatched symbols (such as mismatched opening and closing parentheses) to indicate when editing. Defaults to announcing all supported mismatching symbols." + // }, + // "Options.TextAnalyserTypeFlags": { + // "schema": { + // } + // "title": "Inconsistencies to Check", + // "description": "Which types of inconsistencies to check. Defaults to \"all\"." + // }, + "Options.TouchKeyboardChildPanelNotification": { + "schema": { + "title": "Touch Alternative Character Panel Popup Notification", + "description": "How to announce the appearance of a panel of alternate keys in the touch keyboard.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "by both message and sound", + "by sound only" + ], + "default": 0 + } + }, + "Options.TouchKeyboardNotification": { + "schema": { + "title": "Touch Keyboard Notification", + "description": "Whether/how to notify when the touch keyboard appears/disappears.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "by message", + "by sound", + "by both message and sound" + ], + "default": 2 + } + }, + "Options.TouchTypingEcho": { + "schema": { + "title": "Touch Typing Echo", + "description": "Whether/how to echo text entered using the touch keyboard.", + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "none", + "characters", + "words", + "both characters and words" + ], + "default": 3 + } + }, + "Options.TouchTypingMode": { + "schema": { + "title": "Touch Typing Mode", + "description": "Which keyboard mode to use for the touch keyboard.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "standard", + "touch typing" + ], + "default": 1 + } + }, + // Can't find information in the help file or default settings. Disabled for now. + // "Options.TreeViewCheckBoxes": { + // "schema": { + // "title": "Tree View Check Boxes", + // "description": "", + // "type": "number", + // "default": 1, + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ] + // } + // }, + "Options.TypingEcho": { + "schema": { + "title": "Typing echo", + "description": "How to announce typed words and/or characters.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "don't announce characters or words", + "announce characters", + "announce words", + "announce characters and words" + ] + } + }, + "Options.TypingInterrupt": { + "schema": { + "title": "Typing Interrupt", + "description": "Whether to stop speaking when the user types.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "Options.UseExtendedKeys": { + "schema": { + "title": "Use Extended Keys", + "description": "Whether to distinguish between extended and number pad keys.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "Treat Extended and Numpad keys the same", + "Differentiate between Extended and Numpad keys" + ] + } + }, + "Options.UseVirtualInfoInFormsMode": { + "schema": { + "title": "Use Virtual Info in Forms Mode", + "description": "Whether to use information from the virtual HTML area for prompts in Forms mode. Warning: this will not always result in accurate information, particularly on pages where there are errors in the HTML coding which result in forms mode and virtual mode being out of synchronization.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + // No documentation or onscreen option. Disabled for now. + // "Options.UseWindowsKeyboardHook": { + // "schema": { + // "title": "Use Windows Keyboard Hook", + // "description": "", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ] + // } + // }, + + "Options.VirtualDocumentLinkActivationMethod": { + "schema": { + "title": "Virtual Document Link Activation Method", + "description": "How to activate a link when the enter key is pressed. Either simulates a mouse click or passes along the enter keypress.", + "enum": [0,1], + "enumLabels": ["Enter simulates mouse click.", "Enter sends enter key."], + "default": 0 + } + }, + "Options.VIRTUALMSAAREFRESH": { + "schema": { + "title": "Virtual MSAA Refresh", + "description": "How often (in milliseconds) should an embedded ActiveX control cause the Virtual HTML area to be updated when receiving rapid ValueChange events from MSAA. Set to -1 to disable refreshes.", + "type": "integer", + "default": 0, + "minimum": -1 + } + }, + "Options.VirtualRibbonSupport": { + "schema": { + "title": "Virtual Ribbon Support", + "description": "Whether to use the Virtual PC cursor to read HTML documents. When using the Virtual PC cursor, Web pages and other HTML documents are read as if they were formatted into single columns, with each link or form field on a line of its own. This mode allows you to navigate or select text in a Web page as if you were in a standard text document, while also giving you the ability to fill out forms or activate links.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 + } + }, + // TODO: DEFAULT + "Options.VTcolor": { + "schema": { + "title": "Visual Tracking Color", + "description": "The colour to use when highlighting items selected using the touch cursor.", + "type": "integer" + } + }, + // TODO: DEFAULT + "Options.VTspacing": { + "schema": { + "title": "Visual Tracking Spacing", + "description": "The amount of spacing between the highlight box and the highlighted item.", + "type": "integer" + } + }, + "Options.VTstyle": { + "schema": { + "title": "Visual Tracking Style", + "description": "The style of highlighting to use.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "box", + "block", + "underline" + ], + "default": 0 + } + }, + // TODO: DEFAULT + "Options.VTthickness": { + "schema": { + "title": "Visual Tracking Thickness", + "description": "How thick to make the \"box\" and \"underline\" highlighting styles.", + "type": "integer" + } + }, + // TODO: DEFAULT + "Options.VTtransparency": { + "schema": { + "title": "Visual Tracking Transparency", + "description": "How transparent to make the visual highlighting of selected items.", + "type": "integer" + } + }, + "Options.VTUseTouchCursor": { + "schema": { + "title": "Highlight Touch Cursor", + "description": "Whether or not to highlight selected items when using the touch cursor or touch gestures.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.VTUseVirtualPCCursor": { + "schema": { + "title": "Use Virtual PC Cursor", + "description": "Whether to use the virtual PC cursor when reading HTML documents.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "Options.VTUseVirtualRibbon": { + "schema": { + "title": "Use Virtual Ribbon Menu", + "description": "Whether to turn on the virtual ribbon menu.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.ViewMode": { + "schema": { + "title": "System Tray view mode", + "description": "Run JAWS from the System Tray.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.confirmWhenExitingJAWS": { + "schema": { + "title": "Confirm when exiting", + "description": "Prompt to confirm when exiting JAWS.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "Options.AutomaticNotificationOfUpdates": { + "schema": { + "title": "Updates Notifications", + "description": "Automatic notification of updates.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "Options.bVirtViewer": { + "schema": { + "title": "Virtual Viewer", + "description": "Show Virtual Viewer on screen.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + + // ------------ Graphics and Symbols ------------ + + "OSM.GraphicsMode": { + "schema": { + "title": "Graphics Mode", + "description": "How to handle graphic CRC values.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "Store graphic CRC values when the graphics are being drawn to the screen.", + "Compute them from the screen image at the time they are requested to be spoken." + ], + "default": 0 + } + }, + "OSM.IgnoreSetSysModal": { + "schema": { + "title": "Ignore Set Sys Modal", + "description": "Whether to disallow Windows calling the SetSysModalWindow function. In most cases this is desirable, because System Modal Windows cannot be spoken.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "OSM.IncludeLines": { + "schema": { + "title": "Include Lines", + "description": "Whether to include line segments in the Off Screen Model. This is required for Excel and other programs which draw a focus rectangle.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "OSM.MouseClickFudgeX": { + "schema": { + "title": "Mouse Click Fudge X", + "description": "number of pixels to the right of the current JAWS cursor at which a mouse click should be simulated", + "type": "integer", + "default": 1 + } + }, + "OSM.MouseClickFudgeY": { + "schema": { + "title": "Mouse Click Fudge Y", + "description": "number of pixels below the current JAWS cursor at which a mouse click should be simulated", + "type": "integer", + "default": -2 + } + }, + "OSM.PixelsPerBlankLine": { + "schema": { + "title": "Pixels Per Blank Line", + "description": "how many pixels (high) per blank line", + "type": "integer", + "default": 13 + } + }, + "OSM.PixelsPerSpace": { + "schema": { + "title": "Pixels Per Space", + "description": "When simulating spaces in blank portions of a line, the number of pixels used to represent each space.", + "type": "integer", + "default": 8 + } + }, + "OSM.PixelsPerTab": { + "schema": { + "title": "Pixels Per Tab", + "description": "The number of pixels per tab, used to estimate the number of tab spaces contained within the blank portion of a line.", + "type": "integer", + "default": 10 + } + }, + "OSM.SpeakSysModalMessageBox": { + "schema": { + "title": "Speak Sys Modal Message Box", + "description": "Whether to announce System Modal Message Boxes.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "OSM.TableDetection": { + "schema": { + "title": "Table Presentation Information", + "description": "Which tables to read as tables (data tables, or all tables).", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "data tables only", + "all tables" + ], + "default": 0 + } + }, + "OSM.TextOutDelay": { + "schema": { + "title": "Text Out Delay", + "description": "The number of milliseconds to wait before announcing newly written text. Setting this to a non-zero value may cause terminal programs to respond in a less choppy fashion.", + "type": "integer", + "default": 0 + } + }, + "OSM.TrackCommandBars": { + "schema": { + "title": "Track Command Bars", + "description": "Whether to track the menu bar in Office applications.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "OSM.TrackFocusRect": { + "schema": { + "title": "Track Focus Rectangle", + "description": "Set to one causes MAGic to track the focus rectangle in standard controls that utilize focus rectangles.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "OSM.TrimBrailleGraphicLabels": { + "schema": { + "title": "Trim Braille Graphic Labels", + "description": "Whether to trim the size of a braille graphic. Useful to preserve the virtical positioning of braille text.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "OSM.UnderlineProximity": { + "schema": { + "title": "Underline Proximity", + "description": "How far away in pixels can an underline be before being considered an actual underline.", + "type": "integer", + "default": 0 + } + }, + // TODO: Document default. + "Touch.FlickVelocityMin": { + "schema": { + "title": "Flick Velocity", + "description": "The minimum finger velocity to treat as a \"flick\".", + "type": "integer" + } + }, + // TODO: Document default. + "Touch.TapEventDurationMax": { + "schema": { + "title": "Explore Delay", + "description": "The delay between touching a touch screen and displaying the explore menu, in milliseconds.", + "type": "integer" + } + }, + // TODO: Document default. + "Touch.TapInterEventDurationMax": { + "schema": { + "title": "Double Tap Speed", + "description": "The threshold for treating two taps as a double-tap, expressed in milliseconds between taps.", + "type": "integer" + } + }, + // TODO: Document default. + "Touch.TapTranslationMax": { + "schema": { + "title": "Tap Radius", + "description": "The size of the finger contact spot on the touch screen.", + "type": "integer" + } + }, + "Voice Profiles.ActiveVoiceProfileName": { + "schema": { + "title": "Active Voice Profile Name", + "description": "The active voice profile.", + "type": "string", + "default": "Eloquence" + } + }, + }, + "capabilitiesTransformations": { + "Options\\.SayAllIndicateCaps": { + "transform": { + "type": "valueMapper", + "defaultInputPath": "http://registry\\.gpii\\.net/common/announceCapitals", + "match": [ + { + "inputValue": true, + "outputValue": 1 + }, + { + "inputValue": false, + "outputValue": 0 + } + ], + "noMatch": { + "outputValue": 0 + } + } + }, + "Options\\.TypingEcho": { + // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) + "transform": { + "type": "fluid.transforms.condition", + "condition": { + "transform": { + "type": "fluid.transforms.binaryOp", + "leftPath": "http://registry\\.gpii\\.net/common/keyEcho", + "rightPath": "http://registry\\.gpii\\.net/common/wordEcho", + "operator": "&&" + } + }, + "true": 3, + "false": { + "transform": { + "type": "fluid.transforms.condition", + "conditionPath": "http://registry\\.gpii\\.net/common/keyEcho", + "true": 1, + "false": { + "transform": { + "type": "fluid.transforms.condition", + "conditionPath": "http://registry\\.gpii\\.net/common/wordEcho", + "true": 2 + } + } + } + } + } + }, + "Options\\.SayAllMode": { + "transform": { + "type": "fluid.transforms.valueMapper", + "defaultInputPath": "http://registry\\.gpii\\.net/common/readingUnit", + "match": { + "line": 0, + "sentence": 1, + "paragraph": 2 + } + } + }, + "Braille\\.BrailleMode": { + "transform": { + "type": "fluid.transforms.valueMapper", + "defaultInputPath": "http://registry\\.gpii\\.net/common/brailleMode", + "match": { + "line": 0, + "structured": 1, + "speechHistory": 2 + } + } + }, + "Options\\.SayAllIgnoreShiftKeys": { + "transform": { + "type": "valueMapper", + "defaultInputPath": "http://registry\\.gpii\\.net/common/stickyKeys", + "match": [ + { + "inputValue": true, + "outputValue": 1 + }, + { + "inputValue": false, + "outputValue": 0 + } + ], + "noMatch": { + "outputValue": 0 + } + } + } + }, + "inverseCapabilitiesTransformations": { + "http://registry\\.gpii\\.net/common/announceCapitals": { + "transform": { + "type": "valueMapper", + "defaultInputPath": "Options\\.SayAllIndicateCaps", + "match": [ + { + "inputValue": 0, + "outputValue": false + }, + { + "inputValue": 1, + "outputValue": true + } + ], + "noMatch": { + "outputValue": false + } + } + }, + "http://registry\\.gpii\\.net/common/keyEcho": { + "transform": { + "type": "valueMapper", + "defaultInputPath": "Options\\.TypingEcho", + // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) + "match": [ + { + "inputValue": 1, + "outputValue": true + }, + { + "inputValue": 3, + "outputValue": true + } + ], + "noMatch": { + "outputValue": false + } + } + }, + "http://registry\\.gpii\\.net/common/wordEcho": { + "transform": { + "type": "valueMapper", + "defaultInputPath": "Options\\.TypingEcho", + // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) + "match": [ + { + "inputValue": 2, + "outputValue": true + }, + { + "inputValue": 3, + "outputValue": true + } + ], + "noMatch": { + "outputValue": false + } + } + }, + "http://registry\\.gpii\\.net/common/readingUnit": { + "transform": { + "type": "fluid.transforms.valueMapper", + "defaultInputPath": "Options\\.SayAllMode", + "match": [ + { + "inputValue": 0, + "outputValue": "line" + }, + { + "inputValue": 1, + "outputValue": "sentence" + }, + { + "inputValue": 2, + "outputValue": "paragraph" + } + ] + } + }, + "http://registry\\.gpii\\.net/common/brailleMode": { + "transform": { + "type": "fluid.transforms.valueMapper", + "defaultInputPath": "Braille\\.BrailleMode", + "match": [ + { + "inputValue": 0, + "outputValue": "line" + }, + { + "inputValue": 1, + "outputValue": "structured" + }, + { + "inputValue": 2, + "outputValue": "speechHistory" + } + ] + } + } + } + }, + "configuration2": { + "type": "gpii.settingsHandlers.JAWSSettingsHandler", + "liveness": "manualRestart", + "options": { + // TODO: Create a base grade for JAWS and version-specific variations. Make JAWS 2019 the default. Restart version-detection discussions and "capability" discussions. + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + }, + "supportedSettings": { + // -------- Options ---------- + + "Options.PrimarySynthesizer": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Primary synthesizer", + "description": "The synthesizer to use for the voice profile.", + "enum": [ + "eloq", + "MSMobile", + "SAPI 5X", + "SAPI 5X 64" + ], + "default": "eloq" + } + }, + "Options.PrimaryLanguage": { + "schema": { + "title": "Primary language", + "description": "The primary language used for the voice profile.", + "enum": [ + "DEU", + "ENG", + "ENU", + "ESM", + "ESN", + "FIN", + "FRA", + "FRC", + "ITA", + "PTB" + ], + "default": "ENU" + } + }, + "Options.Factory": { + "schema": { + // NOTE: Setting purpose isn't known and should remain private + "title": "Factory", + "description": "Unknown.", + "type": "integer", + "default": 0 + } + }, + + // ======================================================= + + // -------- German - GLOBAL ---------- + + "DEU-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "DEU-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "DEU-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "DEU-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "DEU-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "DEU-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "DEU-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "DEU-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "DEU-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], + "default": "Reed" + } + }, + + // ---------- ENGLISH UNITED STATES - GLOBAL ---------- + + "ENU-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "ENU-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENU-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "ENU-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "ENU-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "ENU-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "ENU-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENU-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENU-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (United Kingdom) - GLOBAL ---------- + + "ENG-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "ENG-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENG-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "ENG-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "ENG-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "ENG-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "ENG-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENG-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENG-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Mexico) - GLOBAL ---------- + + "ESM-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "ESM-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESM-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "ESM-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "ESM-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "ESM-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "ESM-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESM-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESM-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Spain) - GLOBAL ---------- + + "ESN-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "ESN-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESN-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "ESN-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "ESN-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "ESN-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "ESN-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESN-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESN-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- Finnish - GLOBAL ---------- + + "FIN-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "FIN-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FIN-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "FIN-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "FIN-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "FIN-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "FIN-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FIN-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FIN-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // - Not available + // If synth is SAPI 5X 64 + // - Not available + ], + "default": "Reed" + } + }, + + // -------- French (France) - GLOBAL ---------- + + "FRA-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "FRA-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRA-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "FRA-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "FRA-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "FRA-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "FRA-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRA-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRA-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - GLOBAL ---------- + + "FRC-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "FRC-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRC-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "FRC-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "FRC-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "FRC-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "FRC-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRC-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRC-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- Italian - GLOBAL ---------- + + "ITA-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ITA-Global.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ITA-Global.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ITA-Global.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ITA-Global.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ITA-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ITA-Global.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ITA-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Cosmino", + "Microsoft Elsa", + // If synth is SAPI + "Microsoft Elsa Desktop" + ], + "default": "Reed" + } + }, + + // -------- Brazil - GLOBAL ---------- + + "PTB-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "None" + } + }, + "PTB-Global.Pitch": { + "schema": { + "title": "Pitch", + "description": "The pitch to use for all types of announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "PTB-Global.Punctuation": { + "schema": { + "title": "Punctuation", + "description": "How much punctuation to announce for all types of announcements.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 2 + } + }, + "PTB-Global.Rate": { + "schema": { + // NOTE: This setting should only be used through the exposed application specific + // term, this setting itself should not be modified by the user. + "title": "Rate", + "description": "Speech rate for all announcements (scale varies by synthesizer).", + "type": "integer" + } + }, + "PTB-Global.SpellRateDelta": { + "schema": { + "title": "The spell rate delta", + "description": "The ammount speech rates decresases when spelling words or lines.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": -25 + } + }, + "PTB-Global.SynthLangString": { + "schema": { + "title": "Synth Language", + "description": "The language to use for all announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ] + } + }, + "PTB-Global.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "PTB-Global.Volume": { + "schema": { + "title": "Global Volume", + "description": "The volume for all announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "PTB-Global.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], + "default": "Reed" + } + }, + + // ======================================================= + + // -------- German - JAWCURSOR ---------- + + "DEU-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "DEU-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "DEU-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "DEU-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "DEU-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "DEU-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "DEU-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "DEU-JAWSCursor.VoiceName": { + "schema": { + "title": "Global voice name", + "description": "The voice name to use by default.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (UNITED STATES) - JAWCURSOR ---------- + + "ENU-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENU-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENU-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENU-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ENU-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENU-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENU-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENU-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (United Kingdom) - JAWCURSOR ---------- + + "ENG-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENG-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENG-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENG-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ENG-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENG-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENG-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENG-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Mexico) - JAWCURSOR ---------- + + "ESM-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESM-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESM-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESM-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ESM-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESM-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESM-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESM-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Spain) - JAWCURSOR ---------- + + "ESN-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESN-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESN-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESN-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ESN-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESN-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESN-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESN-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- Finnish - JAWCURSOR ---------- + + "FIN-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FIN-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FIN-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FIN-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "FIN-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FIN-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FIN-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FIN-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // - Not available + // If synth is SAPI 5X 64 + // - Not available + ], + "default": "Reed" + } + }, + + // -------- French (France) - JAWCURSOR ---------- + + "FRA-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRA-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRA-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRA-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "FRA-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRA-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRA-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRA-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - JAWCURSOR ---------- + + "FRC-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRC-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRC-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRC-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "FRC-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRC-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRC-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRC-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- Italian - JAWCURSOR ---------- + + "ITA-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ITA-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ITA-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ITA-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ITA-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ITA-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ITA-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ITA-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Cosmino", + "Microsoft Elsa", + // If synth is SAPI + "Microsoft Elsa Desktop" + ], + "default": "Reed" + } + }, + + // -------- Brazil - JAWCURSOR ---------- + + "PTB-JAWSCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "PTB-JAWSCursor.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "PTB-JAWSCursor.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "PTB-JAWSCursor.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "PTB-JAWSCursor.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "PTB-JAWSCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "PTB-JAWSCursor.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "PTB-JAWSCursor.VoiceName": { + "schema": { + "title": "JAWS cursor voice name", + "description": "The voice name to use for JAWS cursor.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], + "default": "Reed" + } + }, + + // ======================================================= + + // -------- German - KEYBOARD ---------- + + "DEU-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "DEU-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "DEU-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "DEU-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "DEU-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "DEU-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "DEU-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "DEU-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (UNITED STATES) - KEYBOARD ---------- + + "ENU-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENU-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENU-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENU-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ENU-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENU-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENU-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENU-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (United Kingdom) - KEYBOARD ---------- + + "ENG-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENG-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENG-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENG-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ENG-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENG-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENG-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENG-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Mexico) - KEYBOARD ---------- + + "ESM-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESM-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESM-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESM-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ESM-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESM-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESM-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESM-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Spain) - KEYBOARD ---------- + + "ESN-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESN-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESN-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESN-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ESN-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESN-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESN-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESN-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- Finnish - KEYBOARD ---------- + + "FIN-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FIN-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FIN-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FIN-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "FIN-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FIN-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FIN-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FIN-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // - Not available + // If synth is SAPI 5X 64 + // - Not available + ], + "default": "Reed" + } + }, + + // -------- French (France) - KEYBOARD ---------- + + "FRA-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRA-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRA-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRA-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "FRA-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRA-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRA-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRA-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - KEYBOARD ---------- + + "FRC-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRC-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRC-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRC-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "FRC-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRC-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRC-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRC-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- Italian - JAWCURSOR ---------- + + "ITA-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "JAWS Cursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ITA-Keyboard.Pitch": { + "schema": { + "title": "JAWS Cursor Pitch", + "description": "The pitch to use for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ITA-Keyboard.Punctuation": { + "schema": { + "title": "JAWS Cursor Punctuation", + "description": "How much punctuation to announce for the JAWS cursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ITA-Keyboard.Rate": { + "schema": { + "title": "JAWS Cursor Rate", + "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", + "type": "integer" + } + }, + "ITA-Keyboard.SynthLangString": { + "schema": { + "title": "JAWS Cursor Language", + "description": "The language to use for announcements related to the JAWS cursor.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ITA-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ITA-Keyboard.Volume": { + "schema": { + "title": "JAWS Cursor Volume", + "description": "The volume for announcements related to the JAWS cursor.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ITA-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Cosmino", + "Microsoft Elsa", + // If synth is SAPI + "Microsoft Elsa Desktop" + ], + "default": "Reed" + } + }, + + // -------- Brazil - KEYBOARD ---------- + + "PTB-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "PTB-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "PTB-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "PTB-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "PTB-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "PTB-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "PTB-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "PTB-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], + "default": "Reed" + } + }, + + // ======================================================= + + // ======================================================= + + // -------- German - MENU AND DIALOG ---------- + + "DEU-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "DEU-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "DEU-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "DEU-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "DEU-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "DEU-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "DEU-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "DEU-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (UNITED STATES) - MENU AND DIALOG ---------- + + "ENU-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENU-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENU-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENU-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ENU-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENU-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENU-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENU-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (United Kingdom) - MENU AND DIALOG ---------- + + "ENG-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENG-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENG-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENG-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ENG-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENG-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENG-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENG-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Mexico) - MENU AND DIALOG ---------- + + "ESM-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESM-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESM-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESM-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ESM-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESM-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESM-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESM-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Spain) - MENU AND DIALOG ---------- + + "ESN-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESN-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESN-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESN-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "ESN-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESN-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESN-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESN-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- Finnish - MENU AND DIALOG ---------- + + "FIN-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FIN-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FIN-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FIN-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "FIN-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FIN-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FIN-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FIN-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // - Not available + // If synth is SAPI 5X 64 + // - Not available + ], + "default": "Reed" + } + }, + + // -------- French (France) - MENU AND DIALOG ---------- + + "FRA-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRA-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRA-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRA-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "FRA-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRA-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRA-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRA-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - MENU AND DIALOG ---------- + + "FRC-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRC-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRC-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRC-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "FRC-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRC-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRC-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRC-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- Brazil - MENU AND DIALOG ---------- + + "PTB-Keyboard.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Keyboard parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "PTB-Keyboard.Pitch": { + "schema": { + "title": "Keyboard pitch", + "description": "The pitch to use for announcements related to the keyboard.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "PTB-Keyboard.Punctuation": { + "schema": { + "title": "Keyboard punctuation", + "description": "How much punctuation to announce for the keyboard.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "PTB-Keyboard.Rate": { + "schema": { + "title": "Keyboard rate", + "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "type": "integer" + } + }, + "PTB-Keyboard.SynthLangString": { + "schema": { + "title": "Keyboard language", + "description": "The language to use for announcements related to the keyboard.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "PTB-Keyboard.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "PTB-Keyboard.Volume": { + "schema": { + "title": "Keyboard volume", + "description": "The volume for announcements related to the keyboard.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "PTB-Keyboard.VoiceName": { + "schema": { + "title": "Keyboard voice name", + "description": "The voice name used for keyboard announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], + "default": "Reed" + } + }, + + // ======================================================= + + // ======================================================= + + // -------- German - MESSAGE ---------- + + "DEU-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "DEU-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "DEU-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "DEU-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "DEU-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "DEU-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "DEU-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "DEU-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (UNITED STATES) - MESSAGE ---------- + + "ENU-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENU-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENU-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENU-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "ENU-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENU-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENU-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENU-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (United Kingdom) - MESSAGE ---------- + + "ENG-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENG-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENG-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENG-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "ENG-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENG-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENG-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENG-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Mexico) - MESSAGE ---------- + + "ESM-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESM-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESM-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESM-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "ESM-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESM-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESM-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESM-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Spain) - MESSAGE ---------- + + "ESN-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESN-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESN-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESN-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "ESN-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESN-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESN-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESN-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- Finnish - MESSAGE ---------- + + "FIN-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FIN-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FIN-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FIN-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "FIN-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FIN-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FIN-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FIN-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // - Not available + // If synth is SAPI 5X 64 + // - Not available + ], + "default": "Reed" + } + }, + + // -------- French (France) - MESSAGE ---------- + + "FRA-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRA-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRA-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRA-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "FRA-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRA-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRA-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRA-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - MESSAGE ---------- + + "FRC-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRC-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRC-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRC-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "FRC-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRC-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRC-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRC-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- Brazil - MESSAGE ---------- + + "PTB-Message.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Message parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "PTB-Message.Pitch": { + "schema": { + "title": "Message pitch", + "description": "The pitch to use for message announcements .", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "PTB-Message.Punctuation": { + "schema": { + "title": "Message punctuation", + "description": "How much punctuation to announce for messages.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "PTB-Message.Rate": { + "schema": { + "title": "Message rate", + "description": "Speech rate for message announcements (scale varies by synth).", + "type": "integer" + } + }, + "PTB-Message.SynthLangString": { + "schema": { + "title": "Message language", + "description": "The language to use for message announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "PTB-Message.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "PTB-Message.Volume": { + "schema": { + "title": "Message volume", + "description": "The volume for message announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "PTB-Message.VoiceName": { + "schema": { + "title": "Message voice name", + "description": "The voice name for message announcements.", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], + "default": "Reed" + } + }, + + // ======================================================= + + // ======================================================= + + // -------- German - MESSAGE ---------- + + "DEU-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "DEU-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "DEU-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "DEU-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "DEU-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "DEU-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "DEU-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "DEU-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (UNITED STATES) - MESSAGE ---------- + + "ENU-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENU-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENU-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENU-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "ENU-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENU-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENU-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENU-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- ENGLISH (United Kingdom) - MESSAGE ---------- + + "ENG-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ENG-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ENG-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ENG-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "ENG-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ENG-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ENG-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ENG-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Mexico) - MESSAGE ---------- + + "ESM-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESM-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESM-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESM-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "ESM-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESM-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESM-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESM-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- SPANISH (Spain) - MESSAGE ---------- + + "ESN-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "ESN-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "ESN-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "ESN-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "ESN-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "ESN-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "ESN-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "ESN-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + "Microsoft Helena Desktop", + ], + "default": "Reed" + } + }, + + // -------- Finnish - MESSAGE ---------- + + "FIN-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FIN-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FIN-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FIN-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "FIN-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FIN-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FIN-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FIN-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // - Not available + // If synth is SAPI 5X 64 + // - Not available + ], + "default": "Reed" + } + }, + + // -------- French (France) - MESSAGE ---------- + + "FRA-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRA-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRA-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRA-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "FRA-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRA-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRA-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRA-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - MESSAGE ---------- + + "FRC-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "FRC-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "FRC-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "FRC-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "FRC-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "FRC-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "FRC-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "FRC-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- Brazil - MESSAGE ---------- + + "PTB-PCCursor.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "PCCursor parent config", + "description": "The parent config from which to inherit.", + "type": "string", + "default": "Global" + } + }, + "PTB-PCCursor.Pitch": { + "schema": { + "title": "PCCursor pitch", + "description": "The pitch to use for PCCursor announcements.", + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 65 + } + }, + "PTB-PCCursor.Punctuation": { + "schema": { + "title": "PCCursor punctuation", + "description": "How much punctuation to announce for PCCursor.", + "enum": [0, 1, 2, 3], + "enumLabels": ["None", "Some", "Most", "All"], + "default": 1 + } + }, + "PTB-PCCursor.Rate": { + "schema": { + "title": "PCCursor rate", + "description": "Speech rate for PCCursor announcements (scale varies by synth).", + "type": "integer" + } + }, + "PTB-PCCursor.SynthLangString": { + "schema": { + "title": "PCCursor language", + "description": "The language to use for PCCursor announcements.", + "enum": [ + "0x409", // English - US + "0x407", // German + "0x40b", // Finish + "0x40c", // French - France + "0x410", // Italian + "0x416", // Portuguese - Brazil + "0x809", // English - United Kingdom + "0x80a", // Spanish - Mexico + "0xc0a", // Spanish - Spain + "0xc0c" // French - Canada + ], + "default": "0x409" + } + }, + "PTB-PCCursor.UppercasePitchDelta": { + "schema": { + "title": "Uppercase pitch delta", + "description": "Pitch variation as you type or arrow accross capital letters.", + "type": "integer", + "minimum": -99, + "maximum": 999, + "default": 50 + } + }, + "PTB-PCCursor.Volume": { + "schema": { + "title": "PCCursor volume", + "description": "The volume for PCCursor announcements.", + "type": "integer", + "minimum": 10, + "maximum": 100, + "default": 100 + } + }, + "PTB-PCCursor.VoiceName": { + "schema": { + "title": "PCCursor voice name", + "description": "The voice for message announcements..", + "enum": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], + "default": "Reed" + } + }, + + // ======================================================= + + // ------------ SPANISH (Spain) - VOICE ALIASES -------------- + + "ESN-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "ESN-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "ESN-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "ESN-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "ESN-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESN-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "ESN-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "ESN-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "ESN-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "ESN-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "ESN-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "ESN-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "ESN-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "ESN-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "ESN-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "ESN-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "ESN-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "ESN-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "ESN-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESN-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESN-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESN-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESN-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "ESN-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "ESN-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "ESN-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "ESN-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "ESN-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "ESN-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "ESN-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "ESN-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "ESN-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ESN-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ESN-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ESN-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ SPANISH (Mexico) - VOICE ALIASES -------------- + + "ESM-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "ESM-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "ESM-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "ESM-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "ESM-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESM-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "ESM-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "ESM-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "ESM-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "ESM-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "ESM-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "ESM-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "ESM-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "ESM-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "ESM-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "ESM-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "ESM-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "ESM-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "ESM-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESM-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESM-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESM-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "ESM-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "ESM-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "ESM-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "ESM-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "ESM-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "ESM-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "ESM-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "ESM-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "ESM-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "ESM-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ESM-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ESM-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ESM-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ ENGLISH US - VOICE ALIASES -------------- + + "ENU-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "ENU-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "ENU-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "ENU-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "ENU-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENU-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "ENU-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "ENU-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "ENU-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "ENU-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "ENU-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "ENU-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "ENU-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "ENU-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "ENU-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "ENU-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "ENU-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "ENU-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "ENU-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENU-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENU-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENU-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENU-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "ENU-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "ENU-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "ENU-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "ENU-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "ENU-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "ENU-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "ENU-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "ENU-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "ENU-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ENU-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ENU-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ENU-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ ENGLISH (United Kingdom) - VOICE ALIASES -------------- + + "ENG-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "ENG-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "ENG-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "ENG-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "ENG-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENG-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "ENG-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "ENG-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "ENG-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "ENG-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "ENG-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "ENG-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "ENG-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "ENG-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "ENG-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "ENG-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "ENG-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "ENG-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "ENG-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENG-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENG-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENG-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "ENG-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "ENG-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "ENG-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "ENG-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "ENG-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "ENG-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "ENG-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "ENG-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "ENG-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "ENG-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ENG-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ENG-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ENG-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ Finish - VOICE ALIASES -------------- + + "FIN-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "FIN-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "FIN-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "FIN-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "FIN-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "FIN-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "FIN-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "FIN-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "FIN-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "FIN-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "FIN-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "FIN-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "FIN-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "FIN-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "FIN-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "FIN-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "FIN-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "FIN-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "FIN-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "FIN-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "FIN-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "FIN-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "FIN-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "FIN-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "FIN-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "FIN-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "FIN-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "FIN-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "FIN-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "FIN-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "FIN-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "FIN-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FIN-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FIN-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FIN-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ French (France) - VOICE ALIASES -------------- + + "FRA-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "FRA-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "FRA-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "FRA-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "FRA-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRA-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "FRA-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "FRA-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "FRA-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "FRA-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "FRA-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "FRA-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "FRA-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "FRA-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "FRA-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "FRA-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "FRA-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "FRA-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "FRA-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRA-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRA-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRA-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRA-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "FRA-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "FRA-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "FRA-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "FRA-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "FRA-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "FRA-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "FRA-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "FRA-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "FRA-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FRA-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FRA-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FRA-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ French (Canada) - VOICE ALIASES -------------- + + "FRC-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "FRC-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "FRC-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "FRC-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "FRC-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRC-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "FRC-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "FRC-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "FRC-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "FRC-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "FRC-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "FRC-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "FRC-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "FRC-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "FRC-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "FRC-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "FRC-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "FRC-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "FRC-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRC-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRC-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRC-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "FRC-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "FRC-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "FRC-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "FRC-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "FRC-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "FRC-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "FRC-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "FRC-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "FRC-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "FRC-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FRC-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FRC-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "FRC-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ German - VOICE ALIASES -------------- + + "DEU-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "DEU-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "DEU-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "DEU-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "DEU-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "DEU-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "DEU-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "DEU-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "DEU-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } + }, + "DEU-Voice Aliases.DoubleStrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" + } + }, + "DEU-Voice Aliases.GraphicVoice": { + "schema": { + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" + } + }, + "DEU-Voice Aliases.HighlightVoice": { + "schema": { + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" + } + }, + "DEU-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" + } + }, + "DEU-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" + } + }, + "DEU-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" + } + }, + "DEU-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" + } + }, + "DEU-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" + } + }, + "DEU-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" + } + }, + "DEU-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" + } + }, + "DEU-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" + } + }, + "DEU-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "DEU-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "DEU-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "DEU-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "DEU-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "DEU-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "DEU-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "DEU-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "DEU-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "DEU-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "DEU-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "DEU-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "DEU-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "DEU-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "DEU-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ Italian - VOICE ALIASES -------------- + + "ITA-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "ITA-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" + } + }, + "ITA-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" + } + }, + "ITA-Voice Aliases.JAWSCursorVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" + } + }, + "ITA-Voice Aliases.NormalVoice": { + "schema": { + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" + } + }, + "ITA-Voice Aliases.BoldVoice": { + "schema": { + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" + } + }, + "ITA-Voice Aliases.UnderlineVoice": { + "schema": { + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" + } + }, + "ITA-Voice Aliases.ItalicVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" + } + }, + "ITA-Voice Aliases.StrikeoutVoice": { + "schema": { + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" + } }, - // TODO: Document default. - "Touch.TapInterEventDurationMax": { + "ITA-Voice Aliases.DoubleStrikeoutVoice": { "schema": { - "title": "Double Tap Speed", - "description": "The threshold for treating two taps as a double-tap, expressed in milliseconds between taps.", - "type": "integer" + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" } }, - // TODO: Document default. - "Touch.TapTranslationMax": { + "ITA-Voice Aliases.GraphicVoice": { "schema": { - "title": "Tap Radius", - "description": "The size of the finger contact spot on the touch screen.", - "type": "integer" + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" } }, - // I don't think this is something that the user should change since we always store the voice settings into our own profile name "GPII" - "Voice Profiles.ActiveVoiceProfileName": { + "ITA-Voice Aliases.HighlightVoice": { "schema": { - "title": "Active Voice Profile Name", - "description": "The active voice profile.", + "title": "Highlight voice", + "description": "The voice used for highlighted text.", "type": "string", - "default": "GPII" + "default": "Bobby" } - } - }, - "capabilitiesTransformations": { - "Voice Profiles\\.ActiveVoiceProfileName": { - "literalValue": "GPII" }, - "Options\\.SayAllIndicateCaps": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "http://registry\\.gpii\\.net/common/announceCapitals", - "match": [ - { - "inputValue": true, - "outputValue": 1 - }, - { - "inputValue": false, - "outputValue": 0 - } - ], - "noMatch": { - "outputValue": 0 - } + "ITA-Voice Aliases.HugeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" } }, - "Options\\.TypingEcho": { - // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) - "transform": { - "type": "fluid.transforms.condition", - "condition": { - "transform": { - "type": "fluid.transforms.binaryOp", - "leftPath": "http://registry\\.gpii\\.net/common/keyEcho", - "rightPath": "http://registry\\.gpii\\.net/common/wordEcho", - "operator": "&&" - } - }, - "true": 3, - "false": { - "transform": { - "type": "fluid.transforms.condition", - "conditionPath": "http://registry\\.gpii\\.net/common/keyEcho", - "true": 1, - "false": { - "transform": { - "type": "fluid.transforms.condition", - "conditionPath": "http://registry\\.gpii\\.net/common/wordEcho", - "true": 2 - } - } - } - } + "ITA-Voice Aliases.LargeTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" } }, - "Options\\.SayAllMode": { - "transform": { - "type": "fluid.transforms.valueMapper", - "defaultInputPath": "http://registry\\.gpii\\.net/common/readingUnit", - "match": { - "line": 0, - "sentence": 1, - "paragraph": 2 - } + "ITA-Voice Aliases.SmallTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" } }, - "Braille\\.BrailleMode": { - "transform": { - "type": "fluid.transforms.valueMapper", - "defaultInputPath": "http://registry\\.gpii\\.net/common/brailleMode", - "match": { - "line": 0, - "structured": 1, - "speechHistory": 2 - } + "ITA-Voice Aliases.TinyTextVoice": { + "schema": { + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" } }, - "Options\\.SayAllIgnoreShiftKeys": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "http://registry\\.gpii\\.net/common/stickyKeys", - "match": [ - { - "inputValue": true, - "outputValue": 1 - }, - { - "inputValue": false, - "outputValue": 0 - } - ], - "noMatch": { - "outputValue": 0 - } + "ITA-Voice Aliases.SuperscriptVoice": { + "schema": { + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" } - } - }, - "inverseCapabilitiesTransformations": { - "http://registry\\.gpii\\.net/common/announceCapitals": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "Options\\.SayAllIndicateCaps", - "match": [ - { - "inputValue": 0, - "outputValue": false - }, - { - "inputValue": 1, - "outputValue": true - } - ], - "noMatch": { - "outputValue": false - } + }, + "ITA-Voice Aliases.SubscriptVoice": { + "schema": { + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" } }, - "http://registry\\.gpii\\.net/common/keyEcho": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "Options\\.TypingEcho", - // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) - "match": [ - { - "inputValue": 1, - "outputValue": true - }, - { - "inputValue": 3, - "outputValue": true - } - ], - "noMatch": { - "outputValue": false - } + "ITA-Voice Aliases.ShadowVoice": { + "schema": { + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" } }, - "http://registry\\.gpii\\.net/common/wordEcho": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "Options\\.TypingEcho", - // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) - "match": [ - { - "inputValue": 2, - "outputValue": true - }, - { - "inputValue": 3, - "outputValue": true - } - ], - "noMatch": { - "outputValue": false - } + "ITA-Voice Aliases.EmbossVoice": { + "schema": { + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" } }, - "http://registry\\.gpii\\.net/common/readingUnit": { - "transform": { - "type": "fluid.transforms.valueMapper", - "defaultInputPath": "Options\\.SayAllMode", - "match": [ - { - "inputValue": 0, - "outputValue": "line" - }, - { - "inputValue": 1, - "outputValue": "sentence" - }, - { - "inputValue": 2, - "outputValue": "paragraph" - } - ] + "ITA-Voice Aliases.EngraveVoice": { + "schema": { + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" + } + }, + "ITA-Voice Aliases.OutlineVoice": { + "schema": { + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" + } + }, + "ITA-Voice Aliases.HeadingLevel1Voice": { + "schema": { + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" + } + }, + "ITA-Voice Aliases.HeadingLevel2Voice": { + "schema": { + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" + } + }, + "ITA-Voice Aliases.HeadingLevel3Voice": { + "schema": { + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" + } + }, + "ITA-Voice Aliases.HeadingLevel4Voice": { + "schema": { + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" + } + }, + "ITA-Voice Aliases.HeadingLevel5Voice": { + "schema": { + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" + } + }, + "ITA-Voice Aliases.HeadingLevel6Voice": { + "schema": { + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" + } + }, + "ITA-Voice Aliases.LinkVoice": { + "schema": { + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" + } + }, + "ITA-Voice Aliases.SpellingVoice": { + "schema": { + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" + } + }, + "ITA-Voice Aliases.QuotationVoice": { + "schema": { + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" + } + }, + "ITA-Voice Aliases.SingleCapVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ITA-Voice Aliases.AllCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ITA-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "ITA-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" + } + }, + + // ------------ Portuguese (Brazil) - VOICE ALIASES -------------- + + "PTB-Voice Aliases.PCCursorVoice": { + "schema": { + "title": "PC Cursor Voice", + "description": "The voice to be used for the PC cursor.", + "type": "string", + "default": "Reed|0|0" + } + }, + "PTB-Voice Aliases.MessageVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Glen|0|0" } }, - "http://registry\\.gpii\\.net/common/brailleMode": { - "transform": { - "type": "fluid.transforms.valueMapper", - "defaultInputPath": "Braille\\.BrailleMode", - "match": [ - { - "inputValue": 0, - "outputValue": "line" - }, - { - "inputValue": 1, - "outputValue": "structured" - }, - { - "inputValue": 2, - "outputValue": "speechHistory" - } - ] + "PTB-Voice Aliases.HeaderVoice": { + "schema": { + "title": "PC Message Voice", + "description": "The voice to be used for messages.", + "type": "string", + "default": "Reed|-20%|0" } - } - } - }, - "configuration2": { - "type": "gpii.settingsHandlers.INISettingsHandler", - "liveness": "manualRestart", - "options": { - // TODO: Create a base grade for JAWS and version-specific variations. Make JAWS 2019 the default. Restart version-detection discussions and "capability" discussions. - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" - }, - "supportedSettings": { - "ENU-Global.Pitch": { + }, + "PTB-Voice Aliases.JAWSCursorVoice": { "schema": { - "title": "Pitch", - "description": "The pitch to use for all types of announcements.", - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 65 + "title": "PC Message Voice", + "description": "The voice used for JAWS cursor.", + "type": "string", + "default": "Reed|-10%|0" } }, - "ENU-Global.Punctuation": { + "PTB-Voice Aliases.NormalVoice": { "schema": { - "title": "Punctuation", - "description": "How much punctuation to announce for all types of announcements.", - "enum": [0, 1, 2, 3], - "enumLabels": ["None", "Some", "Most", "All"], - "default": 2 + "title": "Normal voice", + "description": "The voice used for regular text.", + "type": "string", + "default": "*|0|0" } }, - "ENU-Global.Rate": { + "PTB-Voice Aliases.BoldVoice": { "schema": { - "title": "Rate", - "description": "Speech rate for all announcements (scale varies by voice).", - "type": "integer" + "title": "Bold voice", + "description": "The voice used for bold text.", + "type": "string", + "default": "Rocko" } }, - "ENU-Global.SynthLangString": { + "PTB-Voice Aliases.UnderlineVoice": { "schema": { - "title": "Synth Language", - "description": "The language to use for all announcements.", - "type": "string" + "title": "Underline voice", + "description": "The underline used for underline text.", + "type": "string", + "default": "Shelly" } }, - "ENU-Global.Volume": { + "PTB-Voice Aliases.ItalicVoice": { "schema": { - "title": "Global Volume", - "description": "The volume for all announcements.", - "type": "integer", - "minimum": 10, - "maximum": 100, - "default": 100 + "title": "Italic voice", + "description": "The voice used for italic text.", + "type": "string", + "default": "Grandpa" } }, - "ENU-JAWSCursor.Pitch": { + "PTB-Voice Aliases.StrikeoutVoice": { "schema": { - "title": "JAWS Cursor Pitch", - "description": "The pitch to use for announcements related to the JAWS cursor.", - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 65 + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy" } }, - "ENU-JAWSCursor.Punctuation": { + "PTB-Voice Aliases.DoubleStrikeoutVoice": { "schema": { - "title": "JAWS Cursor Punctuation", - "description": "How much punctuation to announce for the JAWS cursor.", - "enum": [0, 1, 2, 3], - "enumLabels": ["None", "Some", "Most", "All"], - "default": 2 + "title": "Italic voice", + "description": "The voice used for strike-out text.", + "type": "string", + "default": "Sandy|0|10%" } }, - "ENU-JAWSCursor.Rate": { + "PTB-Voice Aliases.GraphicVoice": { "schema": { - "title": "JAWS Cursor Rate", - "description": "Speech rate for announcements related to the JAWS cursor (scale varies by voice).", - "type": "integer" + "title": "Graphic voice", + "description": "The voice used for graphics.", + "type": "string", + "default": "Grandma" } }, - "ENU-JAWSCursor.SynthLangString": { + "PTB-Voice Aliases.HighlightVoice": { "schema": { - "title": "JAWS Cursor Language", - "description": "The language to use for announcements related to the JAWS cursor.", - "type": "string" + "title": "Highlight voice", + "description": "The voice used for highlighted text.", + "type": "string", + "default": "Bobby" } }, - "ENU-JAWSCursor.Volume": { + "PTB-Voice Aliases.HugeTextVoice": { "schema": { - "title": "JAWS Cursor Volume", - "description": "The volume for announcements related to the JAWS cursor.", - "type": "integer", - "minimum": 10, - "maximum": 100, - "default": 100 + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-20%|0" } }, - "ENU-Keyboard.Pitch": { + "PTB-Voice Aliases.LargeTextVoice": { "schema": { - "title": "Keyboard Pitch", - "description": "The pitch to use for announcements related to the keyboard.", - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 65 + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|-10%|0" } }, - "ENU-Keyboard.Punctuation": { + "PTB-Voice Aliases.SmallTextVoice": { "schema": { - "title": "Keyboard Punctuation", - "description": "How much punctuation to announce for announcements related to the keyboard.", - "enum": [0,1,2,3], - "enumLabels": ["None", "Some", "Most", "All"], - "default": 2 + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|10%|0" } }, - "ENU-Keyboard.Rate": { + "PTB-Voice Aliases.TinyTextVoice": { "schema": { - "title": "Keyboard Rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by voice).", - "type": "integer" + "title": "Huge Text voice", + "description": "The voice used for huge text.", + "type": "string", + "default": "*|20%|0" } }, - "ENU-Keyboard.SynthLangString": { + "PTB-Voice Aliases.SuperscriptVoice": { "schema": { - "title": "Keyboard Language", - "description": "The language to use for announcements related to the keyboard.", - "type": "string" + "title": "Superscript voice", + "description": "The voice used for superscript text.", + "type": "string", + "default": "*|40%|0" } }, - "ENU-Keyboard.Volume": { + "PTB-Voice Aliases.SubscriptVoice": { "schema": { - "title": "Keyboard Volume", - "description": "The volume for announcements related to the keyboard.", - "type": "integer", - "minimum": 10, - "maximum": 100, - "default": 100 + "title": "Subscript voice", + "description": "The voice used for subscript text.", + "type": "string", + "default": "*|-40%|0" } }, - "ENU-MenuAndDialog.Pitch": { + "PTB-Voice Aliases.ShadowVoice": { "schema": { - "title": "Menu and Dialog Pitch", - "description": "The pitch to use for announcements related to menus and dialogs.", - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 65 + "title": "Shadow voice", + "description": "The voice used for shadow text.", + "type": "string", + "default": "*|0|0" } }, - "ENU-MenuAndDialog.Punctuation": { + "PTB-Voice Aliases.EmbossVoice": { "schema": { - "title": "Menu and Dialog Punctuation", - "description": "How much punctuation to announce for menus and dialogs.", - "enum": [0,1,2,3], - "enumLabels": ["None", "Some", "Most", "All"], - "default": 2 + "title": "Emboss voice", + "description": "The voice used for emboss text.", + "type": "string", + "default": "*|0|0" } }, - "ENU-MenuAndDialog.Rate": { + "PTB-Voice Aliases.EngraveVoice": { "schema": { - "title": "Menu and Dialog Rate", - "description": "Speech rate for announcements related to menus and dialogs (scale varies by voice).", - "type": "integer" + "title": "Engrave voice", + "description": "The voice used for engraved text.", + "type": "string", + "default": "*|0|0" } }, - "ENU-MenuAndDialog.SynthLangString": { + "PTB-Voice Aliases.OutlineVoice": { "schema": { - "title": "Menu and Dialog Language", - "description": "The language to use for announcements related to menus and dialogs.", - "type": "string" + "title": "Outline voice", + "description": "The voice used for outlined text.", + "type": "string", + "default": "*|0|0" } }, - "ENU-MenuAndDialog.Volume": { + "PTB-Voice Aliases.HeadingLevel1Voice": { "schema": { - "title": "Menu and Dialog Volume", - "description": "The volume for announcements related to menus and dialogs.", - "type": "integer", - "minimum": 10, - "maximum": 100, - "default": 100 + "title": "HeadingLevel1 voice", + "description": "The voice used for heading 1 text.", + "type": "string", + "default": "Rocko|5%|0" } }, - "ENU-Message.Pitch": { + "PTB-Voice Aliases.HeadingLevel2Voice": { "schema": { - "title": "Message Pitch", - "description": "The pitch to use for message announcements.", - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 65 + "title": "HeadingLevel2 voice", + "description": "The voice used for heading 2 text.", + "type": "string", + "default": "Rocko|10%|0" } }, - "ENU-Message.Punctuation": { + "PTB-Voice Aliases.HeadingLevel3Voice": { "schema": { - "title": "Message Punctuation", - "description": "How much punctuation to announce for messages.", - "enum": [0,1,2,3], - "enumLabels": ["None", "Some", "Most", "All"], - "default": 2 + "title": "HeadingLevel3 voice", + "description": "The voice used for heading 3 text.", + "type": "string", + "default": "Rocko|15%|0" } }, - "ENU-Message.Rate": { + "PTB-Voice Aliases.HeadingLevel4Voice": { "schema": { - "title": "Message Rate", - "description": "Speech rate for message announcements.", - "type": "integer" + "title": "HeadingLevel4 voice", + "description": "The voice used for heading 4 text.", + "type": "string", + "default": "Rocko|20%|0" } }, - "ENU-Message.SynthLangString": { + "PTB-Voice Aliases.HeadingLevel5Voice": { "schema": { - "title": "Message Language", - "description": "The language to use for message announcements.", - "type": "string" + "title": "HeadingLevel5 voice", + "description": "The voice used for heading 5 text.", + "type": "string", + "default": "Rocko|25%|0" } }, - "ENU-Message.Volume": { + "PTB-Voice Aliases.HeadingLevel6Voice": { "schema": { - "title": "Message Volume", - "description": "The volume for message announcements.", - "type": "integer", - "minimum": 10, - "maximum": 100, - "default": 100 + "title": "HeadingLevel6 voice", + "description": "The voice used for heading 6 text.", + "type": "string", + "default": "Rocko|30%|0" } }, - "ENU-PCCursor.Pitch": { + "PTB-Voice Aliases.LinkVoice": { "schema": { - "title": "PC Cursor Pitch", - "description": "The pitch to use for announcements related to the PC cursor.", - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 65 + "title": "Link voice", + "description": "The voice used for link text.", + "type": "string", + "default": "Shelly" } }, - "ENU-PCCursor.Punctuation": { + "PTB-Voice Aliases.SpellingVoice": { "schema": { - "title": "PC Cursor Punctuation", - "description": "How much punctuation to announce for the PC cursor.", - "enum": [0,1,2,3], - "enumLabels": ["None", "Some", "Most", "All"], - "default": 2 + "title": "Spelling voice", + "description": "The voice used for spelling text.", + "type": "string", + "default": "*|0|-25%" } }, - "ENU-PCCursor.Rate": { + "PTB-Voice Aliases.QuotationVoice": { "schema": { - "title": "PC Cursor Rate", - "description": "Speech rate for announcements related to the PC cursor (scale varies by voice).", - "type": "integer" + "title": "Quotation voice", + "description": "The voice used for quoted text.", + "type": "string", + "default": "Glen|10%|0" } }, - "ENU-PCCursor.SynthLangString": { + "PTB-Voice Aliases.SingleCapVoice": { "schema": { - "title": "PC Cursor Language", - "description": "The language to use for announcements related to the PC cursor.", - "type": "string" + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "*|50%|0" } }, - "ENU-PCCursor.Volume": { + "PTB-Voice Aliases.AllCapsVoice": { "schema": { - "title": "PC Cursor Volume", - "description": "The volume for announcements related to the PC cursor.", - "type": "integer", - "minimum": 10, - "maximum": 100, - "default": 100 + "title": "Single Cap voice", + "description": "The voice used for all caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "PTB-Voice Aliases.SmallCapsVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for small caps.", + "type": "string", + "default": "*|50%|0" + } + }, + "PTB-Voice Aliases.OCRVoice": { + "schema": { + "title": "Single Cap voice", + "description": "The voice used for single caps.", + "type": "string", + "default": "Rocko|-5%|-5%" } } }, @@ -3503,51 +13416,136 @@ } } } - } - }, - "launchHandlers": { - "launcher": { - "type": "gpii.launchHandlers.flexibleHandler", + }, + "configuration3": { + "type": "gpii.settingsHandlers.INISettingsHandler", + "liveness": "manualRestart", "options": { - "getState": [ - { - "type": "gpii.processReporter.find", - "command": "jfw.exe" + "filename": "${{environment}.PROGRAMDATA}\\Freedom Scientific\\JAWS\\2019\\SETTINGS\\Init\\JFW.INI", + }, + "supportedSettings": { + // ----------------------- ------------------------- + // TODO: Find settings "Enable Remote Access Client" and "Enable Remote Access Server" + "Remote Access.UseVirtualSpeech": { + "schema": { + "title": "Virtual Speech", + "description": "Enable or disables virtual speech on startup.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 } - ], - "setTrue": [ - { - "type": "gpii.launch.exec", - "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe\\}\"" + }, + "Remote Access.UseVirtualBraille": { + "schema": { + "title": "Virtual Braille", + "description": "Enable or disables virtual braille on startup.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 } - ], - "setFalse": [ - { - "type": "gpii.windows.closeProcessByName", - "filename": "jfw.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "fsSynth32.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "jhookldr.exe" - }, - // New for JAWS 2018 and higher. - { - "type": "gpii.windows.closeProcessByName", - "filename": "ScannerHandler.exe" + }, + "Remote Access.UsePACMateAuthorization": { + "schema": { + "title": "Use PAC Mate authorization", + "description": "Enable or disables PAC Mate authorization.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 } - ] + }, + "Options.Run Jaws Without Speech": { + "schema": { + "title": "Run JAWS without speech", + "description": "Disable JAWS speech at application startup.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + } + }, + "capabilitiesTransformations": { + }, + "inverseCapabilitiesTransformations": { } } }, + "launchHandlers": { + "launcher": { + "type": "gpii.launchHandlers.flexibleHandler", + "options": { + "getState": [ + { + "type": "gpii.processReporter.find", + "command": "jfw.exe" + } + ], + "setTrue": [ + { + "type": "gpii.launch.exec", + "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe\\}\"" + } + ], + "setFalse": [ + { + "type": "gpii.windows.closeProcessByName", + "filename": "jfw.exe" + }, + { + "type": "gpii.windows.closeProcessByName", + "filename": "fsSynth32.exe" + }, + { + "type": "gpii.windows.closeProcessByName", + "filename": "jhookldr.exe" + }, + // New for JAWS 2018 and higher. + { + "type": "gpii.windows.closeProcessByName", + "filename": "ScannerHandler.exe" + } + ] + } + } + }, + "configure": [ + "settings.configuration1", + "settings.configuration2", + "settings.configuration3" + ], + "restore": [ + "settings.configuration2", + "settings.configuration1", + "settings.configuration3" + ], "isInstalled": [ { "type": "gpii.deviceReporter.registryKeyExists", "hKey": "HKEY_LOCAL_MACHINE", - "path": "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe", + "path": "64:SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe", "subPath": "", "dataType": "REG_SZ" } @@ -4417,248 +14415,248 @@ } }, // MAGic also supports a subset of JAWS settings using its built-in "JAWS lite". - "configuration2": { - "type": "gpii.settingsHandlers.INISettingsHandler", - "liveness": "manualRestart", - "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\MAGIC\\14.0\\Settings\\enu\\DEFAULT.JCF" - }, - "supportedSettings": { - "Options.AllowMouseEchoWhenMuted": { - "schema": { - "title": "Allow Mouse Echo", - "description": "Whether to echo mouse movement when otherwise muted.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.AllowSpeechOnDemandWhenMuted": { - "schema": { - "title": "Allow Reading Commands", - "description": "Whether to allow speech on demand when otherwise muted.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "Options.AllowTypingEchoWhenMuted": { - "schema": { - "title": "Allow Typing Echo", - "description": "Whether to echo typed keys when otherwise muted.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.IndicateCaps": { - "schema": { - "title": "Indicate Caps", - "description": "When to indicate the presence of capital letters.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "Off", - "indicate caps when spelling or when navigating by character", - "also indicate caps when reading by words", - "also indicate caps when reading by lines" - ] - } - }, - "Options.InitialNumlockState": { - "schema": { - "title": "Initial State of NumLock Key", - "description": "The initial state of the NumLock key.", - "type": "number", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "off at startup", - "on at startup", - "leave unmodified" - ], - "default": 0 - } - }, - "Options.MouseMovementStopsSpeech": { - "schema": { - "title": "Mouse Echo Interrupt", - "description": "Whether to stop speaking when the mouse is moved.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "Options.MouseSpeechDelay": { - "schema": { - "title": "Mouse Echo Delay", - "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", - "type": "integer", - "default": 0 - } - }, - "Options.MouseSpeechEchoUnit": { - "schema": { - "title": "Mouse Echo Unit", - "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "character", - "word", - "line", - "paragraph" - ], - "default": 2 - } - }, - "Options.MouseSpeechEnabled": { - "schema": { - "title": "Enable Mouse Echo", - "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.TypingEcho": { - "schema": { - "title": "Typing echo", - "description": "How to announce typed words and/or characters.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "don't announce characters or words", - "announce characters", - "announce words", - "announce characters and words" - ] - } - } - }, - "capabilitiesTransformations": { - "Options\\.TypingEcho": { - // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) - "transform": { - "type": "fluid.transforms.condition", - "condition": { - "transform": { - "type": "fluid.transforms.binaryOp", - "leftPath": "http://registry\\.gpii\\.net/common/keyEcho", - "rightPath": "http://registry\\.gpii\\.net/common/wordEcho", - "operator": "&&" - } - }, - "true": 3, - "false": { - "transform": { - "type": "fluid.transforms.condition", - "conditionPath": "http://registry\\.gpii\\.net/common/keyEcho", - "true": 1, - "false": { - "transform": { - "type": "fluid.transforms.condition", - "conditionPath": "http://registry\\.gpii\\.net/common/wordEcho", - "true": 2 - } - } - } - } - } - } - }, - "inverseCapabilitiesTransformations": { - "http://registry\\.gpii\\.net/common/keyEcho": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "Options\\.TypingEcho", - // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) - "match": [ - { - "inputValue": 1, - "outputValue": true - }, - { - "inputValue": 3, - "outputValue": true - } - ], - "noMatch": { - outputUndefinedValue: true - } - } - }, - "http://registry\\.gpii\\.net/common/wordEcho": { - "transform": { - "type": "valueMapper", - "defaultInputPath": "Options\\.TypingEcho", - // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) - "match": [ - { - "inputValue": 2, - "outputValue": true - }, - { - "inputValue": 3, - "outputValue": true - } - ], - "noMatch": { - outputUndefinedValue: true - } - } - } - } - } + // "configuration2": { + // "type": "gpii.settingsHandlers.INISettingsHandler", + // "liveness": "manualRestart", + // "options": { + // "filename": "${{environment}.APPDATA}\\Freedom Scientific\\MAGIC\\14.0\\Settings\\enu\\DEFAULT.JCF" + // }, + // "supportedSettings": { + // "Options.AllowMouseEchoWhenMuted": { + // "schema": { + // "title": "Allow Mouse Echo", + // "description": "Whether to echo mouse movement when otherwise muted.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, + // "Options.AllowSpeechOnDemandWhenMuted": { + // "schema": { + // "title": "Allow Reading Commands", + // "description": "Whether to allow speech on demand when otherwise muted.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 1 + // } + // }, + // "Options.AllowTypingEchoWhenMuted": { + // "schema": { + // "title": "Allow Typing Echo", + // "description": "Whether to echo typed keys when otherwise muted.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, + // "Options.IndicateCaps": { + // "schema": { + // "title": "Indicate Caps", + // "description": "When to indicate the presence of capital letters.", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1, + // 2, + // 3 + // ], + // "enumLabels": [ + // "Off", + // "indicate caps when spelling or when navigating by character", + // "also indicate caps when reading by words", + // "also indicate caps when reading by lines" + // ] + // } + // }, + // "Options.InitialNumlockState": { + // "schema": { + // "title": "Initial State of NumLock Key", + // "description": "The initial state of the NumLock key.", + // "type": "number", + // "enum": [ + // 0, + // 1, + // 2 + // ], + // "enumLabels": [ + // "off at startup", + // "on at startup", + // "leave unmodified" + // ], + // "default": 0 + // } + // }, + // "Options.MouseMovementStopsSpeech": { + // "schema": { + // "title": "Mouse Echo Interrupt", + // "description": "Whether to stop speaking when the mouse is moved.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 1 + // } + // }, + // "Options.MouseSpeechDelay": { + // "schema": { + // "title": "Mouse Echo Delay", + // "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", + // "type": "integer", + // "default": 0 + // } + // }, + // "Options.MouseSpeechEchoUnit": { + // "schema": { + // "title": "Mouse Echo Unit", + // "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", + // "enum": [ + // 0, + // 1, + // 2, + // 3 + // ], + // "enumLabels": [ + // "character", + // "word", + // "line", + // "paragraph" + // ], + // "default": 2 + // } + // }, + // "Options.MouseSpeechEnabled": { + // "schema": { + // "title": "Enable Mouse Echo", + // "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, + // "Options.TypingEcho": { + // "schema": { + // "title": "Typing echo", + // "description": "How to announce typed words and/or characters.", + // "type": "number", + // "default": 1, + // "enum": [ + // 0, + // 1, + // 2, + // 3 + // ], + // "enumLabels": [ + // "don't announce characters or words", + // "announce characters", + // "announce words", + // "announce characters and words" + // ] + // } + // } + // }, + // "capabilitiesTransformations": { + // "Options\\.TypingEcho": { + // // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) + // "transform": { + // "type": "fluid.transforms.condition", + // "condition": { + // "transform": { + // "type": "fluid.transforms.binaryOp", + // "leftPath": "http://registry\\.gpii\\.net/common/keyEcho", + // "rightPath": "http://registry\\.gpii\\.net/common/wordEcho", + // "operator": "&&" + // } + // }, + // "true": 3, + // "false": { + // "transform": { + // "type": "fluid.transforms.condition", + // "conditionPath": "http://registry\\.gpii\\.net/common/keyEcho", + // "true": 1, + // "false": { + // "transform": { + // "type": "fluid.transforms.condition", + // "conditionPath": "http://registry\\.gpii\\.net/common/wordEcho", + // "true": 2 + // } + // } + // } + // } + // } + // } + // }, + // "inverseCapabilitiesTransformations": { + // "http://registry\\.gpii\\.net/common/keyEcho": { + // "transform": { + // "type": "valueMapper", + // "defaultInputPath": "Options\\.TypingEcho", + // // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) + // "match": [ + // { + // "inputValue": 1, + // "outputValue": true + // }, + // { + // "inputValue": 3, + // "outputValue": true + // } + // ], + // "noMatch": { + // outputUndefinedValue: true + // } + // } + // }, + // "http://registry\\.gpii\\.net/common/wordEcho": { + // "transform": { + // "type": "valueMapper", + // "defaultInputPath": "Options\\.TypingEcho", + // // (1=keyEcho, 2=wordEcho, 3=key&wordEcho) + // "match": [ + // { + // "inputValue": 2, + // "outputValue": true + // }, + // { + // "inputValue": 3, + // "outputValue": true + // } + // ], + // "noMatch": { + // outputUndefinedValue: true + // } + // } + // } + // } + // } }, "launchHandlers": { "launcher": { @@ -6263,8 +16261,7 @@ }, "stop": [], "update": [ - "settings.configure", - "start" + "settings.configure" ], "restore": [ "settings.configure", From faf9d4d92fb491fff687b40db413975daad9b1fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sat, 25 Jan 2020 17:40:52 +0100 Subject: [PATCH 03/27] GPII-4226: Added a new INISettingsHandler wrapper for handling JAWS INI files and the necessary changes to settingsHandlerUtilities --- gpii/node_modules/settingsHandlers/index.js | 1 + .../src/JawsSettingsHandler.js | 69 +++++++++++++++++++ .../src/settingsHandlerUtilities.js | 20 +++--- 3 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js diff --git a/gpii/node_modules/settingsHandlers/index.js b/gpii/node_modules/settingsHandlers/index.js index 144df4f40..38f25bbc4 100644 --- a/gpii/node_modules/settingsHandlers/index.js +++ b/gpii/node_modules/settingsHandlers/index.js @@ -5,6 +5,7 @@ var fluid = require("infusion"); fluid.module.register("settingsHandlers", __dirname, require); require("./src/INISettingsHandler.js"); +require("./src/JawsSettingsHandler.js"); require("./src/XMLSettingsHandler.js"); require("./src/JSONSettingsHandler.js"); require("./src/WebSocketsSettingsHandler.js"); diff --git a/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js b/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js new file mode 100644 index 000000000..f3ed5086d --- /dev/null +++ b/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js @@ -0,0 +1,69 @@ +/*! +* JAWS Settings Handler +* +* Copyright 2012 Raising the Floor - International +* +* Licensed under the New BSD license. You may not use this file except in +* compliance with this License. +* +* The research leading to these results has received funding from the European Union's +* Seventh Framework Programme (FP7/2007-2013) under grant agreement no. 289016. +* +* You may obtain a copy of the License at +* https://github.com/GPII/universal/blob/master/LICENSE.txt +*/ + +"use strict"; + +var fluid = require("infusion"), + path = require("path"), + gpii = fluid.registerNamespace("gpii"); + +require("./INISettingsHandler.js"); + +fluid.registerNamespace("gpii.settingsHandlers.JAWSSettingsHandler.parser"); + +gpii.settingsHandlers.JAWSSettingsHandler.getProfileFileName = function (options) { + var iniPayload = { + "com.freedomscientific.jaws": [{ + options: { + "filename": options.filename + }, + settings: { + "Voice Profiles.ActiveVoiceProfileName": null + } + }] + }; + var response = gpii.settingsHandlers.INISettingsHandler.get(iniPayload); + var solutions = response["com.freedomscientific.jaws"]; + var filename = undefined; + + if (Array.isArray(solutions) && solutions.length) { + var solution = solutions[0]; + var settingValue = fluid.get(solution, ["settings", "Voice Profiles.ActiveVoiceProfileName"]); + + if (settingValue) { + filename = path.join(options.foldername, settingValue + ".VPF"); + } else { + filename = path.join(options.foldername, "Eloquence.VPF"); + } + } + + return filename; +}; + +gpii.settingsHandlers.JAWSSettingsHandler.parser.parse = function (content, options) { + return gpii.iniFile.read(content, options); +}; + +gpii.settingsHandlers.JAWSSettingsHandler.parser.stringify = function (content, options) { + return gpii.iniFile.writeFromFile(options.filename, content, options); +}; + +/* PUBLIC API FUNCTIONS */ +gpii.settingsHandlers.JAWSSettingsHandler.get = + gpii.settingsHandlers.makeFileGet(gpii.settingsHandlers.JAWSSettingsHandler.parser, + gpii.settingsHandlers.JAWSSettingsHandler.getProfileFileName); +gpii.settingsHandlers.JAWSSettingsHandler.set = + gpii.settingsHandlers.makeFileSet(gpii.settingsHandlers.JAWSSettingsHandler.parser, + gpii.settingsHandlers.JAWSSettingsHandler.getProfileFileName); diff --git a/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js b/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js index 090838f88..b396abaa7 100644 --- a/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js +++ b/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js @@ -445,10 +445,14 @@ gpii.settingsHandlers.writeFile = function (content, options) { * parameter is called to allow editing of the solutionEntry based on the * current settings (both passed as parameters to the modifier function) */ -gpii.settingsHandlers.handleFileSolutionEntry = function (solutionEntry, modifier, parser, isWrite) { - var options = solutionEntry.options; +gpii.settingsHandlers.handleFileSolutionEntry = function (solutionEntry, modifier, parser, isWrite, fetcher) { + var options = fluid.copy(solutionEntry.options); if (options && (options.path || options.filename)) { + // fetch the target file to read + if (fetcher) { + options.filename = fetcher(options); + } // read file - returns undefined if it doesn't exist var content = gpii.settingsHandlers.readFile(options); // if the file is non-existing, current settings are {}, else they're the parsed content of the file @@ -472,21 +476,21 @@ gpii.settingsHandlers.handleFileSolutionEntry = function (solutionEntry, modifie * is done by fluid.transform calls, and at the level of each solution * entry. */ -gpii.settingsHandlers.transformFilePayload = function (payload, modifier, parser, isWrite) { +gpii.settingsHandlers.transformFilePayload = function (payload, modifier, parser, isWrite, fetcher) { return gpii.settingsHandlers.transformPayload(payload, function (solutionEntry) { - return gpii.settingsHandlers.handleFileSolutionEntry(solutionEntry, modifier, parser, isWrite); + return gpii.settingsHandlers.handleFileSolutionEntry(solutionEntry, modifier, parser, isWrite, fetcher); }); }; -gpii.settingsHandlers.makeFileGet = function (parser) { +gpii.settingsHandlers.makeFileGet = function (parser, fetcher) { return function (payload) { - return gpii.settingsHandlers.transformFilePayload(payload, gpii.settingsHandlers.getSettings, parser); + return gpii.settingsHandlers.transformFilePayload(payload, gpii.settingsHandlers.getSettings, parser, false, fetcher); }; }; -gpii.settingsHandlers.makeFileSet = function (parser) { +gpii.settingsHandlers.makeFileSet = function (parser, fetcher) { return function (payload) { - return gpii.settingsHandlers.transformFilePayload(payload, gpii.settingsHandlers.setSettings, parser, true); + return gpii.settingsHandlers.transformFilePayload(payload, gpii.settingsHandlers.setSettings, parser, true, fetcher); }; }; From e7131a34800dbd014497611a443ef764aeb6e271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sat, 25 Jan 2020 17:37:44 +0100 Subject: [PATCH 04/27] GPII-4226: Removed faulty common term from JAWS.json preference set --- testData/preferences/jaws.json5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testData/preferences/jaws.json5 b/testData/preferences/jaws.json5 index 28c96c946..2a7f21ebc 100644 --- a/testData/preferences/jaws.json5 +++ b/testData/preferences/jaws.json5 @@ -143,9 +143,9 @@ "Touch.TapEventDurationMax": 99, "Touch.TapInterEventDurationMax": 99, "Touch.TapTranslationMax": 99 - }, - "http://registry.gpii.net/applications/com.freedomscientific.jaws/enabled": true - } + } + }, + // "http://registry.gpii.net/applications/com.freedomscientific.jaws/enabled": true } } } From abc407b791ae87164038c37770ad50ba04641e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sat, 25 Jan 2020 17:41:25 +0100 Subject: [PATCH 05/27] GPII-4226: Added WIP new JawsSettingsHandler tests --- .../test/JawSettingsHandlerTests.js | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 gpii/node_modules/settingsHandlers/test/JawSettingsHandlerTests.js diff --git a/gpii/node_modules/settingsHandlers/test/JawSettingsHandlerTests.js b/gpii/node_modules/settingsHandlers/test/JawSettingsHandlerTests.js new file mode 100644 index 000000000..61c068a34 --- /dev/null +++ b/gpii/node_modules/settingsHandlers/test/JawSettingsHandlerTests.js @@ -0,0 +1,45 @@ +"use strict"; + +var fluid = require("infusion"), + gpii = fluid.registerNamespace("gpii"); + +fluid.registerNamespace("gpii.tests"); + +fluid.require("%gpii-universal"); +gpii.loadTestingSupport(); + +require("settingsHandlers"); + +fluid.logObjectRenderChars = 30000; + +var test = { + payload: { + "com.freedomscientific.jaws": [{ + options: { + "filename": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + }, + settings: { + "ENU-Global.Pitch": 90 + } + }] + }, + expectedResult: { + "com.freedomscientific.jaws": [{ + options: { + "filename": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + }, + settings: { + "ENU-Global.Pitch": { + newValue: 90, + oldValue: 65 + } + } + }] + } +}; + +var output = gpii.settingsHandlers.JAWSSettingsHandler.get(test.payload); +output = gpii.settingsHandlers.JAWSSettingsHandler.set(test.payload); +fluid.log(output); From ca71b36d9ebbb5dc692f31f51a36fb11d59d9881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sat, 25 Jan 2020 17:42:09 +0100 Subject: [PATCH 06/27] GPII-4226: Added new preference sets for testing JAWS's voice profile support --- testData/preferences/james.json5 | 38 ++++++++++++++++++++++ testData/preferences/javier.json5 | 54 +++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 testData/preferences/james.json5 create mode 100644 testData/preferences/javier.json5 diff --git a/testData/preferences/james.json5 b/testData/preferences/james.json5 new file mode 100644 index 000000000..08c2067d7 --- /dev/null +++ b/testData/preferences/james.json5 @@ -0,0 +1,38 @@ +/* + + A fixture to test many JAWS settings at once by setting them to something other than the default. + +*/ +{ + "flat": { + "name": "James", + "contexts": { + "gpii-default": { + "name": "Default preferences", + "preferences": { + "http://registry.gpii.net/applications/com.freedomscientific.jaws": { + "Options.PrimaryLanguage": "ENU", + + "ENU-Message.Rate": 140, + "ENU-Message.Punctuation": 1, + + "ENU-PCCursor.Rate": 140, + "ENU-PCCursor.Punctuation": 1, + + "ENU-JAWSCursor.Rate": 140, + "ENU-JAWSCursor.Punctuation": 1, + + "ENU-Keyboard.Rate": 140, + "ENU-Keyboard.Punctuation": 1, + + "ENU-Global.Rate": 140, + "ENU-Global.Punctuation": 1, + + "ENU-MenuAndDialog.Rate": 140, + "ENU-MenuAndDialog.Punctuation": 1 + } + } + } + } + } +} diff --git a/testData/preferences/javier.json5 b/testData/preferences/javier.json5 new file mode 100644 index 000000000..2b53c96c8 --- /dev/null +++ b/testData/preferences/javier.json5 @@ -0,0 +1,54 @@ +/* + + A fixture to test many JAWS settings at once by setting them to something other than the default. + +*/ +{ + "flat": { + "name": "Javier", + "contexts": { + "gpii-default": { + "name": "Default preferences", + "preferences": { + "http://registry.gpii.net/applications/com.freedomscientific.jaws": { + "Options.PrimaryLanguage": "ESN", + "ESM-Message.Rate": 90, + "ESM-Message.Punctuation": 1, + "ESM-PCCursor.Rate": 90, + "ESM-PCCursor.Punctuation": 1, + + "ESM-JAWSCursor.Rate": 90, + "ESM-JAWSCursor.Punctuation": 1, + + "ESM-Keyboard.Rate": 90, + "ESM-Keyboard.Punctuation": 1, + + "ESM-Global.Rate": 90, + "ESM-Global.Punctuation": 1, + + "ESM-MenuAndDialog.Rate": 90, + "ESM-MenuAndDialog.Punctuation": 1, + + "ESN-Message.Rate": 90, + "ESN-Message.Punctuation": 1, + + "ESN-PCCursor.Rate": 90, + "ESN-PCCursor.Punctuation": 1, + + "ESN-JAWSCursor.Rate": 90, + "ESN-JAWSCursor.Punctuation": 1, + + "ESN-Keyboard.Rate": 90, + "ESN-Keyboard.Punctuation": 1, + + "ESN-Global.Rate": 90, + "ESN-Global.Punctuation": 1, + + "ESN-MenuAndDialog.Rate": 90, + "ESN-MenuAndDialog.Punctuation": 1 + } + } + } + } + } +} From 13b5aa5193071d3faf7757b71d52ac2c959c5923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sun, 26 Jan 2020 21:58:44 +0100 Subject: [PATCH 07/27] GPII-4226: Added more settings to JAWS SR entry, and fixed linter issues --- testData/solutions/win32.json5 | 2592 ++++++++++++++++++++------------ 1 file changed, 1643 insertions(+), 949 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 19bee242a..3cf12f2f0 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -30,14 +30,14 @@ "enum": [ "0|0|0|Tutor", "1|1|1|Tutor", - "2|2|2|Tutor", + "2|2|2|Tutor" ], "enumLabels": [ "Turn off menu and control help", "Announce menu and control help", "Announce custom messages only" ], - "default": "1|1|1|Tutor", + "default": "1|1|1|Tutor" } }, @@ -51,7 +51,7 @@ "0|0|0|Access Key", "1|1|1|Access Key", "2|2|2|Access Key", - "3|3|3|Access Key", + "3|3|3|Access Key" ], "enumLabels": [ "Off", @@ -59,7 +59,7 @@ "Speak menus only", "Speak dialogs only" ], - "default": "1|1|1|Access Key", + "default": "1|1|1|Access Key" } }, @@ -201,11 +201,1037 @@ } }, + // ----------------------- User --------------------------- + + "Options.ProgressBarUpdateInterval": { + "schema": { + "title": "Progress Bar Update Interval", + "description": "How often to announce progress bar updates, in milliseconds. Set to 0 to disable update announcements, and 1 to announce all.", + "type": "integer", + "default": 5000, + "minimum": 0 + } + }, + "Options.TypingEcho": { + "schema": { + "title": "Typing echo", + "description": "How to announce typed words and/or characters.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "Off", + "Characters", + "Words", + "Characters and Words" + ] + } + }, + "Options.ScreenEcho": { + "schema": { + "title": "Screen Echo", + "description": "Specifies how much text is read when information on the screen changes.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "Echo No Text", + "Echo Highlighted Text", + "Echo All Text" + ] + } + }, + + "Options.TypingInterrupt": { + "schema": { + "title": "Typing Interrupt", + "description": "Whether to stop speaking when the user types.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + // TODO: Doesn't seem to work. + "Options.InsertKeyMode": { + "schema": { + "title": "Insert Key Mode", + "description": "The operating mode of the insert key.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "JAWS", + "Sticky" + ] + } + }, + // NOTE: "Options.bVirtViewer" Duplicated from Basic Section + "Options.KeyRepeat": { + "schema": { + "title": "Key Repeat", + "description": "Whether or not to allow repeated keys. Repeated keys are allowed by default.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "Options.LowerOtherAppsVolumeWhileJAWSIsRunning": { + "schema": { + "title": "Lower Audio Volume of Programs while JAWS Speaks", + "description": "Whether to lower the volume of programs other than JAWS when speaking.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + + // ----------------- WEB / HTML / PDF ----------------------- + + // ----------- WEB / HTML / PDF - Reading ------------------- + + "VirtualCursorVerbosity.VirtualCursorVerbosityLevel": { + "schema": { + "title": "Web Verbosity Level", + "description": "Verbosity level used for reading Web pages, HTML files and PDF files.", + "enum": [ + 2, + 1, + 0 + ], + "enumLabels": [ + "High", + "Medium", + "Low" + ], + "default": 0 + } + }, + + // --- WEB / HTML / PDF - Reading - Configure Web Verbosity Levels --- + + // TODO: The following settings have a string format + // of type "0|0|0" where each of the number positions + // states if the future is active for the different leves + // of verbosity. + // + // - High: "1|0|0" + // - Medium: "0|1|0" + // - Low: "0|0|1" + + "VirtualCursorVerbosity.BlockQuotation": { + "schema": { + "title": "Announce Block Quotation", + "description": "Announce Start and End of Block Quotations.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.Feed": { + "schema": { + "title": "Announce Feed", + "description": "Announce Start and End of Feeds.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.Figure": { + "schema": { + "title": "Announce Figure", + "description": "Announce Start and End of Figures.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.FlashObject": { + "schema": { + "title": "Announce Flash Object", + "description": "Announce Start and End of Flash Objects.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.Frame": { + "schema": { + "title": "Announce Frame", + "description": "Announce Start and End of Frame.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.GroupBox": { + "schema": { + "title": "Announce Group Box", + "description": "Announce Start and End of Group Box.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.List": { + "schema": { + "title": "Announce List", + "description": "Announce Start and End of List.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.Log": { + "schema": { + "title": "Announce Log", + "description": "Announce Start and End of Log.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.Note": { + "schema": { + "title": "Announce Note", + "description": "Announce Start and End of Note.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.ApplicationRegion": { + "schema": { + "title": "Announce Application Region", + "description": "Announce Start and End of Application Region.", + "type": "string", + "default": "0|0|0" + } + }, + "VirtualCursorVerbosity.ArticleRegion": { + "schema": { + "title": "Announce Article Region", + "description": "Announce Start and End of Article Region.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.BannerRegion": { + "schema": { + "title": "Announce Banner Region", + "description": "Announce Start and End of Banner Region.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.ComplementaryRegion": { + "schema": { + "title": "Announce Complementary Region", + "description": "Announce Start and End of Complementary Region.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.ContentInfoRegion": { + "schema": { + "title": "Announce Content Info Region", + "description": "Announce Start and End of Content Info.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.DocumentRegion": { + "schema": { + "title": "Announce Article Region", + "description": "Announce Start and End of Document Region.", + "type": "string", + "default": "0|0|0" + } + }, + "VirtualCursorVerbosity.FormRegion": { + "schema": { + "title": "Announce Form Regions", + "description": "Announce Start and End of Form Regions.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.MainRegion": { + "schema": { + "title": "Announce Main Region", + "description": "Announce Start and End of Main Region.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.NavigationRegion": { + "schema": { + "title": "Navigation Region", + "description": "Announce Start and End of Navigation Regions.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.Region": { + "schema": { + "title": "Announce Region", + "description": "Announce Start and End of 'Regions'.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.SearchRegion": { + "schema": { + "title": "Announce Search Regions", + "description": "Announce Start and End of Search Regions.", + "type": "string", + "default": "1|0|0" + } + }, + "VirtualCursorVerbosity.TableOrGrid": { + "schema": { + "title": "Announce Table or Grids", + "description": "Announce Start and End of \"Tables or Grids\".", + "type": "string", + "default": "1|1|1" + } + }, + "VirtualCursorVerbosity.TabPanel": { + "schema": { + "title": "Announce Tab Panels", + "description": "Announce Start and End of Tab Panels.", + "type": "string", + "default": "1|1|0" + } + }, + "VirtualCursorVerbosity.Toolbar": { + "schema": { + "title": "Announce Toolbars", + "description": "Announce Start and End of Toolbars.", + "type": "string", + "default": "1|1|0" + } + }, + + // --- WEB / HTML / PDF - Reading - Custom Placemarker Page Summary --- + + "options.CustomPageSummary": { + "schema": { + "title": "", + "description": "Announce Start and End of Toolbars.", + "enum": [ + 1, + 2, + 0 + ], + "enumLabels": [ + "Speak Placemarkers On Page Load", + "List Placemarkers in Results Viewer On Page Load", + "Do nothing" + ], + "default": 0 + } + }, + + // ---------------------------------------------------------- + + "HTML.SayAllOnDocumentLoad": { + "schema": { + "title": "Read Web Pages Automatically When Loaded", + "description": "Whether to automatically read web pages when they're first loaded.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "HTML.SkipPastRepeatedText": { + "schema": { + "title": "Skip Past Repeated Text", + "description": "Whether to position the Virtual Cursor on the first line which is different than the previous page whenever a new page is displayed.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + + // NOTE-TODO: "Enable Flexible Web" Setting is stored in SQLite file + // located in "enu/FlexibleWeb.db". In order to support this file + // a new settingHandler is necessary. + + "HTML.ExpandAbbreviations": { + "schema": { + "title": "Expand Abbreviations", + "description": "Whether or not to expand abbreviations (using the abbr tag).", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "HTML.ExpandAcronyms": { + "schema": { + "title": "Expand Acronyms", + "description": "Whether or not to expand acronyms (using the acronym tag).", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "HTML.AccessKeys": { + "schema": { + "title": "Speak Access Keys Within Web Page", + "description": "Whether to announce HTML element access keys when reading a web page.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + + // ---------------- WEB / HTML / PDF - Navigation ------------- + + "HTML.SmartNavigation": { + "schema": { + "title": "Smart Navigation", + "description": "Whether to enable \"smart navigation\" when reading web pages.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "Off", + "Controls", + "Controls And Tables" + ], + "default": 0 + } + }, + + // --- WEB / HTML / PDF - Navigation - Document Presentation Mode --- + + "HTML.DocumentPresentationMode": { + "schema": { + "title": "Document Presentation Mode", + "description": "The presentation mode used for document reading.", + "enum": [0, 1], + "enumLabels": ["Simple Layout", "Screen Layout"], + "default": 0 + } + }, + "HTML.DocPresModeMaxLineLength": { + // NOTE: Doesn't appear to have relevant min-max values. + "schema": { + "title": "Maximum Line Lenght", + "description": "Stablish a maximum line length.", + "type": "integer", + "default": 500 + } + }, + + // ----------------------------------------------------------- + + "HTML.TextBlockLength": { + "schema": { + "title": "Text Block Length", + "description": "The number of consecutive characters that must appear in a web page for JAWS to treat this as a block of text.", + "type": "integer", + "default": 25 + } + }, + "HTML.LinesPerPage": { + "schema": { + "title": "Lines per Page", + "description": "The number of consecutive lines to be considered as a page for JAWS.", + "type": "integer", + "default": 25 + } + }, + "HTML.MaxLineLength": { + "schema": { + "title": "Max Line Length", + "description": "The maximum number of characters which can appear on a line of a paragraph.", + "type": "integer", + "default": 150 + } + }, + "HTML.ScreenFollowsVCursor": { + "schema": { + "title": "Screen Follows Virtual Cursor", + "description": "Whether the screen should automatically scroll to display the line on which the Virtual Cursor is positioned.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "HTML.WrapNavigation": { + "schema": { + "title": "Wrap Navigation", + "description": "Whether or not to allow navigation keystrokes such as tab and shift tab to wrap to the top or bottom of the document.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + + // --------- WEB / HTML / PDF - Images Graphics ------------ + + "HTML.IncludeGraphics": { + "schema": { + "title": "Include Graphics", + "description": "Whether/when to include graphics in web pages.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "No Images", + "Labeled Images", + "All Images" + ], + "default": 1 + } + }, + "HTML.GraphicRenderingOption": { + "schema": { + "title": "Graphic Rendering Option", + "description": "Select what to speak for an image.", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ], + "enumLabels": [ + "Title", + "Alt Text", + "Tooltip", + "Longest of Above", + "The first attribute found in the order list" + ], + "default": 1 + } + }, + "HTML.CustomGraphicAttrs": { + "schema": { + "title": "Custom Graphic Attrs", + "description": "Specify the order in which attributes of an image should be searched.", + "type": "string", + "default": "title|alt|src" + } + }, + "HTML.GraphicalLinkLastResort": { + "schema": { + "title": "Graphical Link Last Resort", + "description": "What to announce when a graphical link contains no title or alt text for its enclosing image and the enclosing anchor has no title.", + "enum": [ 0, 1], + "enumLabels": ["Speak Image's URL", "Speak Anchor's URL."], + "default": 0 + } + }, + + // ---------------- WEB / HTML / PDF - Links ---------------- + + "HTML.FilterConsecutiveDuplicateLinks": { + "schema": { + "title": "Filter Consecutive Duplicate Links", + "description": "Whether to skip (not announce) consecutive duplicate links.", + "type": "number", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "HTML.IdentifyLinkType": { + "schema": { + "title": "Identify Link Type", + "description": "Whether to distinguish the various types of links e.g. \"FTP link\", \"mailto link\" versus simply announcing \"link\" for all types of links.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "HTML.IdentifySamePageLinks": { + "schema": { + "title": "Identify Same Page Links", + "description": "Whether to identify links that point to other places on the current page by saying \"same page link\".", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "HTML.LinkText": { + "schema": { + "title": "", + "description": "Select what to speak for an image.", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ], + "enumLabels": [ + "Title", + "Screen Text", + "Tool Tip", + "Longest of Above", + "The first attribute found in the order list" + ], + "default": 1 + } + }, + "HTML.CustomTextLinkAttrs": { + "schema": { + "title": "Custom Text Link Attributes", + "description": "Specify the order in which attributes of text links should be searched.", + "type": "string", + "default": "text|title|alt|href" + } + }, + "HTML.IncludeGraphicLinks": { + "schema": { + "title": "Include Image Links", + "description": "Specify how to speak image links.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "All Image Links", + "Labelled Image Links", + "No Image Links" + ], + "default": 1 + } + }, + "HTML.IncludeImageMapLinks": { + "schema": { + "title": "Identify Image Map Links", + "description": "Specify how to speak \"Image Map Links\".", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "All Image Links", + "Labelled Image Links", + "No Image Links" + ], + "default": 1 + } + }, + + // ----------- WEB / HTML / PDF - Headers and Frames ------------- + + "HTML.HeadingNavigation": { + "schema": { + "title": "Heading Navigation using 1-6", + "description": "Specify how heading navigation should work when using keys 1-6.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "Restrict to Section", + "Speak Ancestor Headings when Jumping to a New Section", + "Play Sound when Jumping to a New Section" + ], + "default": 1 + } + }, + "HTML.HeadingIndication": { + "schema": { + "title": "Indicate Headings", + "description": "Specify which headings should be announced.", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ], + "enumLabels": [ + "No Headings", + "Headings Only", + "Headings with Level", + "Play Sound", + "Speak Heading with Heading Voice" + ], + "default": 2 + } + }, + "HTML.IgnoreInlineFrames": { + "schema": { + "title": "Ignore Inline Frames", + "description": "Whether to ignore inline frames, such as those used for advertising.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + + // ----------- WEB / HTML / PDF - Tables ------------- + + "HTML.IndicateColSpan": { + "schema": { + "title": "Indicate ColSpan for Braille", + "description": "Whether to announce column spans when reading table data in web pages.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + + // ----------- TODO: Unkwnonw ------------- + + "HTML.TableDetection": { + "schema": { + "title": "Table Detection", + "description": "Whether to announce all tables, or only data tables.", + "enum": [0, 1], + "enumLabels": ["Indicate all tables", "Only indicate data tables"], + "default": 1 + } + }, + + // ----------------------------------------- + + "OSM.TableDetection": { + "schema": { + "title": "Table Presentation Information", + "description": "Which tables to read as tables (data tables, or all tables).", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "data tables only", + "all tables" + ], + "default": 0 + } + }, + + // ----- WEB / HTML / PDF - Miscellaneous ---- + + "Options.EnableEdge": { + "schema": { + "title": "Enable Edge", + "description": "Whether JAWS should provide popular JAWS browser features in Edge such as Virtual Cursor, Navigation Quick Keys, List of Objects, and many more.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 + } + }, + "HTML.EmbeddedActiveXSupport": { + "schema": { + "title": "Embedded ActiveX Support", + "description": "Whether or not to support embedded ActiveX controls such as Macromedia Flash Movies. If enabled, only objects defined in JActiveX.ini are affected by this setting.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "HTML.FormFieldPromptOptions": { + "schema": { + "title": "Form Field Prompt Options", + "description": "Which attributes to prefer when describing form fields.", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "enumLabels": [ + "Label Tag", + "Title", + "Alt Text", + "Longest of the above", + "Both Label and Title if different", + "Both Label and Alt if different" + ], + "default": 0 + } + }, + "HTML.PageRefreshFilter": { + // NOTE-TODO: Even if the setting is an integer the values + // that is possible to set through the interface are three: + // - Refresh As Needed: 0 + // - Refresh Every 60 Seconds: 60000 + // - Suppress All Refreshes: -1 + "schema": { + "title": "Page Refresh Filter", + "description": "How often, in milliseconds, to allow all refreshes. Set to 0 to allow all refreshes without any delay.", + "type": "integer", + "default": 0 + } + }, + "Options.VirtualDocumentLinkActivationMethod": { + "schema": { + "title": "Link Activation", + "description": "How to activate a link when the enter key is pressed. Either simulates a mouse click or passes along the enter keypress.", + "enum": [0,1], + "enumLabels": ["Enter simulates mouse click.", "Enter sends Enter key."], + "default": 0 + } + }, + "HTML.ButtonTextOptions": { + "schema": { + "title": "Button Text Options", + "description": "Indicate which elements from a Button speak.", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "enumLabels": [ + "Title", + "Screen Text", + "Alt", + "Value", + "Longest of Above", + "The first attribute found in the order list" + ], + "default": 1 + } + }, + "HTML.CustomButtonAttrs": { + "schema": { + "title": "Custom Button Attributes", + "description": "Specify the order in which attributes of Buttons should be searched.", + "type": "string", + "default": "text|title|alt|href" + } + }, + "HTML.IndicateElementAttributes": { + "schema": { + "title": "Indicate Element Attributes", + "description": "Whether to announce any HTML attributes defined in the \"HTML Attributes Behavior\" map of the current scheme.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "Options.AllowWebAppReservedKeystrokes": { + "schema": { + "title": "Allow Webapp-reserved Keystrokes", + "description": "When both JAWS and a website such as Facebook support a key shortcut, whether to handle the key in JAWS (the default) or pass the key to the web app.", + "enum": [0, 1], + "enumLabels": ["off", "on"], + "default": 1 + } + }, + // --------------------- Forms Mode ------------------------- // ---------- Forms Mode: Select Forms Mode ----------------- "FormsMode.AutoFormsMode": { + // TODO: The value of the "Auto" choice is a guess, should + // be verified + "schema": { + "title": "Forms Mode", + "description": "Selects the form mode for input information in HTML.", + "enum": [ + 1, + 2, + 0 + ], + "enumLabels": [ + "Auto", + "SemiAuto", + "Manual" + ], + "default": 1 + } + }, + "FormsMode.AutoFormsModeThreshold": { + "schema": { + "title": "Navigation Quick Key Delay", + "description": "Selects the delay to be used with the quick navigation key.", + "enum": [ + 500, + 1000, + 1500, + 2000, + 3000, + 4000, + 5000, + 0 + ], + "enumLabels": [ + ".5 Seconds", + "1 Seconds", + "1.5 Seconds", + "2 Seconds", + "3 Seconds", + "4 Seconds", + "5 Seconds", + "Never" + ], + "default": 0 + } + }, + "FormsMode.FormsModeAutoOff": { + "schema": { + "title": "Forms Mode Auto Off", + "description": "Disable Forms Mode when a New page loads.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "FormsMode.IndicateFormsModeWithSounds": { + "schema": { + "title": "Forms Sound Indication", + "description": "Enables forms indication using sounds.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "FormsMode.EnterFormsModeSound": { + "schema": { + "title": "Entering Forms Sound", + "description": "Sets the sound to be played when entering a form.", + "type": "string", + "default": "Boink2.wav" + } + }, + "FormsMode.ExitFormsModeSound=": { + "schema": { + "title": "Exiting Forms Sound", + "description": "Sets the sound to be played when exiting a form.", + "type": "string", + "default": "Boink1.wav" + } }, // ------------------ Text Processing ----------------------- @@ -1747,21 +2773,6 @@ } }, - "Braille.ContractedBrailleInput": { - "schema": { - "title": "Contracted Braille Input", - "description": "Enable contracted braille to be entered on the braille display's keyboard.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, "Braille.FilterControlCharacters": { "schema": { "title": "Filter Control Characters", @@ -2302,10 +3313,14 @@ // ------------------------------------------------------------------ - "FSCasts.EnableNotifications": { + // ---------------------- Caret And Cursor -------------------------- + + "Options.SayCursorShapeChange": { "schema": { - "title": "FSCast Notifications", - "description": "Whether to have JAWS display a dialog when new podcasts from Freedom Scientific are available.", + "title": "Say Cursor Shape Change", + "description": "Whether to announce a change in the shape of the cursor.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -2313,45 +3328,111 @@ "enumLabels": [ "off", "on" - ], + ] + } + }, + "Options.CaretBlinkRate": { + "schema": { + "title": "Caret Blink Rate", + "description": "How fast the caret blinks, in milliseconds.", + "type": "integer", + "default": 53, + "minimum": 1 + } + }, + + // ---------- Caret And Cursor: Vertical Caret Dimensions ---------- + + "OSM.MouseClickFudgeX": { + "schema": { + "title": "Mouse Click Fudge X", + "description": "Number of pixels to the right of the current JAWS cursor at which a mouse click should be simulated", + "type": "integer", "default": 1 } }, - "HTML.Abbreviations": { + "OSM.MouseClickFudgeY": { "schema": { - "title": "Abbreviations", - "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ] + "title": "Mouse Click Fudge Y", + "description": "Number of pixels below the current JAWS cursor at which a mouse click should be simulated", + "type": "integer", + "default": -2 + } + }, + "OSM.VertCaretMinY": { + "schema": { + "title": "Vertical Caret Minimum Y Dimension", + "description": "Minimum number pixels of height for the 'Vertical Caret'", + "type": "integer", + "default": 4 + } + }, + "OSM.VertCaretMinX": { + "schema": { + "title": "Vertical Caret Minimum X Dimension", + "description": "Minimum number pixels of width for the 'Vertical Caret'", + "type": "integer", + "default": 1 + } + }, + "OSM.VertCaretMaxY": { + "schema": { + "title": "Vertical Caret Maximum Y Dimension", + "description": "Maximum number pixels of height for the 'Vertical Caret'", + "type": "integer", + "default": 110 + } + }, + "OSM.VertCaretMaxX": { + "schema": { + "title": "Vertical Caret Maximum X Dimension", + "description": "Maximum number pixels of width for the 'Vertical Caret'", + "type": "integer", + "default": 4 + } + }, + + // ------- Caret And Cursor: Horizontal Caret Dimensions ---------- + + "OSM.HorizCaretMinY": { + "schema": { + "title": "Horizontal Caret Minimum Y Dimension", + "description": "Minimum number pixels of height for the 'Horizontal Caret'", + "type": "integer", + "default": 1 + } + }, + "OSM.HorizCaretMinX": { + "schema": { + "title": "Horizontal Caret Minimum X Dimension", + "description": "Minimum number pixels of width for the 'Horizontal Caret'", + "type": "integer", + "default": 4 } }, - "HTML.AccessKeys": { + "OSM.HorizCaretMaxY": { "schema": { - "title": "Speak Access Keys Within Web Page", - "description": "Whether to announce HTML element access keys when reading a web page.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Horizontal Caret Maximum Y Dimension", + "description": "Maximum number pixels of height for the 'Horizontal Caret'", + "type": "integer", + "default": 4 } }, - "HTML.Acronyms": { + "OSM.HorizCaretMaxX": { "schema": { - "title": "Acronyms", - "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", + "title": "Horizontal Caret Maximum X Dimension", + "description": "Maximum number pixels of width for the 'Horizontal Caret'", + "type": "integer", + "default": 14 + } + }, + + // ------------------- Synthesizer ------------------- + + "Options.SimultaneousSynthAndWave": { + "schema": { + "title": "Simultaneous Synth and Wave", + "description": "Whether to enable smoother playing of WAV files when using the DEC Talk Access 32 software synthesizer. This option is only available in Default.jcf. Changes to this setting take effect the next time you start JAWS. Disabled by default.", "type": "number", "default": 0, "enum": [ @@ -2364,210 +3445,341 @@ ] } }, - "HTML.BlockQuoteIndication": { + "Options.SynthesizerResetFrequency": { "schema": { - "title": "Block Quote Indication", - "description": "Whether to indicate HTML block quotations.", + "title": "Synthesizer Reset Frequency", + "description": "How often to reset communication with the synthesizer, in milliseconds.", + "type": "integer", + "default": 2000, + "minimum": 0 + } + }, + + // ---------------- Punctuation ------------------ + + // TODO: Research how "Customize Voice Aliases" works + + // TODO: "Punctuation Level" not present in this config file. + + // ----------------------------------------------- + + // ---------------- Voice Aliases ---------------- + + // TODO: Research how "Customize Voice Aliases" works + + // ------------------------------------------------ + + // ---------------- Windows Classes --------------- + + // TODO: Research how "Customize Window Classes" works + + // ------------------------------------------------ + + // ------------------ Keyboard -------------------- + + // ------------- Keyboard - General --------------- + + "Options.QuickKeyNavigationMode": { + "schema": { + "title": "Quick Key Navigation Mode", + "description": "Navigation Quick Keys let you move through Web pages with easy to remember commands, such as T for table, F for form field, N for non link text, and V for visited link. These commands are only available when the Virtual Cursor is active. Use these radio buttons to set Navigation Quick Keys off, on, or on only during Say All reading. The default is on.", "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "off", - "on" + "Off", + "On", + "On during \"Say All\"" ], "default": 1 } }, - "HTML.EmbeddedActiveXSupport": { + "Options.JAWSInsertKey": { "schema": { - "title": "Embedded ActiveX Support", - "description": "Whether or not to support embedded ActiveX controls such as Macromedia Flash Movies. If enabled, only objects defined in JActiveX.ini are affected by this setting.", + "title": "JAWS Insert Key", + "description": "Whether/which insert keys can be used as a JAWS Insert.", + "type": "number", + "default": 3, "enum": [ 0, - 1 + 1, + 2, + 3 ], "enumLabels": [ - "off", - "on" - ], - "default": 1 + "None", + "Numpad Insert", + "Extended Insert", + "Use both Numpad and Extended Inserted" + ] } }, - "HTML.ExpandAbbreviations": { + "Options.InitialNumlockState": { "schema": { - "title": "Expand Abbreviations", - "description": "Whether or not to expand abbreviations (using the abbr tag).", + "title": "Initial State of NumLock Key", + "description": "The initial state of the NumLock key.", + "type": "number", "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "off", - "on" + "Turn off at startup", + "Turn on at startup", + "Do not modify" ], "default": 0 } }, - "HTML.ExpandAcronyms": { + "Options.UseExtendedKeys": { "schema": { - "title": "Expand Acronyms", - "description": "Whether or not to expand acronyms (using the acronym tag).", + "title": "Use Extended Keys", + "description": "Whether to distinguish between extended and number pad keys.", + "type": "number", + "default": 0, "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" - ], - "default": 0 + "Treat Extended and Numpad keys the same", + "Differentiate between Extended and Numpad keys" + ] } }, - "HTML.FilterConsecutiveDuplicateLinks": { + "Options.GeneralizeModifiers": { "schema": { - "title": "Filter Consecutive Duplicate Links", - "description": "Whether to skip (not announce) consecutive duplicate links.", + "title": "Generalize Modifiers", + "description": "Differentiate Between Left and Right Paired Keys.", "type": "number", - "default": 1, + "default": 0, "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "Treat Extended and Numpad keys the same", + "Differentiate between Extended and Numpad keys" ] } }, - "HTML.FormFieldPromptOptions": { + "Options.OnScreenKeyboard": { "schema": { - "title": "Form Field Prompt Options", - "description": "Which attributes to prefer when describing form fields.", + "title": "Allow On Screen Keyboards", + "description": "Whether to allow on screen keyboards.", "enum": [ 0, - 1, - 2, - 3, - 4, - 5 + 1 ], "enumLabels": [ - "favor label tag", - "favor title attribute", - "favor alt attribute", - "favor longest", - "use both label and title if different", - "use both label and alt if different" + "off", + "on" ], "default": 0 } }, - "HTML.FormsModeAutoOff": { + + // ----------- Keyboard - Manage Key Labels ------- + + // TODO: Complete descriptions + + "KeyLabels.Add": { "schema": { - "title": "Forms Mode Auto Off", - "description": "Whether or not Forms Mode should be automatically turned off when the current page is updated.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "Leave Forms Mode on", - "Turn Forms Mode off automatically" - ], - "default": 1 + "title": "Manage Add Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string", + "default": "1|+" } }, - "HTML.GraphicalLinkLastResort": { + "KeyLabels.Apps": { "schema": { - "title": "Graphical Link Last Resort", - "description": "What to announce when a graphical link contains no title or alt text for its enclosing image and the enclosing anchor has no title.", - "enum": [ 0, 1], - "enumLabels": ["Read the image's src", "Read the image's enclosing anchor's href."], - "default": 0 + "title": "Manage Apps Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.IdentifyLinkType": { + "KeyLabels.Attn": { "schema": { - "title": "Identify Link Type", - "description": "Whether to distinguish the various types of links e.g. \"FTP link\", \"mailto link\" versus simply announcing \"link\" for all types of links.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Manage Attn Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.IdentifySamePageLinks": { + "KeyLabels.Back": { "schema": { - "title": "Identify Same Page Links", - "description": "Whether to identify links that point to other places on the current page by saying \"same page link\".", + "title": "User requested information messages", + "description": "Enable messaging user requested information with different levels of verbosity.", + "type": "string", + "default": "1|+" + } + }, + "KeyLabels.Cancel": { + }, + "KeyLabels.Capital": { + }, + "KeyLabels.Clear": { + }, + "KeyLabels.Control": { + }, + "KeyLabels.CrSel": { + }, + "KeyLabels.Decimal": { + }, + "KeyLabels.Delete": { + }, + "KeyLabels.Divide": { + }, + "KeyLabels.Down": { + }, + "KeyLabels.End": { + }, + "KeyLabels.ErEOF": {}, + "KeyLabels.Escape": {}, + "KeyLabels.Execute": {}, + "KeyLabels.ExSel": {}, + "KeyLabels.F1": {}, + "KeyLabels.F10": {}, + "KeyLabels.F11": {}, + "KeyLabels.F12": {}, + "KeyLabels.F13": {}, + "KeyLabels.F14": {}, + "KeyLabels.F15": {}, + "KeyLabels.F16": {}, + "KeyLabels.F17": {}, + "KeyLabels.F18": {}, + "KeyLabels.F19": {}, + "KeyLabels.F2": {}, + "KeyLabels.F20": {}, + "KeyLabels.F21": {}, + "KeyLabels.F22": {}, + "KeyLabels.F23": {}, + "KeyLabels.F3": {}, + "KeyLabels.F4": {}, + "KeyLabels.F5": {}, + "KeyLabels.F6": {}, + "KeyLabels.F7": {}, + "KeyLabels.F8": {}, + "KeyLabels.F9": {}, + "KeyLabels.Help": {}, + "KeyLabels.Home": {}, + "KeyLabels.Insert": {}, + "KeyLabels.Left": {}, + "KeyLabels.Letters": {}, + "KeyLabels.LWin": {}, + "KeyLabels.Menu": {}, + "KeyLabels.ModifiedPrintable": {}, + "KeyLabels.Multiply": {}, + "KeyLabels.Next": {}, + "KeyLabels.Numbers": {}, + "KeyLabels.NumLock": {}, + "KeyLabels.NumPad0": {}, + "KeyLabels.NumPad1": {}, + "KeyLabels.NumPad2": {}, + "KeyLabels.NumPad3": {}, + "KeyLabels.NumPad4": {}, + "KeyLabels.NumPad5": {}, + "KeyLabels.NumPad6": {}, + "KeyLabels.NumPad7": {}, + "KeyLabels.NumPad8": {}, + "KeyLabels.OEM_clear": {}, + "KeyLabels.PA1": {}, + "KeyLabels.Pause": {}, + "KeyLabels.Play": {}, + "KeyLabels.Print": {}, + "KeyLabels.Prior": {}, + "KeyLabels.Return": {}, + "KeyLabels.Right": {}, + "KeyLabels.RWin": {}, + "KeyLabels.Scroll": {}, + "KeyLabels.Select": {}, + "KeyLabels.Separator": {}, + "KeyLabels.Shift": {}, + "KeyLabels.SnapShot ": {}, + "KeyLabels.Space": {}, + "KeyLabels.Subtract": {}, + "KeyLabels.Symbols": {}, + "KeyLabels.Tab": {}, + "KeyLabels.Up": {}, + "KeyLabels.Zoom": {}, + + // ----------- Keyboard - Touch Keyboard ------- + + "Options.TouchTypingMode": { + "schema": { + "title": "Touch Typing Mode", + "description": "Which keyboard mode to use for the touch keyboard.", "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "Standard Typing", + "Touch typing" ], "default": 1 } }, - "HTML.IgnoreInlineFrames": { + "Options.TouchTypingEcho": { "schema": { - "title": "Ignore Inline Frames", - "description": "Whether to ignore inline frames, such as those used for advertising.", + "title": "Touch Typing Echo", + "description": "Whether/how to echo text entered using the touch keyboard.", "enum": [ 0, - 1 + 1, + 2, + 3 ], "enumLabels": [ - "off", - "on" + "None", + "Characters", + "Words", + "Both characters and words" ], - "default": 0 + "default": 3 } }, - "HTML.IncludeGraphics": { + "Options.TouchKeyboardNotification": { "schema": { - "title": "Include Graphics", - "description": "Whether/when to include graphics in web pages.", + "title": "Touch Keyboard Notification", + "description": "Whether/how to notify when the touch keyboard appears/disappears.", "enum": [ 0, 1, 2 ], "enumLabels": [ - "never include graphics", - "include graphics that have labels, i.e. alt=attributes", - "include all graphics" + "By Message", + "By Sound", + "By both Message and Sound" ], - "default": 1 + "default": 2 } }, - "HTML.IndicateColSpan": { + "Options.TouchKeyboardChildPanelNotification": { "schema": { - "title": "Indicate ColSpan for Braille", - "description": "Whether to announce column spans when reading table data in web pages.", + "title": "Touch Alternative Character Panel Popup Notification", + "description": "How to announce the appearance of a panel of alternate keys in the touch keyboard.", "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "By both Message and Sound", + "By Sound only" ], - "default": 1 + "default": 0 } }, - "HTML.IndicateElementAttributes": { + + // ----------- Keyboard - Touch Keyboard ------- + + "FSCasts.EnableNotifications": { "schema": { - "title": "Indicate Element Attributes", - "description": "Whether to announce any HTML attributes defined in the \"HTML Attributes Behavior\" map of the current scheme.", + "title": "FSCast Notifications", + "description": "Whether to have JAWS display a dialog when new podcasts from Freedom Scientific are available.", "enum": [ 0, 1 @@ -2579,10 +3791,12 @@ "default": 1 } }, - "HTML.ListIndication": { + "HTML.Abbreviations": { "schema": { - "title": "List Indication", - "description": "Whether to announce lists with the item count and nesting level.", + "title": "Abbreviations", + "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -2590,30 +3804,15 @@ "enumLabels": [ "off", "on" - ], - "default": 1 - } - }, - "HTML.MaxLineLength": { - "schema": { - "title": "Max Line Length", - "description": "The maximum number of characters which can appear on a line of a paragraph.", - "type": "integer", - "default": 150 - } - }, - "HTML.PageRefreshFilter": { - "schema": { - "title": "Page Refresh Filter", - "description": "How often, in milliseconds, to allow all refreshes. Set to 0 to allow all refreshes without any delay.", - "type": "integer", - "default": 0 + ] } }, - "HTML.SayAllOnDocumentLoad": { + "HTML.Acronyms": { "schema": { - "title": "Read Web Pages Automatically When Loaded", - "description": "Whether to automatically read web pages when they're first loaded.", + "title": "Acronyms", + "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -2621,14 +3820,13 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "HTML.ScreenFollowsVCursor": { + "HTML.BlockQuoteIndication": { "schema": { - "title": "Screen Follows Virtual Cursor", - "description": "Whether the screen should automatically scroll to display the line on which the Virtual Cursor is positioned.", + "title": "Block Quote Indication", + "description": "Whether to indicate HTML block quotations.", "enum": [ 0, 1 @@ -2640,25 +3838,25 @@ "default": 1 } }, - "HTML.SkipPastRepeatedText": { + "HTML.FormsModeAutoOff": { "schema": { - "title": "Skip Past Repeated Text", - "description": "Whether to position the Virtual Cursor on the first line which is different than the previous page whenever a new page is displayed.", + "title": "Forms Mode Auto Off", + "description": "Whether or not Forms Mode should be automatically turned off when the current page is updated.", "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "Leave Forms Mode on", + "Turn Forms Mode off automatically" ], "default": 1 } }, - "HTML.SmartNavigation": { + "HTML.ListIndication": { "schema": { - "title": "Smart Navigation", - "description": "Whether to enable \"smart navigation\" when reading web pages.", + "title": "List Indication", + "description": "Whether to announce lists with the item count and nesting level.", "enum": [ 0, 1 @@ -2667,15 +3865,6 @@ "off", "on" ], - "default": 0 - } - }, - "HTML.TableDetection": { - "schema": { - "title": "Table Detection", - "description": "Whether to announce all tables, or only data tables.", - "enum": [0, 1], - "enumLabels": ["Indicate all tables", "Only indicate data tables"], "default": 1 } }, @@ -2727,14 +3916,6 @@ "default": 2 } }, - "HTML.TextBlockLength": { - "schema": { - "title": "Text Block Length", - "description": "The number of consecutive characters that must appear in a web page for JAWS to treat this as a block of text.", - "type": "integer", - "default": 25 - } - }, "HTML.UseLegacyIESupport": { "schema": { "title": "Use Legacy IE Support", @@ -2750,21 +3931,6 @@ "default": 1 } }, - "HTML.WrapNavigation": { - "schema": { - "title": "Wrap Navigation", - "description": "Whether or not to allow navigation keystrokes such as tab and shift tab to wrap to the top or bottom of the document.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, "Options.AllCapsIndicator": { "schema": { "title": "AllCapsIndicator", @@ -2773,15 +3939,6 @@ "default": "all cap" } }, - "Options.AllowWebAppReservedKeystrokes": { - "schema": { - "title": "Allow Webapp-reserved Keystrokes", - "description": "When both JAWS and a website such as Facebook support a key shortcut, whether to handle the key in JAWS (the default) or pass the key to the web app.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 1 - } - }, "Options.AnnounceMultilineEdit": { "schema": { "title": "Announce Multiline Edit Controls", @@ -2808,15 +3965,6 @@ "default": "cap" } }, - "Options.CaretBlinkRate": { - "schema": { - "title": "Caret Blink Rate", - "description": "How fast the caret blinks, in milliseconds.", - "type": "integer", - "default": 53, - "minimum": 1 - } - }, "Options.CaretDetect": { "schema": { "title": "Caret Detect", @@ -2859,24 +4007,6 @@ ] } }, - "Options.CustomPageSummary": { - "schema": { - "title": "Custom Page Summary", - "description": "What to do when a virtual document loads for which a custom page summary has been defined.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "do nothing (\"Say All\" will be started as normal)", - "The summary will be spoken and focus left on the page at the place defined by the page", - "the summary will be presented in the virtual viewer for the user to immediately read" - ] - } - }, // There's not even anything in the JAWS documentation for this. Disabled for now. // "Options.DosScreenReader": { // "schema": { @@ -2888,15 +4018,6 @@ // "enumLabels": [] // } // }, - "Options.EnableEdge": { - "schema": { - "title": "Enable Edge", - "description": "Whether JAWS should provide popular JAWS browser features in Edge such as Virtual Cursor, Navigation Quick Keys, List of Objects, and many more.", - "enum": [0, 1], - "enumLabels": ["off", "on"], - "default": 1 - } - }, "Options.IndicateAttributesInDialogsAndMenus": { "schema": { "title": "Indicate Attributes on Dialogs and Menus", @@ -2914,62 +4035,6 @@ ] } }, - "Options.InitialNumlockState": { - "schema": { - "title": "Initial State of NumLock Key", - "description": "The initial state of the NumLock key.", - "type": "number", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "off at startup", - "on at startup", - "leave unmodified" - ], - "default": 0 - } - }, - // TODO: Doesn't seem to work. - "Options.InsertKeyMode": { - "schema": { - "title": "Insert Key Mode", - "description": "The operating mode of the insert key.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "JAWS", - "Sticky" - ] - } - }, - // TODO: VERIFY WITH EXTREME PREJUDICE - "Options.JAWSInsertKey": { - "schema": { - "title": "JAWS Insert Key", - "description": "Whether/which insert keys can be used as a JAWS Insert.", - "type": "number", - "default": 3, - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "none", - "Numpad Insert", - "Extended Insert", - "both Numpad and Extended" - ] - } - }, "Options.JAWSPunctuationEnabled": { "schema": { "title": "JAWS Punctuation Enabled", @@ -2990,22 +4055,6 @@ ] } }, - "Options.KeyRepeat": { - "schema": { - "title": "Key Repeat", - "description": "Whether or not to allow repeated keys. Repeated keys are allowed by default.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ] - } - }, "Options.LeftShiftSkipBack": { "schema": { "title": "Left Shift Skip Back", @@ -3041,21 +4090,6 @@ // ] // } // }, - "Options.LowerOtherAppsVolumeWhileJAWSIsRunning": { - "schema": { - "title": "Lower Audio Volume of Programs while JAWS Speaks", - "description": "Whether to lower the volume of programs other than JAWS when speaking.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, "Options.MigrationWizardDisplayed": { "schema": { "title": "Migration Wizard Displayed", @@ -3103,141 +4137,50 @@ }, "Options.MouseMovementStopsSpeech": { "schema": { - "title": "Mouse Echo Interrupt", - "description": "Whether to stop speaking when the mouse is moved.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "Options.MouseSpeechDelay": { - "schema": { - "title": "Mouse Echo Delay", - "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", - "type": "integer", - "default": 0 - } - }, - "Options.MouseSpeechEchoUnit": { - "schema": { - "title": "Mouse Echo Unit", - "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "character", - "word", - "line", - "paragraph" - ], - "default": 2 - } - }, - "Options.MouseSpeechEnabled": { - "schema": { - "title": "Enable Mouse Echo", - "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.OnScreenKeyboard": { - "schema": { - "title": "Allow On Screen Keyboards", - "description": "Whether to allow on screen keyboards.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.ProcessToolTipEvent": { - "schema": { - "title": "Process Tooltip Event", - "description": "Whether or not to process tooltip events.", - "type": "number", - "default": 1, + "title": "Mouse Echo Interrupt", + "description": "Whether to stop speaking when the mouse is moved.", "enum": [ 0, 1 ], "enumLabels": [ - "on", - "off" - ] + "off", + "on" + ], + "default": 1 } }, - "Options.ProgressBarUpdateInterval": { + "Options.MouseSpeechDelay": { "schema": { - "title": "Progress Bar Update Interval", - "description": "How often to announce progress bar updates, in milliseconds. Set to 0 to disable update announcements.", + "title": "Mouse Echo Delay", + "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", "type": "integer", - "default": 5000, - "minimum": 0 + "default": 0 } }, - "Options.QuickKeyNavigationMode": { + "Options.MouseSpeechEchoUnit": { "schema": { - "title": "Quick Key Navigation Mode", - "description": "Navigation Quick Keys let you move through Web pages with easy to remember commands, such as T for table, F for form field, N for non link text, and V for visited link. These commands are only available when the Virtual Cursor is active. Use these radio buttons to set Navigation Quick Keys off, on, or on only during Say All reading. The default is on.", - "type": "number", - "default": 1, + "title": "Mouse Echo Unit", + "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", "enum": [ 0, 1, - 2 + 2, + 3 ], "enumLabels": [ - "off", - "on", - "only on during \"Say All\"" - ] - } - }, - "Options.ReadingInterrupt": { - "schema": { - "title": "Reading Interrupt", - "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1 + "character", + "word", + "line", + "paragraph" ], - "enumLabels": [ - "off", - "on" - ] + "default": 2 } }, - "Options.SayCursorShapeChange": { + "Options.MouseSpeechEnabled": { "schema": { - "title": "Say Cursor Shape Change", - "description": "Whether to announce a change in the shape of the cursor.", - "type": "number", - "default": 0, + "title": "Enable Mouse Echo", + "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", "enum": [ 0, 1 @@ -3245,33 +4188,32 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 0 } }, - "Options.ScreenEcho": { + "Options.ProcessToolTipEvent": { "schema": { - "title": "Screen Echo", - "description": "Use the radio buttons in this group to determine how much text is read when information on the screen changes. This includes highlighted text, all text as it appears, or no speech echo as text appears or changes on screen. The default setting is Echo Highlighted Text. Changing the Screen Echo setting may affect the reading of menus and other items. For this reason, it is recommended that you only make Screen Echo changes in application-specific settings files.", + "title": "Process Tooltip Event", + "description": "Whether or not to process tooltip events.", "type": "number", "default": 1, "enum": [ 0, - 1, - 2 + 1 ], "enumLabels": [ - "off", - "highlight", - "all" + "on", + "off" ] } }, - "Options.SimultaneousSynthAndWave": { + "Options.ReadingInterrupt": { "schema": { - "title": "Simultaneous Synth and Wave", - "description": "Whether to enable smoother playing of WAV files when using the DEC Talk Access 32 software synthesizer. This option is only available in Default.jcf. Changes to this setting take effect the next time you start JAWS. Disabled by default.", + "title": "Reading Interrupt", + "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", "type": "number", - "default": 0, + "default": 1, "enum": [ 0, 1 @@ -3356,15 +4298,6 @@ "default": "Synth1" } }, - "Options.SynthesizerResetFrequency": { - "schema": { - "title": "Synthesizer Reset Frequency", - "description": "How often to reset communication with the synthesizer, in milliseconds.", - "type": "integer", - "default": 2000, - "minimum": 0 - } - }, "Options.TetherJawsToPC": { "schema": { "title": "Tether Jaws to PC", @@ -3400,6 +4333,7 @@ "default": 0 } }, + // TODO: Discuss whether / how to handle "bit fields" like these. // "Options.TextAnalyserSymbolFlags": { // "schema": { @@ -3413,72 +4347,7 @@ // "title": "Inconsistencies to Check", // "description": "Which types of inconsistencies to check. Defaults to \"all\"." // }, - "Options.TouchKeyboardChildPanelNotification": { - "schema": { - "title": "Touch Alternative Character Panel Popup Notification", - "description": "How to announce the appearance of a panel of alternate keys in the touch keyboard.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "by both message and sound", - "by sound only" - ], - "default": 0 - } - }, - "Options.TouchKeyboardNotification": { - "schema": { - "title": "Touch Keyboard Notification", - "description": "Whether/how to notify when the touch keyboard appears/disappears.", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "by message", - "by sound", - "by both message and sound" - ], - "default": 2 - } - }, - "Options.TouchTypingEcho": { - "schema": { - "title": "Touch Typing Echo", - "description": "Whether/how to echo text entered using the touch keyboard.", - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "none", - "characters", - "words", - "both characters and words" - ], - "default": 3 - } - }, - "Options.TouchTypingMode": { - "schema": { - "title": "Touch Typing Mode", - "description": "Which keyboard mode to use for the touch keyboard.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "standard", - "touch typing" - ], - "default": 1 - } - }, + // Can't find information in the help file or default settings. Disabled for now. // "Options.TreeViewCheckBoxes": { // "schema": { @@ -3496,58 +4365,7 @@ // ] // } // }, - "Options.TypingEcho": { - "schema": { - "title": "Typing echo", - "description": "How to announce typed words and/or characters.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "don't announce characters or words", - "announce characters", - "announce words", - "announce characters and words" - ] - } - }, - "Options.TypingInterrupt": { - "schema": { - "title": "Typing Interrupt", - "description": "Whether to stop speaking when the user types.", - "type": "number", - "default": 1, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ] - } - }, - "Options.UseExtendedKeys": { - "schema": { - "title": "Use Extended Keys", - "description": "Whether to distinguish between extended and number pad keys.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "Treat Extended and Numpad keys the same", - "Differentiate between Extended and Numpad keys" - ] - } - }, + "Options.UseVirtualInfoInFormsMode": { "schema": { "title": "Use Virtual Info in Forms Mode", @@ -3582,15 +4400,6 @@ // } // }, - "Options.VirtualDocumentLinkActivationMethod": { - "schema": { - "title": "Virtual Document Link Activation Method", - "description": "How to activate a link when the enter key is pressed. Either simulates a mouse click or passes along the enter keypress.", - "enum": [0,1], - "enumLabels": ["Enter simulates mouse click.", "Enter sends enter key."], - "default": 0 - } - }, "Options.VIRTUALMSAAREFRESH": { "schema": { "title": "Virtual MSAA Refresh", @@ -3690,68 +4499,8 @@ }, "Options.VTUseVirtualRibbon": { "schema": { - "title": "Use Virtual Ribbon Menu", - "description": "Whether to turn on the virtual ribbon menu.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.ViewMode": { - "schema": { - "title": "System Tray view mode", - "description": "Run JAWS from the System Tray.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.confirmWhenExitingJAWS": { - "schema": { - "title": "Confirm when exiting", - "description": "Prompt to confirm when exiting JAWS.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "Options.AutomaticNotificationOfUpdates": { - "schema": { - "title": "Updates Notifications", - "description": "Automatic notification of updates.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "Options.bVirtViewer": { - "schema": { - "title": "Virtual Viewer", - "description": "Show Virtual Viewer on screen.", + "title": "Use Virtual Ribbon Menu", + "description": "Whether to turn on the virtual ribbon menu.", "enum": [ 0, 1 @@ -3760,7 +4509,7 @@ "off", "on" ], - "default": 1 + "default": 0 } }, @@ -3811,22 +4560,6 @@ "default": 0 } }, - "OSM.MouseClickFudgeX": { - "schema": { - "title": "Mouse Click Fudge X", - "description": "number of pixels to the right of the current JAWS cursor at which a mouse click should be simulated", - "type": "integer", - "default": 1 - } - }, - "OSM.MouseClickFudgeY": { - "schema": { - "title": "Mouse Click Fudge Y", - "description": "number of pixels below the current JAWS cursor at which a mouse click should be simulated", - "type": "integer", - "default": -2 - } - }, "OSM.PixelsPerBlankLine": { "schema": { "title": "Pixels Per Blank Line", @@ -3866,21 +4599,6 @@ "default": 1 } }, - "OSM.TableDetection": { - "schema": { - "title": "Table Presentation Information", - "description": "Which tables to read as tables (data tables, or all tables).", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "data tables only", - "all tables" - ], - "default": 0 - } - }, "OSM.TextOutDelay": { "schema": { "title": "Text Out Delay", @@ -3981,7 +4699,7 @@ "type": "string", "default": "Eloquence" } - }, + } }, "capabilitiesTransformations": { "Options\\.SayAllIndicateCaps": { @@ -4685,7 +5403,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -4806,7 +5524,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -4912,11 +5630,7 @@ "Glen", "Sandy", "Grandma", - "Grandpa", - // If synth is mmobile - // - Not available - // If synth is SAPI 5X 64 - // - Not available + "Grandpa" ], "default": "Reed" } @@ -5768,7 +6482,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -5878,7 +6592,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -5973,11 +6687,7 @@ "Glen", "Sandy", "Grandma", - "Grandpa", - // If synth is mmobile - // - Not available - // If synth is SAPI 5X 64 - // - Not available + "Grandpa" ], "default": "Reed" } @@ -6796,7 +7506,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -6906,7 +7616,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -7001,11 +7711,7 @@ "Glen", "Sandy", "Grandma", - "Grandpa", - // If synth is mmobile - // - Not available - // If synth is SAPI 5X 64 - // - Not available + "Grandpa" ], "default": "Reed" } @@ -7419,45 +8125,45 @@ // -------- German - MENU AND DIALOG ---------- - "DEU-Keyboard.Parent": { + "DEU-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "DEU-Keyboard.Pitch": { + "DEU-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "DEU-Keyboard.Punctuation": { + "DEU-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "DEU-Keyboard.Rate": { + "DEU-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "DEU-Keyboard.SynthLangString": { + "DEU-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -7473,7 +8179,7 @@ "default": "0x409" } }, - "DEU-Keyboard.UppercasePitchDelta": { + "DEU-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -7483,20 +8189,20 @@ "default": 50 } }, - "DEU-Keyboard.Volume": { + "DEU-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "DEU-Keyboard.VoiceName": { + "DEU-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -7520,45 +8226,45 @@ // -------- ENGLISH (UNITED STATES) - MENU AND DIALOG ---------- - "ENU-Keyboard.Parent": { + "ENU-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "ENU-Keyboard.Pitch": { + "ENU-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "ENU-Keyboard.Punctuation": { + "ENU-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "ENU-Keyboard.Rate": { + "ENU-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "ENU-Keyboard.SynthLangString": { + "ENU-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -7574,7 +8280,7 @@ "default": "0x409" } }, - "ENU-Keyboard.UppercasePitchDelta": { + "ENU-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -7584,20 +8290,20 @@ "default": 50 } }, - "ENU-Keyboard.Volume": { + "ENU-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "ENU-Keyboard.VoiceName": { + "ENU-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -7622,45 +8328,45 @@ // -------- ENGLISH (United Kingdom) - MENU AND DIALOG ---------- - "ENG-Keyboard.Parent": { + "ENG-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "ENG-Keyboard.Pitch": { + "ENG-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "ENG-Keyboard.Punctuation": { + "ENG-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "ENG-Keyboard.Rate": { + "ENG-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "ENG-Keyboard.SynthLangString": { + "ENG-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -7676,7 +8382,7 @@ "default": "0x409" } }, - "ENG-Keyboard.UppercasePitchDelta": { + "ENG-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -7686,20 +8392,20 @@ "default": 50 } }, - "ENG-Keyboard.Volume": { + "ENG-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "ENG-Keyboard.VoiceName": { + "ENG-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -7724,45 +8430,45 @@ // -------- SPANISH (Mexico) - MENU AND DIALOG ---------- - "ESM-Keyboard.Parent": { + "ESM-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "ESM-Keyboard.Pitch": { + "ESM-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "ESM-Keyboard.Punctuation": { + "ESM-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "ESM-Keyboard.Rate": { + "ESM-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "ESM-Keyboard.SynthLangString": { + "ESM-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -7778,7 +8484,7 @@ "default": "0x409" } }, - "ESM-Keyboard.UppercasePitchDelta": { + "ESM-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -7788,20 +8494,20 @@ "default": 50 } }, - "ESM-Keyboard.Volume": { + "ESM-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "ESM-Keyboard.VoiceName": { + "ESM-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -7826,7 +8532,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -7834,45 +8540,45 @@ // -------- SPANISH (Spain) - MENU AND DIALOG ---------- - "ESN-Keyboard.Parent": { + "ESN-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "ESN-Keyboard.Pitch": { + "ESN-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "ESN-Keyboard.Punctuation": { + "ESN-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "ESN-Keyboard.Rate": { + "ESN-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "ESN-Keyboard.SynthLangString": { + "ESN-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -7888,7 +8594,7 @@ "default": "0x409" } }, - "ESN-Keyboard.UppercasePitchDelta": { + "ESN-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -7898,20 +8604,20 @@ "default": 50 } }, - "ESN-Keyboard.Volume": { + "ESN-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "ESN-Keyboard.VoiceName": { + "ESN-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -7936,7 +8642,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -7944,45 +8650,45 @@ // -------- Finnish - MENU AND DIALOG ---------- - "FIN-Keyboard.Parent": { + "FIN-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "FIN-Keyboard.Pitch": { + "FIN-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "FIN-Keyboard.Punctuation": { + "FIN-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "FIN-Keyboard.Rate": { + "FIN-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "FIN-Keyboard.SynthLangString": { + "FIN-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -7998,7 +8704,7 @@ "default": "0x409" } }, - "FIN-Keyboard.UppercasePitchDelta": { + "FIN-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -8008,20 +8714,20 @@ "default": 50 } }, - "FIN-Keyboard.Volume": { + "FIN-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "FIN-Keyboard.VoiceName": { + "FIN-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -8031,11 +8737,7 @@ "Glen", "Sandy", "Grandma", - "Grandpa", - // If synth is mmobile - // - Not available - // If synth is SAPI 5X 64 - // - Not available + "Grandpa" ], "default": "Reed" } @@ -8043,45 +8745,45 @@ // -------- French (France) - MENU AND DIALOG ---------- - "FRA-Keyboard.Parent": { + "FRA-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "FRA-Keyboard.Pitch": { + "FRA-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "FRA-Keyboard.Punctuation": { + "FRA-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "FRA-Keyboard.Rate": { + "FRA-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "FRA-Keyboard.SynthLangString": { + "FRA-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -8097,7 +8799,7 @@ "default": "0x409" } }, - "FRA-Keyboard.UppercasePitchDelta": { + "FRA-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -8107,20 +8809,20 @@ "default": 50 } }, - "FRA-Keyboard.Volume": { + "FRA-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "FRA-Keyboard.VoiceName": { + "FRA-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -8144,45 +8846,45 @@ // -------- French (Canada) - MENU AND DIALOG ---------- - "FRC-Keyboard.Parent": { + "FRC-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "FRC-Keyboard.Pitch": { + "FRC-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "FRC-Keyboard.Punctuation": { + "FRC-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "FRC-Keyboard.Rate": { + "FRC-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "FRC-Keyboard.SynthLangString": { + "FRC-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -8198,7 +8900,7 @@ "default": "0x409" } }, - "FRC-Keyboard.UppercasePitchDelta": { + "FRC-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -8208,20 +8910,20 @@ "default": 50 } }, - "FRC-Keyboard.Volume": { + "FRC-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "FRC-Keyboard.VoiceName": { + "FRC-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -8245,45 +8947,45 @@ // -------- Brazil - MENU AND DIALOG ---------- - "PTB-Keyboard.Parent": { + "PTB-MenuAndDialog.Parent": { "schema": { // NOTE: This setting should remain private and not be exposed - "title": "Keyboard parent config", + "title": "MenuAndDialog parent config", "description": "The parent config from which to inherit.", "type": "string", "default": "Global" } }, - "PTB-Keyboard.Pitch": { + "PTB-MenuAndDialog.Pitch": { "schema": { - "title": "Keyboard pitch", - "description": "The pitch to use for announcements related to the keyboard.", + "title": "MenuAndDialog pitch", + "description": "The pitch to use for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 1, "maximum": 100, "default": 65 } }, - "PTB-Keyboard.Punctuation": { + "PTB-MenuAndDialog.Punctuation": { "schema": { - "title": "Keyboard punctuation", - "description": "How much punctuation to announce for the keyboard.", + "title": "MenuAndDialog punctuation", + "description": "How much punctuation to announce for the MenuAndDialog.", "enum": [0, 1, 2, 3], "enumLabels": ["None", "Some", "Most", "All"], "default": 1 } }, - "PTB-Keyboard.Rate": { + "PTB-MenuAndDialog.Rate": { "schema": { - "title": "Keyboard rate", - "description": "Speech rate for announcements related to the keyboard (scale varies by synth).", + "title": "MenuAndDialog rate", + "description": "Speech rate for announcements related to the MenuAndDialog (scale varies by synth).", "type": "integer" } }, - "PTB-Keyboard.SynthLangString": { + "PTB-MenuAndDialog.SynthLangString": { "schema": { - "title": "Keyboard language", - "description": "The language to use for announcements related to the keyboard.", + "title": "MenuAndDialog language", + "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ "0x409", // English - US "0x407", // German @@ -8299,7 +9001,7 @@ "default": "0x409" } }, - "PTB-Keyboard.UppercasePitchDelta": { + "PTB-MenuAndDialog.UppercasePitchDelta": { "schema": { "title": "Uppercase pitch delta", "description": "Pitch variation as you type or arrow accross capital letters.", @@ -8309,20 +9011,20 @@ "default": 50 } }, - "PTB-Keyboard.Volume": { + "PTB-MenuAndDialog.Volume": { "schema": { - "title": "Keyboard volume", - "description": "The volume for announcements related to the keyboard.", + "title": "MenuAndDialog volume", + "description": "The volume for announcements related to the MenuAndDialog.", "type": "integer", "minimum": 10, "maximum": 100, "default": 100 } }, - "PTB-Keyboard.VoiceName": { + "PTB-MenuAndDialog.VoiceName": { "schema": { - "title": "Keyboard voice name", - "description": "The voice name used for keyboard announcements.", + "title": "MenuAndDialog voice name", + "description": "The voice name used for MenuAndDialog announcements.", "enum": [ // If synth is eloq "Reed", @@ -8756,7 +9458,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -8866,7 +9568,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -8961,11 +9663,7 @@ "Glen", "Sandy", "Grandma", - "Grandpa", - // If synth is mmobile - // - Not available - // If synth is SAPI 5X 64 - // - Not available + "Grandpa" ], "default": "Reed" } @@ -9686,7 +10384,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -9796,7 +10494,7 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop", + "Microsoft Helena Desktop" ], "default": "Reed" } @@ -9891,11 +10589,7 @@ "Glen", "Sandy", "Grandma", - "Grandpa", - // If synth is mmobile - // - Not available - // If synth is SAPI 5X 64 - // - Not available + "Grandpa" ], "default": "Reed" } @@ -13421,7 +14115,7 @@ "type": "gpii.settingsHandlers.INISettingsHandler", "liveness": "manualRestart", "options": { - "filename": "${{environment}.PROGRAMDATA}\\Freedom Scientific\\JAWS\\2019\\SETTINGS\\Init\\JFW.INI", + "filename": "${{environment}.PROGRAMDATA}\\Freedom Scientific\\JAWS\\2019\\SETTINGS\\Init\\JFW.INI" }, "supportedSettings": { // ----------------------- ------------------------- @@ -14413,7 +15107,7 @@ } } } - }, + } // MAGic also supports a subset of JAWS settings using its built-in "JAWS lite". // "configuration2": { // "type": "gpii.settingsHandlers.INISettingsHandler", @@ -14656,7 +15350,7 @@ // } // } // } - // } + // } */ }, "launchHandlers": { "launcher": { From c5aec33731599775b19f4d66a2da847436146133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Tue, 4 Feb 2020 17:45:53 +0100 Subject: [PATCH 08/27] GPII-4226: Added additional settings --- testData/solutions/win32.json5 | 2152 ++++++++++++++++++++++---------- 1 file changed, 1459 insertions(+), 693 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 3cf12f2f0..04a455687 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -9,7 +9,8 @@ ] }, "capabilities": [ - "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled" + "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled", + "http://registry\\.gpii\\.net/applications/com.\\.freedomscientific\\.jaws" ], "settingsHandlers": { "configuration1": { @@ -3584,14 +3585,16 @@ // ----------- Keyboard - Manage Key Labels ------- - // TODO: Complete descriptions + // NOTE: The format of the setting is of the kind: "KeyLabels.Add": "1|+", + // where the first value represents if the setting label + // is muted or not, and the second the keylabel used for + // describing it. "KeyLabels.Add": { "schema": { "title": "Manage Add Keylabel", "description": "Change Keylabel and Muting.", - "type": "string", - "default": "1|+" + "type": "string" } }, "KeyLabels.Apps": { @@ -3610,393 +3613,948 @@ }, "KeyLabels.Back": { "schema": { - "title": "User requested information messages", - "description": "Enable messaging user requested information with different levels of verbosity.", - "type": "string", - "default": "1|+" + "title": "Manage Back Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, "KeyLabels.Cancel": { + "schema": { + "title": "Manage Cancel Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Capital": { + "schema": { + "title": "Manage Capital Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Clear": { + "schema": { + "title": "Manage Clear Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Control": { + "schema": { + "title": "Manage Control Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.CrSel": { + "schema": { + "title": "Manage CrSel Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Decimal": { + "schema": { + "title": "Manage Decimal Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Delete": { + "schema": { + "title": "Manage Delete Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Divide": { + "schema": { + "title": "Manage Divide Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.Down": { + "schema": { + "title": "Manage Down Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } }, "KeyLabels.End": { - }, - "KeyLabels.ErEOF": {}, - "KeyLabels.Escape": {}, - "KeyLabels.Execute": {}, - "KeyLabels.ExSel": {}, - "KeyLabels.F1": {}, - "KeyLabels.F10": {}, - "KeyLabels.F11": {}, - "KeyLabels.F12": {}, - "KeyLabels.F13": {}, - "KeyLabels.F14": {}, - "KeyLabels.F15": {}, - "KeyLabels.F16": {}, - "KeyLabels.F17": {}, - "KeyLabels.F18": {}, - "KeyLabels.F19": {}, - "KeyLabels.F2": {}, - "KeyLabels.F20": {}, - "KeyLabels.F21": {}, - "KeyLabels.F22": {}, - "KeyLabels.F23": {}, - "KeyLabels.F3": {}, - "KeyLabels.F4": {}, - "KeyLabels.F5": {}, - "KeyLabels.F6": {}, - "KeyLabels.F7": {}, - "KeyLabels.F8": {}, - "KeyLabels.F9": {}, - "KeyLabels.Help": {}, - "KeyLabels.Home": {}, - "KeyLabels.Insert": {}, - "KeyLabels.Left": {}, - "KeyLabels.Letters": {}, - "KeyLabels.LWin": {}, - "KeyLabels.Menu": {}, - "KeyLabels.ModifiedPrintable": {}, - "KeyLabels.Multiply": {}, - "KeyLabels.Next": {}, - "KeyLabels.Numbers": {}, - "KeyLabels.NumLock": {}, - "KeyLabels.NumPad0": {}, - "KeyLabels.NumPad1": {}, - "KeyLabels.NumPad2": {}, - "KeyLabels.NumPad3": {}, - "KeyLabels.NumPad4": {}, - "KeyLabels.NumPad5": {}, - "KeyLabels.NumPad6": {}, - "KeyLabels.NumPad7": {}, - "KeyLabels.NumPad8": {}, - "KeyLabels.OEM_clear": {}, - "KeyLabels.PA1": {}, - "KeyLabels.Pause": {}, - "KeyLabels.Play": {}, - "KeyLabels.Print": {}, - "KeyLabels.Prior": {}, - "KeyLabels.Return": {}, - "KeyLabels.Right": {}, - "KeyLabels.RWin": {}, - "KeyLabels.Scroll": {}, - "KeyLabels.Select": {}, - "KeyLabels.Separator": {}, - "KeyLabels.Shift": {}, - "KeyLabels.SnapShot ": {}, - "KeyLabels.Space": {}, - "KeyLabels.Subtract": {}, - "KeyLabels.Symbols": {}, - "KeyLabels.Tab": {}, - "KeyLabels.Up": {}, - "KeyLabels.Zoom": {}, - - // ----------- Keyboard - Touch Keyboard ------- - - "Options.TouchTypingMode": { "schema": { - "title": "Touch Typing Mode", - "description": "Which keyboard mode to use for the touch keyboard.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "Standard Typing", - "Touch typing" - ], - "default": 1 + "title": "Manage End Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "Options.TouchTypingEcho": { + "KeyLabels.ErEOF": { "schema": { - "title": "Touch Typing Echo", - "description": "Whether/how to echo text entered using the touch keyboard.", - "enum": [ - 0, - 1, - 2, - 3 - ], - "enumLabels": [ - "None", - "Characters", - "Words", - "Both characters and words" - ], - "default": 3 + "title": "Manage ErEOF Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "Options.TouchKeyboardNotification": { + "KeyLabels.Escape": { "schema": { - "title": "Touch Keyboard Notification", - "description": "Whether/how to notify when the touch keyboard appears/disappears.", - "enum": [ - 0, - 1, - 2 - ], - "enumLabels": [ - "By Message", - "By Sound", - "By both Message and Sound" - ], - "default": 2 + "title": "Manage Escape Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "Options.TouchKeyboardChildPanelNotification": { + "KeyLabels.Execute": { "schema": { - "title": "Touch Alternative Character Panel Popup Notification", - "description": "How to announce the appearance of a panel of alternate keys in the touch keyboard.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "By both Message and Sound", - "By Sound only" - ], - "default": 0 + "title": "Manage Execute Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - - // ----------- Keyboard - Touch Keyboard ------- - - "FSCasts.EnableNotifications": { + "KeyLabels.ExSel": { "schema": { - "title": "FSCast Notifications", - "description": "Whether to have JAWS display a dialog when new podcasts from Freedom Scientific are available.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Manage ExSel Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.Abbreviations": { + "KeyLabels.F1": { "schema": { - "title": "Abbreviations", - "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ] + "title": "Manage F1 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.Acronyms": { + "KeyLabels.F10": { "schema": { - "title": "Acronyms", - "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", - "type": "number", - "default": 0, - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ] + "title": "Manage F10 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.BlockQuoteIndication": { + "KeyLabels.F11": { "schema": { - "title": "Block Quote Indication", - "description": "Whether to indicate HTML block quotations.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Manage F11 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.FormsModeAutoOff": { + "KeyLabels.F12": { "schema": { - "title": "Forms Mode Auto Off", - "description": "Whether or not Forms Mode should be automatically turned off when the current page is updated.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "Leave Forms Mode on", - "Turn Forms Mode off automatically" - ], - "default": 1 + "title": "Manage F12 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.ListIndication": { + "KeyLabels.F13": { "schema": { - "title": "List Indication", - "description": "Whether to announce lists with the item count and nesting level.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Manage F13 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.TblMaxCellTextLength": { + "KeyLabels.F14": { "schema": { - "title": "Table Maximum Cell Text Length", - "description": "A cell is considered a valid data cell if it contains upto this number of characters.", - "type": "integer", - "default": 250 + "title": "Manage F14 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.TblMinCellTextLength": { + "KeyLabels.F15": { "schema": { - "title": "Table Minimum Cell Text Length", - "description": "A cell is considered a valid data cell if it contains at least this number of characters.", - "type": "integer", - "default": 1 + "title": "Manage F15 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.TblMinTextColumns": { + "KeyLabels.F16": { "schema": { - "title": "Table Minimum Text Columns", - "description": "This option specifies the minimum number of columns which must contain text in order for the table to be considered a data table.", - "type": "integer", - "default": 2 + "title": "Manage F16 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.TblMinTextRows": { + "KeyLabels.F17": { "schema": { - "title": "Table Minimum Text Rows", - "description": "This option specifies the minimum number of rows which must contain text in order for the table to be considered a data table.", - "type": "integer", - "default": 2 + "title": "Manage F17 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.TblMinValidDataRows": { + "KeyLabels.F18": { "schema": { - "title": "Table Minimum Valid Data Rows", - "description": "Next options used for configuring how data tables are detected This option specifies the minimum number of valid data rows that a table must contain in order for it to be considered a data table.", - "type": "integer", - "default": 2 + "title": "Manage F18 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.TblValidRowThreshold": { + "KeyLabels.F19": { "schema": { - "title": "Table Valid Row Threshold", - "description": "This option specifies the minimum number of cells that a row must contain in order for it to be considered a valid data row.", - "type": "integer", - "default": 2 + "title": "Manage F19 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "HTML.UseLegacyIESupport": { + "KeyLabels.F2": { "schema": { - "title": "Use Legacy IE Support", - "description": "Whether or not to use legacy IE support instead of the default FS Dom Server support.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 1 + "title": "Manage F2 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" } }, - "Options.AllCapsIndicator": { + "KeyLabels.F20": { "schema": { - "title": "AllCapsIndicator", - "description": "The text to read before text that appears in all capital letters.", - "type": "string", - "default": "all cap" + "title": "Manage F20 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F21": { + "schema": { + "title": "Manage F21 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F22": { + "schema": { + "title": "Manage F22 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F23": { + "schema": { + "title": "Manage F23 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F3": { + "schema": { + "title": "Manage F3 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F4": { + "schema": { + "title": "Manage F4 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F5": { + "schema": { + "title": "Manage F5 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F6": { + "schema": { + "title": "Manage F6 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F7": { + "schema": { + "title": "Manage F7 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F8": { + "schema": { + "title": "Manage F8 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.F9": { + "schema": { + "title": "Manage F9 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Help": { + "schema": { + "title": "Manage Help Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Home": { + "schema": { + "title": "Manage Home Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Insert": { + "schema": { + "title": "Manage Insert Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Left": { + "schema": { + "title": "Manage Left Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Letters": { + "schema": { + "title": "Manage Letters Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.LWin": { + "schema": { + "title": "Manage LWin Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Menu": { + "schema": { + "title": "Manage Menu Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.ModifiedPrintable": { + "schema": { + "title": "Manage ModifiedPrintable Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Multiply": { + "schema": { + "title": "Manage Multiply Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Next": { + "schema": { + "title": "Manage Next Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Numbers": { + "schema": { + "title": "Manage Numbers Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumLock": { + "schema": { + "title": "Manage NumLock Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad0": { + "schema": { + "title": "Manage NumPad0 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad1": { + "schema": { + "title": "Manage NumPad1 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad2": { + "schema": { + "title": "Manage NumPad2 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad3": { + "schema": { + "title": "Manage NumPad3 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad4": { + "schema": { + "title": "Manage NumPad4 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad5": { + "schema": { + "title": "Manage NumPad5 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad6": { + "schema": { + "title": "Manage NumPad6 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad7": { + "schema": { + "title": "Manage NumPad7 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.NumPad8": { + "schema": { + "title": "Manage NumPad8 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.OEM_clear": { + "schema": { + "title": "Manage OEM_clear Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.PA1": { + "schema": { + "title": "Manage PA1 Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Pause": { + "schema": { + "title": "Manage Pause Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Play": { + "schema": { + "title": "Manage Play Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Print": { + "schema": { + "title": "Manage Print Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Prior": { + "schema": { + "title": "Manage Prior Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Return": { + "schema": { + "title": "Manage Return Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Right": { + "schema": { + "title": "Manage Right Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.RWin": { + "schema": { + "title": "Manage RWin Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Scroll": { + "schema": { + "title": "Manage Scroll Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Select": { + "schema": { + "title": "Manage Select Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Separator": { + "schema": { + "title": "Manage Separator Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Shift": { + "schema": { + "title": "Manage Shift Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.SnapShot ": { + "schema": { + "title": "Manage SnapShot Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Space": { + "schema": { + "title": "Manage Space Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Subtract": { + "schema": { + "title": "Manage Subtract Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Symbols": { + "schema": { + "title": "Manage Symbols Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Tab": { + "schema": { + "title": "Manage Tab Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Up": { + "schema": { + "title": "Manage Up Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + "KeyLabels.Zoom": { + "schema": { + "title": "Manage Zoom Keylabel", + "description": "Change Keylabel and Muting.", + "type": "string" + } + }, + + // ----------- Keyboard - Touch Keyboard ------- + + "Options.TouchTypingMode": { + "schema": { + "title": "Touch Typing Mode", + "description": "Which keyboard mode to use for the touch keyboard.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "Standard Typing", + "Touch typing" + ], + "default": 1 + } + }, + "Options.TouchTypingEcho": { + "schema": { + "title": "Touch Typing Echo", + "description": "Whether/how to echo text entered using the touch keyboard.", + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "None", + "Characters", + "Words", + "Both characters and words" + ], + "default": 3 + } + }, + "Options.TouchKeyboardNotification": { + "schema": { + "title": "Touch Keyboard Notification", + "description": "Whether/how to notify when the touch keyboard appears/disappears.", + "enum": [ + 0, + 1, + 2 + ], + "enumLabels": [ + "By Message", + "By Sound", + "By both Message and Sound" + ], + "default": 2 + } + }, + "Options.TouchKeyboardChildPanelNotification": { + "schema": { + "title": "Touch Alternative Character Panel Popup Notification", + "description": "How to announce the appearance of a panel of alternate keys in the touch keyboard.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "By both Message and Sound", + "By Sound only" + ], + "default": 0 + } + }, + + // -------------- Custom Highligth ------------- + + // -------- TODO: Check how to access ---------- + + // ---------------- Research It ---------------- + + "Research It Options.Primary": { + "schema": { + "title": "Primary Research Option", + "description": "Defines the primary research option.", + "type": "string" + } + }, + "Research It Exclusions.Exclude1": { + "schema": { + "title": "Research Exclusions \"Exclude1\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude2": { + "schema": { + "title": "Research Exclusions \"Exclude2\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude3": { + "schema": { + "title": "Research Exclusions \"Exclude3\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude4": { + "schema": { + "title": "Research Exclusions \"Exclude4\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude5": { + "schema": { + "title": "Research Exclusions \"Exclude5\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude6": { + "schema": { + "title": "Research Exclusions \"Exclude6\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude7": { + "schema": { + "title": "Research Exclusions \"Exclude7\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude8": { + "schema": { + "title": "Research Exclusions \"Exclude8\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude9": { + "schema": { + "title": "Research Exclusions \"Exclude9\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude10": { + "schema": { + "title": "Research Exclusions \"Exclude10\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude11": { + "schema": { + "title": "Research Exclusions \"Exclude11\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude12": { + "schema": { + "title": "Research Exclusions \"Exclude12\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude13": { + "schema": { + "title": "Research Exclusions \"Exclude13\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude14": { + "schema": { + "title": "Research Exclusions \"Exclude14\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude15": { + "schema": { + "title": "Research Exclusions \"Exclude15\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude16": { + "schema": { + "title": "Research Exclusions \"Exclude16\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + "Research It Exclusions.Exclude17": { + "schema": { + "title": "Research Exclusions \"Exclude17\"", + "description": "Defines a exclusion for \"Research It\".", + "type": "string" + } + }, + + // ------------------ Text Analyzer ------------------ + + // ---- Text Analyzer - Text Analyzer ---- + + "Options.TextAnalyser": { + "schema": { + "title": "Text Analyser", + "description": "Indicates text analyzer behavior.", + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "Turn Off", + "Indicate with Sound", + "Speak Count", + "Describe Inconsistences" + ], + "default": 0 + } + }, + "Options.TextAnalyserTypeFlags": { + "schema": { + "title": "Text Analyser Type", + "description": "Indicates how the text analyzer should threat different symbols.", + "type": "integer" + }, + "label": "bitmask" + }, + "Options.TextAnalyserSymbolFlags": { + "schema": { + "title": "Text Analyser Symbols", + "description": "Indicates the symbols the text analyzer should check.", + "type": "integer" + }, + "label": "bitmask" + }, + + // ------------------ Convenient OCR ------------------ + + // NOTE: The language codes used to describe the primary and secondary languages + // are taken from the following list: + // + // -https://docs.microsoft.com/es-es/windows/win32/intl/language-identifier-constants-and-strings + // + + "OCR.PrimaryRecognitionLanguage": { + "schema": { + "title": "Primary OCR Recognition Language", + "description": "Indicates the primary language for OCR.", + "type": "integer", + "default": 1033 + } + }, + "OCR.SecondaryRecognitionLanguage": { + "schema": { + "title": "Secondary OCR Recognition Language", + "description": "Indicates the secondary language for OCR.", + "type": "integer", + "default": 1033 + } + }, + + // --------------------- Gestures ----------------------- + + "Touch.TapEventDurationMax": { + "schema": { + "title": "Explore Delay", + "description": "Sets the maximum duration of the tapping event.", + "type": "integer", + "default": 210, + "minimum": 160, + "maximum": 410 + } + }, + "Touch.TapInterEventDurationMax": { + "schema": { + "title": "Double Tab Speed", + "description": "Sets the time interval between individual taps in a double or triple tap.", + "type": "integer", + "default": 600, + "minimum": 300, + "maximum": 900 + } + }, + "Touch.TapTranslationMax": { + "schema": { + "title": "Tap Radius", + "description": "Sets the size of the finger contact spot on the touch screen.", + "type": "integer", + "default": 20, + "minimum": 10, + "maximum": 60 } }, - "Options.AnnounceMultilineEdit": { + "Touch.FlickVelocityMin": { "schema": { - "title": "Announce Multiline Edit Controls", - "description": "Whether to announce multi-line edit controls.", - "enum": [0, 1], - "enumLabels": ["off", "on"], + "title": "Flick Velocity", + "description": "Sets the minimum finger velocity on the touch screen above which the movement is recognized as a flick.", + "type": "integer", + "default": 67, + "minimum": 7, + "maximum": 112 + } + }, + + // ------------------- Mouse Echo --------------------- + + "Options.MouseSpeechEnabled": { + "schema": { + "title": "Enable Mouse Echo", + "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], "default": 0 } }, - // This does not seem safe to update, as we have no idea which displays are available on a given machine. - // "Options.BrailleDisplay": { - // "schema": { - // "title": "Braille Display", - // "description": "The braille display to use.", - // "type": "string", - // "default": "Braille1" - // } - // }, - "Options.CapIndicator": { + "Options.MouseMovementStopsSpeech": { "schema": { - "title": "Cap Indicator", - "description": "The text to read before a capital letter.", - "type": "string", - "default": "cap" + "title": "Mouse Echo Interrupt", + "description": "Whether to stop speaking when the mouse is moved.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 } }, - "Options.CaretDetect": { + "Options.MouseSpeechInstant": { "schema": { - "title": "Caret Detect", - "description": "How many cursor blinks are used to locate the caret.", - "type": "integer", - "default": 1, - "minimum": 1 + "title": "Mouse Echo Instant", + "description": "Enable text reading while the mouse is in motion so you do not have to pause to hear the text under the mouse.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 } }, - "Options.CaretDetectTimeOut": { + "Options.MouseSpeechDelay": { "schema": { - "title": "Caret Detect Timeout", - "description": "The number of milliseconds before JAWS for Windows will give up looking for the caret.", + "title": "Mouse Echo Delay", + "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", "type": "integer", - "default": 250, - "minimum": 0 + "default": 400, + "minimum": 200, + "maximum": 2000 } }, - "OSM.CaretTimeOut": { + "Options.MouseSpeechEchoUnit": { "schema": { - "title": "Caret Time Out", - "description": "The time in milliseconds to wait before redrawing the caret.", - "type": "integer", - "default": 1000 + "title": "Mouse Echo Unit", + "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", + "enum": [ + 0, + 1, + 2, + 3 + ], + "enumLabels": [ + "Character", + "Word", + "Line", + "Paragraph" + ], + "default": 2 } }, - "Options.Case": { + "Options.MouseEchoSpeaksHelpAndDescription": { "schema": { - "title": "Case", - "description": "Whether to indicate the case of spoken text with a change of inflection.", - "type": "number", - "default": 1, + "title": "Speak Description of Item", + "description": "Whether to speak the description of an item on mouseover.", "enum": [ 0, 1 @@ -4004,27 +4562,14 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 0 } }, - // There's not even anything in the JAWS documentation for this. Disabled for now. - // "Options.DosScreenReader": { - // "schema": { - // "title": "Dos Screen Reader", - // "description": "", - // "type": "", - // "default": 0, - // "enum": [], - // "enumLabels": [] - // } - // }, - "Options.IndicateAttributesInDialogsAndMenus": { + "Options.MouseEchoSpeaksControlTypeAndState": { "schema": { - "title": "Indicate Attributes on Dialogs and Menus", - "description": "Whether to announce attributes in dialogs and menus if the scheme allows for it.", - "type": "number", - "default": 0, - // TODO: All of these 0,1 examples are a firm use case for an application-specific transform mechanism so that our JSON payloads can use true/false. + "title": "Speak Control Type and State of Item", + "description": "Whether to speak the type of control and state of item when mousing over a control.", "enum": [ 0, 1 @@ -4032,68 +4577,171 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - "Options.JAWSPunctuationEnabled": { + + // ------------ Visual Tracking ------------ + + "Options.VTUseVirtualPCCursor": { "schema": { - "title": "JAWS Punctuation Enabled", - "description": "Which punctuation marks to speak.", - "type": "number", - "default": 2, + "title": "Use Virtual PC Cursor", + "description": "Whether to use the virtual PC cursor when reading HTML documents.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 1 + } + }, + "Options.VTUseVirtualRibbon": { + "schema": { + "title": "Use Virtual Ribbon Menu", + "description": "Whether to turn on the virtual ribbon menu.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + "Options.VTUseTouchCursor": { + "schema": { + "title": "Highlight Touch Cursor", + "description": "Whether or not to highlight selected items when using the touch cursor or touch gestures.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ], + "default": 0 + } + }, + + // ---- Visual Tracking - Visual Settings ---- + + "Options.VTcolor": { + "schema": { + "title": "Visual Tracking Color", + "description": "The colour to use when highlighting items selected using the touch cursor.", + "enum": [ + "Light Blue", + "Deep Sky Blue", + "Blue", + "Dark Blue", + "Purple", + "Fuchsia", + "Red", + "Orange", + "Yellow", + "Lime Green", + "Green", + "Olive Drab", + "Saddle Brown", + "Burly Wood" + ], + "enumLabels": [ + 11393254, + 49151, + 255, + 139, + 8388736, + 16711935, + 16711680, + 16753920, + 16776960, + 1293915, + 32768, + 7048739, + 9127187, + 14596231 + ], + "default": 1293915 + } + }, + "Options.VTstyle": { + "schema": { + "title": "Visual Tracking Style", + "description": "The style of highlighting to use.", "enum": [ 0, 1, - 2, - 3 + 2 ], "enumLabels": [ - "None", - "Some", - "Most", - "All" - ] + "Box", + "Block", + "Underline" + ], + "default": 1 } }, - "Options.LeftShiftSkipBack": { + "Options.VTtransparency": { + "schema": { + "title": "Visual Tracking Transparency", + "description": "How transparent to make the visual highlighting of selected items.", + "type": "integer", + "maximum": 100, + "minimum": 0, + "default": 25 + } + }, + "Options.VTthickness": { + "schema": { + "title": "Visual Tracking Thickness", + "description": "How thick to make the \"box\" and \"underline\" highlighting styles.", + "type": "integer", + "minimum": 1, + "maximum": 10, + "default": 2 + } + }, + "Options.VTspacing": { + "schema": { + "title": "Visual Tracking Spacing", + "description": "The amount of spacing between the highlight box and the highlighted item.", + "type": "integer", + "minimum": 1, + "maximum": 10, + "default": 2 + } + }, + + // ------------ Miscellaneous --------------- + + "OSM.EditPromptSearch": { "schema": { - "title": "Left Shift Skip Back", - "description": "How the shift keys should behave in \"Say All\" mode.", - "type": "number", - "default": 1, + "title": "Search for Prompts", + "description": "Determine to what extent JAWS searches for prompts.", "enum": [ 0, - 1 + 1, + 2 ], "enumLabels": [ - "during SayAll, right shift will skip back and left shift will skip forward", - "during SayAll, left shift will skip back and right shift will skip forward" - ] + "Minimum Search", + "Extended Search", + "Maximum Search" + ], + "default": 2 } }, - // Can't find any documentation about this. - // "Options.ListBoxCheckBoxes": { - // "schema": { - // "title": "List Box Check Boxes", - // "description": "0 off, 1 non-ownerdrawn listboxes, 2 also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style.", - // "type": "number", - // "default": 0, - // "enum": [ - // 0, - // 1, - // 2 - // ], - // "enumLabels": [ - // "off", - // "non-ownerdrawn listboxes", - // "also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style." - // ] - // } - // }, - "Options.MigrationWizardDisplayed": { + "OSM.HookingMode": { "schema": { - "title": "Migration Wizard Displayed", - "description": "Whether or not to display the migration wizard on startup.", + "title": "Use Accessibility Driver for Screen Capture", + "description": "Whether to use the legacy accessibility driver.", "enum": [ 0, 1 @@ -4102,13 +4750,22 @@ "off", "on" ], + "default": 1 + } + }, + "Options.VirtualRibbonSupport": { + "schema": { + "title": "Virtual Ribbon Support", + "description": "Whether to use the Virtual PC cursor to read HTML documents. When using the Virtual PC cursor, Web pages and other HTML documents are read as if they were formatted into single columns, with each link or form field on a line of its own. This mode allows you to navigate or select text in a Web page as if you were in a standard text document, while also giving you the ability to fill out forms or activate links.", + "enum": [0, 1], + "enumLabels": ["off", "on"], "default": 0 } }, - "Options.MouseEchoSpeaksControlTypeAndState": { + "OSM.UseVirtualPCCursor": { "schema": { - "title": "Speak Control Type and State of Item", - "description": "Whether to speak the type of control and state of item when mousing over a control.", + "title": "Virtual PC Cursor", + "description": "Whether to use the virtual PC cursor when reading HTML documents.", "enum": [ 0, 1 @@ -4120,25 +4777,43 @@ "default": 1 } }, - "Options.MouseEchoSpeaksHelpAndDescription": { + "Options.AnnounceMultilineEdit": { "schema": { - "title": "Speak Description of Item", - "description": "Whether to speak the description of an item on mouseover.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], + "title": "Announce Multiline Edit Controls", + "description": "Whether to announce multi-line edit controls.", + "enum": [0, 1], + "enumLabels": ["off", "on"], "default": 0 } }, - "Options.MouseMovementStopsSpeech": { + "OSM.TextOutDelay": { "schema": { - "title": "Mouse Echo Interrupt", - "description": "Whether to stop speaking when the mouse is moved.", + "title": "Text Out Delay", + "description": "The number of milliseconds to wait before announcing newly written text. Setting this to a non-zero value may cause terminal programs to respond in a less choppy fashion.", + "type": "integer", + "default": 0 + } + }, + "OSM.PixelsPerSpace": { + "schema": { + "title": "Pixels Per Space", + "description": "When simulating spaces in blank portions of a line, the number of pixels used to represent each space.", + "type": "integer", + "default": 8 + } + }, + "OSM.PixelsPerTab": { + "schema": { + "title": "Pixels Per Tab", + "description": "The number of pixels per tab, used to estimate the number of tab spaces contained within the blank portion of a line.", + "type": "integer", + "default": 10 + } + }, + "OSM.TrackFocusRect": { + "schema": { + "title": "Track Focus Rectangle", + "description": "Set to one causes MAGic to track the focus rectangle in standard controls that utilize focus rectangles.", "enum": [ 0, 1 @@ -4150,70 +4825,86 @@ "default": 1 } }, - "Options.MouseSpeechDelay": { + "OSM.LeftMargin": { "schema": { - "title": "Mouse Echo Delay", - "description": "How long to delay announcing content under the mouse, in milliseconds. Defaults to 0 (no delay).", + "title": "Left Margin in Pixels", + "description": "Ignores the distance specified in pixels from the left border of the window.", "type": "integer", "default": 0 } }, - "Options.MouseSpeechEchoUnit": { + "OSM.UnderlineProximity": { "schema": { - "title": "Mouse Echo Unit", - "description": "The unit of text to announce when the mouse pauses over text in a control. Defaults to reading the whole line.", + "title": "Underline Proximity", + "description": "How far away in pixels can an underline be before being considered an actual underline.", + "type": "integer", + "default": 0 + } + }, + "FSCasts.EnableNotifications": { + "schema": { + "title": "FSCast Notifications", + "description": "Whether to have JAWS display a dialog when new podcasts from Freedom Scientific are available.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "character", - "word", - "line", - "paragraph" + "off", + "on" ], - "default": 2 + "default": 1 } }, - "Options.MouseSpeechEnabled": { + + // -------- Miscellaneous - Submit Anonymouse Usage Data ------------ + + // NOTE-TODO: Setting not present in the default config file. + + // ------------------------------------------------------------------- + + // ---------------- Miscellaneous - Error Reporting ----------------- + + // NOTE-TODO: Setting not present in the default config file. + + // ------------------------------------------------------------------- + + // ------------ Graphics and Symbols ------------ + + "OSM.GraphicsMode": { "schema": { - "title": "Enable Mouse Echo", - "description": "Whether or not to enable the mouse echo, i.e. reading content under the mouse pointer.", + "title": "Graphics Mode", + "description": "How to handle graphic CRC values.", "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" + "Store graphic CRC values when the graphics are being drawn to the screen.", + "Compute them from the screen image at the time they are requested to be spoken." ], "default": 0 } }, - "Options.ProcessToolTipEvent": { + "OSM.IgnoreSetSysModal": { "schema": { - "title": "Process Tooltip Event", - "description": "Whether or not to process tooltip events.", - "type": "number", - "default": 1, + "title": "Ignore Set Sys Modal", + "description": "Whether to disallow Windows calling the SetSysModalWindow function. In most cases this is desirable, because System Modal Windows cannot be spoken.", "enum": [ 0, 1 ], "enumLabels": [ - "on", - "off" - ] + "off", + "on" + ], + "default": 1 } }, - "Options.ReadingInterrupt": { + "OSM.IncludeLines": { "schema": { - "title": "Reading Interrupt", - "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", - "type": "number", - "default": 1, + "title": "Include Lines", + "description": "Whether to include line segments in the Off Screen Model. This is required for Excel and other programs which draw a focus rectangle.", "enum": [ 0, 1 @@ -4221,61 +4912,44 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 0 } }, - "Options.SkimReadingIndication": { + "OSM.SpeakSysModalMessageBox": { "schema": { - "title": "Skim Reading Indication", - "description": "Whether or not to indicate (via a beep) when skimming over text units for which the regular expression returns FALSE.", - "type": "number", - "default": 1, + "title": "Speak Sys Modal Message Box", + "description": "Whether to announce System Modal Message Boxes.", "enum": [ 0, 1 ], "enumLabels": [ "off", - "beep every 20 units skimmed over" - ] + "on" + ], + "default": 1 } }, - "Options.SkipILM": { + "OSM.TrackCommandBars": { "schema": { - "title": "Skip ILM", - "description": "Whether to show the licensing manager on startup when running in 40-minute evaluation mode.", - "default": 0, + "title": "Track Command Bars", + "description": "Whether to track the menu bar in Office applications.", "enum": [ 0, 1 ], "enumLabels": [ - "display the license manager on startup", - "do not display the license manager on startup" - ] + "off", + "on" + ], + "default": 1 } }, - // This is not meaningful unless it's coupled with an application for context. Disabled for now. - // "Options.SleepMode": { - // "schema": { - // "title": "SleepMode", - // "description": "Whether to put JAWS to sleep. In the context of a specific application, this preference can be set to disable JAWS within that application.", - // "type": "number", - // "default": 0, - // "enum": [ - // 0, - // 1 - // ], - // "enumLabels": [ - // "off", - // "on" - // ] - // } - // }, - "Options.SpeechHistory": { + "OSM.TrimBrailleGraphicLabels": { "schema": { - "title": "Enable Speech History", - "description": "Whether to read through the 50-item speech history when \"insert+spacebar\" and then \"h\" are pressed.", + "title": "Trim Braille Graphic Labels", + "description": "Whether to trim the size of a braille graphic. Useful to preserve the virtical positioning of braille text.", "enum": [ 0, 1 @@ -4284,24 +4958,48 @@ "off", "on" ], - "default": 1 + "default": 0 } }, - // TODO: Verify. Look at the INI file and suggest defaults? - "Options.Synthesizer": { + + // ------------ GLOBAL ------------ + + "OSM.PixelsPerBlankLine": { "schema": { - "title": "Synthesizer", - "description": "The synthesizer to use/ Available synthesizers are listed in JfW.INI", + "title": "Pixels Per Blank Line", + "description": "how many pixels (high) per blank line", + "type": "integer", + "default": 13 + } + }, + "Voice Profiles.ActiveVoiceProfileName": { + "schema": { + "title": "Active Voice Profile Name", + "description": "The active voice profile.", "type": "string", - "enum": ["Synth1"], - "enumLabels": ["Default speech synthesizer"], - "default": "Synth1" + "default": "Eloquence" } }, - "Options.TetherJawsToPC": { + "HTML.Abbreviations": { + "schema": { + "title": "Abbreviations", + "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", + "type": "number", + "default": 0, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + "HTML.Acronyms": { "schema": { - "title": "Tether Jaws to PC", - "description": "Whether or not to tether the JAWS cursor to the PC cursor. If this is set to 'on', whenever the Pc cursor moves, the Jaws cursor will follow it. If this is set to 'off', the JAWS cursor is indifferent to PC cursor movements (this is the default).", + "title": "Acronyms", + "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", "type": "number", "default": 0, "enum": [ @@ -4314,64 +5012,40 @@ ] } }, - "Options.TextAnalyser": { + "HTML.BlockQuoteIndication": { "schema": { - "title": "Text Analyzer", - "description": "The type of alert to use when announcing formatting errors.", + "title": "Block Quote Indication", + "description": "Whether to indicate HTML block quotations.", "enum": [ 0, - 1, - 2, - 3 + 1 ], "enumLabels": [ - "turn off", - "indicate with sound", - "speak count", - "describe inconsistencies" + "off", + "on" ], - "default": 0 + "default": 1 } }, - - // TODO: Discuss whether / how to handle "bit fields" like these. - // "Options.TextAnalyserSymbolFlags": { - // "schema": { - // } - // "title": "Indicate Mismatched Symbols", - // "description": "Which mismatched symbols (such as mismatched opening and closing parentheses) to indicate when editing. Defaults to announcing all supported mismatching symbols." - // }, - // "Options.TextAnalyserTypeFlags": { - // "schema": { - // } - // "title": "Inconsistencies to Check", - // "description": "Which types of inconsistencies to check. Defaults to \"all\"." - // }, - - // Can't find information in the help file or default settings. Disabled for now. - // "Options.TreeViewCheckBoxes": { - // "schema": { - // "title": "Tree View Check Boxes", - // "description": "", - // "type": "number", - // "default": 1, - // "enum": [ - // 0, - // 1 - // ], - // "enumLabels": [ - // "off", - // "on" - // ] - // } - // }, - - "Options.UseVirtualInfoInFormsMode": { + "HTML.FormsModeAutoOff": { "schema": { - "title": "Use Virtual Info in Forms Mode", - "description": "Whether to use information from the virtual HTML area for prompts in Forms mode. Warning: this will not always result in accurate information, particularly on pages where there are errors in the HTML coding which result in forms mode and virtual mode being out of synchronization.", - "type": "number", - "default": 0, + "title": "Forms Mode Auto Off", + "description": "Whether or not Forms Mode should be automatically turned off when the current page is updated.", + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "Leave Forms Mode on", + "Turn Forms Mode off automatically" + ], + "default": 1 + } + }, + "HTML.ListIndication": { + "schema": { + "title": "List Indication", + "description": "Whether to announce lists with the item count and nesting level.", "enum": [ 0, 1 @@ -4379,98 +5053,158 @@ "enumLabels": [ "off", "on" - ] + ], + "default": 1 } }, - // No documentation or onscreen option. Disabled for now. - // "Options.UseWindowsKeyboardHook": { - // "schema": { - // "title": "Use Windows Keyboard Hook", - // "description": "", - // "type": "number", - // "default": 0, - // "enum": [ - // 0, - // 1 - // ], - // "enumLabels": [ - // "off", - // "on" - // ] - // } - // }, - - "Options.VIRTUALMSAAREFRESH": { + "HTML.TblMaxCellTextLength": { "schema": { - "title": "Virtual MSAA Refresh", - "description": "How often (in milliseconds) should an embedded ActiveX control cause the Virtual HTML area to be updated when receiving rapid ValueChange events from MSAA. Set to -1 to disable refreshes.", + "title": "Table Maximum Cell Text Length", + "description": "A cell is considered a valid data cell if it contains upto this number of characters.", "type": "integer", - "default": 0, - "minimum": -1 + "default": 250 } }, - "Options.VirtualRibbonSupport": { + "HTML.TblMinCellTextLength": { "schema": { - "title": "Virtual Ribbon Support", - "description": "Whether to use the Virtual PC cursor to read HTML documents. When using the Virtual PC cursor, Web pages and other HTML documents are read as if they were formatted into single columns, with each link or form field on a line of its own. This mode allows you to navigate or select text in a Web page as if you were in a standard text document, while also giving you the ability to fill out forms or activate links.", - "enum": [0, 1], - "enumLabels": ["off", "on"], + "title": "Table Minimum Cell Text Length", + "description": "A cell is considered a valid data cell if it contains at least this number of characters.", + "type": "integer", "default": 1 } }, - // TODO: DEFAULT - "Options.VTcolor": { + "HTML.TblMinTextColumns": { "schema": { - "title": "Visual Tracking Color", - "description": "The colour to use when highlighting items selected using the touch cursor.", - "type": "integer" + "title": "Table Minimum Text Columns", + "description": "This option specifies the minimum number of columns which must contain text in order for the table to be considered a data table.", + "type": "integer", + "default": 2 } }, - // TODO: DEFAULT - "Options.VTspacing": { + "HTML.TblMinTextRows": { "schema": { - "title": "Visual Tracking Spacing", - "description": "The amount of spacing between the highlight box and the highlighted item.", - "type": "integer" + "title": "Table Minimum Text Rows", + "description": "This option specifies the minimum number of rows which must contain text in order for the table to be considered a data table.", + "type": "integer", + "default": 2 } }, - "Options.VTstyle": { + "HTML.TblMinValidDataRows": { "schema": { - "title": "Visual Tracking Style", - "description": "The style of highlighting to use.", + "title": "Table Minimum Valid Data Rows", + "description": "Next options used for configuring how data tables are detected This option specifies the minimum number of valid data rows that a table must contain in order for it to be considered a data table.", + "type": "integer", + "default": 2 + } + }, + "HTML.TblValidRowThreshold": { + "schema": { + "title": "Table Valid Row Threshold", + "description": "This option specifies the minimum number of cells that a row must contain in order for it to be considered a valid data row.", + "type": "integer", + "default": 2 + } + }, + "HTML.UseLegacyIESupport": { + "schema": { + "title": "Use Legacy IE Support", + "description": "Whether or not to use legacy IE support instead of the default FS Dom Server support.", "enum": [ 0, - 1, - 2 + 1 ], "enumLabels": [ - "box", - "block", - "underline" + "off", + "on" ], - "default": 0 + "default": 1 } }, - // TODO: DEFAULT - "Options.VTthickness": { + "Options.AllCapsIndicator": { "schema": { - "title": "Visual Tracking Thickness", - "description": "How thick to make the \"box\" and \"underline\" highlighting styles.", - "type": "integer" + "title": "AllCapsIndicator", + "description": "The text to read before text that appears in all capital letters.", + "type": "string", + "default": "all cap" } }, - // TODO: DEFAULT - "Options.VTtransparency": { + // This does not seem safe to update, as we have no idea which displays are available on a given machine. + // "Options.BrailleDisplay": { + // "schema": { + // "title": "Braille Display", + // "description": "The braille display to use.", + // "type": "string", + // "default": "Braille1" + // } + // }, + "Options.CapIndicator": { "schema": { - "title": "Visual Tracking Transparency", - "description": "How transparent to make the visual highlighting of selected items.", - "type": "integer" + "title": "Cap Indicator", + "description": "The text to read before a capital letter.", + "type": "string", + "default": "cap" } }, - "Options.VTUseTouchCursor": { + "Options.CaretDetect": { "schema": { - "title": "Highlight Touch Cursor", - "description": "Whether or not to highlight selected items when using the touch cursor or touch gestures.", + "title": "Caret Detect", + "description": "How many cursor blinks are used to locate the caret.", + "type": "integer", + "default": 1, + "minimum": 1 + } + }, + "Options.CaretDetectTimeOut": { + "schema": { + "title": "Caret Detect Timeout", + "description": "The number of milliseconds before JAWS for Windows will give up looking for the caret.", + "type": "integer", + "default": 250, + "minimum": 0 + } + }, + "OSM.CaretTimeOut": { + "schema": { + "title": "Caret Time Out", + "description": "The time in milliseconds to wait before redrawing the caret.", + "type": "integer", + "default": 1000 + } + }, + "Options.Case": { + "schema": { + "title": "Case", + "description": "Whether to indicate the case of spoken text with a change of inflection.", + "type": "number", + "default": 1, + "enum": [ + 0, + 1 + ], + "enumLabels": [ + "off", + "on" + ] + } + }, + // There's not even anything in the JAWS documentation for this. Disabled for now. + // "Options.DosScreenReader": { + // "schema": { + // "title": "Dos Screen Reader", + // "description": "", + // "type": "", + // "default": 0, + // "enum": [], + // "enumLabels": [] + // } + // }, + "Options.IndicateAttributesInDialogsAndMenus": { + "schema": { + "title": "Indicate Attributes on Dialogs and Menus", + "description": "Whether to announce attributes in dialogs and menus if the scheme allows for it.", + "type": "number", + "default": 0, + // TODO: All of these 0,1 examples are a firm use case for an application-specific transform mechanism so that our JSON payloads can use true/false. "enum": [ 0, 1 @@ -4478,29 +5212,68 @@ "enumLabels": [ "off", "on" + ] + } + }, + "Options.JAWSPunctuationEnabled": { + "schema": { + "title": "JAWS Punctuation Enabled", + "description": "Which punctuation marks to speak.", + "type": "number", + "default": 2, + "enum": [ + 0, + 1, + 2, + 3 ], - "default": 0 + "enumLabels": [ + "None", + "Some", + "Most", + "All" + ] } }, - "Options.VTUseVirtualPCCursor": { + "Options.LeftShiftSkipBack": { "schema": { - "title": "Use Virtual PC Cursor", - "description": "Whether to use the virtual PC cursor when reading HTML documents.", + "title": "Left Shift Skip Back", + "description": "How the shift keys should behave in \"Say All\" mode.", + "type": "number", + "default": 1, "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" - ], - "default": 1 + "during SayAll, right shift will skip back and left shift will skip forward", + "during SayAll, left shift will skip back and right shift will skip forward" + ] } }, - "Options.VTUseVirtualRibbon": { + // Can't find any documentation about this. + // "Options.ListBoxCheckBoxes": { + // "schema": { + // "title": "List Box Check Boxes", + // "description": "0 off, 1 non-ownerdrawn listboxes, 2 also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style.", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1, + // 2 + // ], + // "enumLabels": [ + // "off", + // "non-ownerdrawn listboxes", + // "also check listboxes with LBS_OWNERDRAWVARIABLE or LBS_OWNERDRAWFIXED window style." + // ] + // } + // }, + "Options.MigrationWizardDisplayed": { "schema": { - "title": "Use Virtual Ribbon Menu", - "description": "Whether to turn on the virtual ribbon menu.", + "title": "Migration Wizard Displayed", + "description": "Whether or not to display the migration wizard on startup.", "enum": [ 0, 1 @@ -4512,28 +5285,28 @@ "default": 0 } }, - - // ------------ Graphics and Symbols ------------ - - "OSM.GraphicsMode": { + "Options.ProcessToolTipEvent": { "schema": { - "title": "Graphics Mode", - "description": "How to handle graphic CRC values.", + "title": "Process Tooltip Event", + "description": "Whether or not to process tooltip events.", + "type": "number", + "default": 1, "enum": [ 0, 1 ], "enumLabels": [ - "Store graphic CRC values when the graphics are being drawn to the screen.", - "Compute them from the screen image at the time they are requested to be spoken." - ], - "default": 0 + "on", + "off" + ] } }, - "OSM.IgnoreSetSysModal": { + "Options.ReadingInterrupt": { "schema": { - "title": "Ignore Set Sys Modal", - "description": "Whether to disallow Windows calling the SetSysModalWindow function. In most cases this is desirable, because System Modal Windows cannot be spoken.", + "title": "Reading Interrupt", + "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", + "type": "number", + "default": 1, "enum": [ 0, 1 @@ -4541,76 +5314,61 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "OSM.IncludeLines": { + "Options.SkimReadingIndication": { "schema": { - "title": "Include Lines", - "description": "Whether to include line segments in the Off Screen Model. This is required for Excel and other programs which draw a focus rectangle.", + "title": "Skim Reading Indication", + "description": "Whether or not to indicate (via a beep) when skimming over text units for which the regular expression returns FALSE.", + "type": "number", + "default": 1, "enum": [ 0, 1 ], "enumLabels": [ "off", - "on" - ], - "default": 0 - } - }, - "OSM.PixelsPerBlankLine": { - "schema": { - "title": "Pixels Per Blank Line", - "description": "how many pixels (high) per blank line", - "type": "integer", - "default": 13 - } - }, - "OSM.PixelsPerSpace": { - "schema": { - "title": "Pixels Per Space", - "description": "When simulating spaces in blank portions of a line, the number of pixels used to represent each space.", - "type": "integer", - "default": 8 - } - }, - "OSM.PixelsPerTab": { - "schema": { - "title": "Pixels Per Tab", - "description": "The number of pixels per tab, used to estimate the number of tab spaces contained within the blank portion of a line.", - "type": "integer", - "default": 10 + "beep every 20 units skimmed over" + ] } }, - "OSM.SpeakSysModalMessageBox": { + "Options.SkipILM": { "schema": { - "title": "Speak Sys Modal Message Box", - "description": "Whether to announce System Modal Message Boxes.", + "title": "Skip ILM", + "description": "Whether to show the licensing manager on startup when running in 40-minute evaluation mode.", + "default": 0, "enum": [ 0, 1 ], "enumLabels": [ - "off", - "on" - ], - "default": 1 - } - }, - "OSM.TextOutDelay": { - "schema": { - "title": "Text Out Delay", - "description": "The number of milliseconds to wait before announcing newly written text. Setting this to a non-zero value may cause terminal programs to respond in a less choppy fashion.", - "type": "integer", - "default": 0 + "display the license manager on startup", + "do not display the license manager on startup" + ] } }, - "OSM.TrackCommandBars": { + // This is not meaningful unless it's coupled with an application for context. Disabled for now. + // "Options.SleepMode": { + // "schema": { + // "title": "SleepMode", + // "description": "Whether to put JAWS to sleep. In the context of a specific application, this preference can be set to disable JAWS within that application.", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ] + // } + // }, + "Options.SpeechHistory": { "schema": { - "title": "Track Command Bars", - "description": "Whether to track the menu bar in Office applications.", + "title": "Enable Speech History", + "description": "Whether to read through the 50-item speech history when \"insert+spacebar\" and then \"h\" are pressed.", "enum": [ 0, 1 @@ -4622,10 +5380,23 @@ "default": 1 } }, - "OSM.TrackFocusRect": { + // TODO: Verify. Look at the INI file and suggest defaults? + "Options.Synthesizer": { "schema": { - "title": "Track Focus Rectangle", - "description": "Set to one causes MAGic to track the focus rectangle in standard controls that utilize focus rectangles.", + "title": "Synthesizer", + "description": "The synthesizer to use/ Available synthesizers are listed in JfW.INI", + "type": "string", + "enum": ["Synth1"], + "enumLabels": ["Default speech synthesizer"], + "default": "Synth1" + } + }, + "Options.TetherJawsToPC": { + "schema": { + "title": "Tether Jaws to PC", + "description": "Whether or not to tether the JAWS cursor to the PC cursor. If this is set to 'on', whenever the Pc cursor moves, the Jaws cursor will follow it. If this is set to 'off', the JAWS cursor is indifferent to PC cursor movements (this is the default).", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -4633,14 +5404,32 @@ "enumLabels": [ "off", "on" - ], - "default": 1 + ] } }, - "OSM.TrimBrailleGraphicLabels": { + // Can't find information in the help file or default settings. Disabled for now. + // "Options.TreeViewCheckBoxes": { + // "schema": { + // "title": "Tree View Check Boxes", + // "description": "", + // "type": "number", + // "default": 1, + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ] + // } + // }, + "Options.UseVirtualInfoInFormsMode": { "schema": { - "title": "Trim Braille Graphic Labels", - "description": "Whether to trim the size of a braille graphic. Useful to preserve the virtical positioning of braille text.", + "title": "Use Virtual Info in Forms Mode", + "description": "Whether to use information from the virtual HTML area for prompts in Forms mode. Warning: this will not always result in accurate information, particularly on pages where there are errors in the HTML coding which result in forms mode and virtual mode being out of synchronization.", + "type": "number", + "default": 0, "enum": [ 0, 1 @@ -4648,56 +5437,33 @@ "enumLabels": [ "off", "on" - ], - "default": 0 + ] } }, - "OSM.UnderlineProximity": { + // No documentation or onscreen option. Disabled for now. + // "Options.UseWindowsKeyboardHook": { + // "schema": { + // "title": "Use Windows Keyboard Hook", + // "description": "", + // "type": "number", + // "default": 0, + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ] + // } + // }, + "Options.VIRTUALMSAAREFRESH": { "schema": { - "title": "Underline Proximity", - "description": "How far away in pixels can an underline be before being considered an actual underline.", + "title": "Virtual MSAA Refresh", + "description": "How often (in milliseconds) should an embedded ActiveX control cause the Virtual HTML area to be updated when receiving rapid ValueChange events from MSAA. Set to -1 to disable refreshes.", "type": "integer", - "default": 0 - } - }, - // TODO: Document default. - "Touch.FlickVelocityMin": { - "schema": { - "title": "Flick Velocity", - "description": "The minimum finger velocity to treat as a \"flick\".", - "type": "integer" - } - }, - // TODO: Document default. - "Touch.TapEventDurationMax": { - "schema": { - "title": "Explore Delay", - "description": "The delay between touching a touch screen and displaying the explore menu, in milliseconds.", - "type": "integer" - } - }, - // TODO: Document default. - "Touch.TapInterEventDurationMax": { - "schema": { - "title": "Double Tap Speed", - "description": "The threshold for treating two taps as a double-tap, expressed in milliseconds between taps.", - "type": "integer" - } - }, - // TODO: Document default. - "Touch.TapTranslationMax": { - "schema": { - "title": "Tap Radius", - "description": "The size of the finger contact spot on the touch screen.", - "type": "integer" - } - }, - "Voice Profiles.ActiveVoiceProfileName": { - "schema": { - "title": "Active Voice Profile Name", - "description": "The active voice profile.", - "type": "string", - "default": "Eloquence" + "default": 0, + "minimum": -1 } } }, From 032e6cfd8e2bcf3eb6d660e3cf7003b10bb56185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Tue, 4 Feb 2020 17:46:16 +0100 Subject: [PATCH 09/27] GPII-4226: Changed preference sets comment format --- testData/preferences/james.json5 | 6 ++---- testData/preferences/javier.json5 | 7 +++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/testData/preferences/james.json5 b/testData/preferences/james.json5 index 08c2067d7..177be1865 100644 --- a/testData/preferences/james.json5 +++ b/testData/preferences/james.json5 @@ -1,8 +1,6 @@ /* - - A fixture to test many JAWS settings at once by setting them to something other than the default. - -*/ + * A fixture to test many JAWS settings at once by setting them to something other than the default. + */ { "flat": { "name": "James", diff --git a/testData/preferences/javier.json5 b/testData/preferences/javier.json5 index 2b53c96c8..53f83d09f 100644 --- a/testData/preferences/javier.json5 +++ b/testData/preferences/javier.json5 @@ -1,8 +1,6 @@ /* - - A fixture to test many JAWS settings at once by setting them to something other than the default. - -*/ + * A fixture to test many JAWS settings at once by setting them to something other than the default. + */ { "flat": { "name": "Javier", @@ -12,6 +10,7 @@ "preferences": { "http://registry.gpii.net/applications/com.freedomscientific.jaws": { "Options.PrimaryLanguage": "ESN", + "ESM-Message.Rate": 90, "ESM-Message.Punctuation": 1, "ESM-PCCursor.Rate": 90, From bfb4c32a6c3446415980c006eb1fe88f530ca438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Tue, 4 Feb 2020 21:08:08 +0100 Subject: [PATCH 10/27] GPII-4226: Disabled incomplete transforms and changed life-cycle handler implementation --- testData/solutions/win32.json5 | 107 +++++++++++++++++++++++---------- 1 file changed, 76 insertions(+), 31 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 04a455687..6c88666c9 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -14496,12 +14496,27 @@ } }, "capabilitiesTransformations": { + "Options\\.confirmWhenExitingJAWS": { + "literalValue": 0 + }, + + // TODO-NOTE: This transforms should be dependent in the current "Options.PrimaryLanguage" + // setting, and change just the target ones. + + // ---------------------------- speechRate -------------------------------- + + /* "ENU-Global\\.Rate": "http://registry\\.gpii\\.net/common/speechRate", "ENU-JAWSCursor\\.Rate": "http://registry\\.gpii\\.net/common/speechRate", "ENU-Keyboard\\.Rate": "http://registry\\.gpii\\.net/common/speechRate", "ENU-MenuAndDialog\\.Rate": "http://registry\\.gpii\\.net/common/speechRate", "ENU-Message\\.Rate": "http://registry\\.gpii\\.net/common/speechRate", "ENU-PCCursor\\.Rate": "http://registry\\.gpii\\.net/common/speechRate", + */ + + // ------------------------------- Pitch -------------------------------- + + /* "ENU-Global\\.Pitch": { "transform": { "type": "fluid.transforms.round", @@ -14580,6 +14595,11 @@ } } }, + */ + + // ------------------------------- Volume -------------------------------- + + /* "ENU-Global\\.Volume": { "transform": { "type": "fluid.transforms.linearScale", @@ -14622,6 +14642,11 @@ "factor": 100 } }, + */ + + // ---------------------------- Punctuation -------------------------------- + + /* "ENU-Global\\.Punctuation": { "transform": { "type": "fluid.transforms.valueMapper", @@ -14694,6 +14719,11 @@ } } }, + */ + + // -------------------------- SynthLangString -------------------------------- + + /* // TODO: This should be shared between all variations within this solution "ENU-Global\\.SynthLangString": { "transform": { @@ -14808,9 +14838,18 @@ } } } + */ }, "inverseCapabilitiesTransformations": { + // ---------------------------- speechRate -------------------------------- + + /* "http://registry\\.gpii\\.net/common/speechRate": "ENU-Global\\.Rate", + */ + + // ------------------------------- Pitch -------------------------------- + + /* "http://registry\\.gpii\\.net/common/pitch": { "transform": { "type": "fluid.transforms.round", @@ -14825,6 +14864,11 @@ } } }, + */ + + // ------------------------------- Volume -------------------------------- + + /* "http://registry\\.gpii\\.net/common/volumeTTS": { "transform": { "type": "fluid.transforms.linearScale", @@ -14832,6 +14876,11 @@ "factor": 0.01 } }, + */ + + // ---------------------------- Punctuation -------------------------------- + + /* "http://registry\\.gpii\\.net/common/punctuationVerbosity": { "transform": { "type": "fluid.transforms.valueMapper", @@ -14856,6 +14905,11 @@ ] } }, + */ + + // -------------------------- SynthLangString -------------------------------- + + /* // TODO: Review the "common" language settings WRT various solution language settings. "http://registry\\.gpii\\.net/common/auditoryOutLanguage": { "transform": { @@ -14875,6 +14929,7 @@ } } } + */ } }, "configuration3": { @@ -14957,37 +15012,27 @@ "launcher": { "type": "gpii.launchHandlers.flexibleHandler", "options": { - "getState": [ - { - "type": "gpii.processReporter.find", - "command": "jfw.exe" - } - ], - "setTrue": [ - { - "type": "gpii.launch.exec", - "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe\\}\"" - } - ], - "setFalse": [ - { - "type": "gpii.windows.closeProcessByName", - "filename": "jfw.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "fsSynth32.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "jhookldr.exe" - }, - // New for JAWS 2018 and higher. - { - "type": "gpii.windows.closeProcessByName", - "filename": "ScannerHandler.exe" - } - ] + "getState": [ + { + "type": "gpii.processReporter.find", + "command": "jfw.exe" + } + ], + "setTrue": [ + { + "type": "gpii.launch.exec", + "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe\\}\"" + } + ], + "setFalse": [ + { + "type": "gpii.windows.closeProcessByName", + "filename": "jfw.exe", + "options": { + "closeWindow": true + } + } + ] } } }, From f09a797be3aae7e4b4d16c4708c91d17de5d7b37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Tue, 4 Feb 2020 21:09:33 +0100 Subject: [PATCH 11/27] GPII-4226: Removed trailing comma fixing linter issue --- testData/solutions/win32.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 6c88666c9..e894ebf9b 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -14498,7 +14498,7 @@ "capabilitiesTransformations": { "Options\\.confirmWhenExitingJAWS": { "literalValue": 0 - }, + } // TODO-NOTE: This transforms should be dependent in the current "Options.PrimaryLanguage" // setting, and change just the target ones. From b86c066b0947dba709bbf7451a3d05c93978edbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Tue, 4 Feb 2020 21:29:05 +0100 Subject: [PATCH 12/27] GPII-4226: Changed the transformation to the correct capabilitiesTransformation block --- testData/solutions/win32.json5 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index e894ebf9b..32a213ae4 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -5468,6 +5468,9 @@ } }, "capabilitiesTransformations": { + "Options\\.confirmWhenExitingJAWS": { + "literalValue": 0 + }, "Options\\.SayAllIndicateCaps": { "transform": { "type": "valueMapper", @@ -14496,10 +14499,6 @@ } }, "capabilitiesTransformations": { - "Options\\.confirmWhenExitingJAWS": { - "literalValue": 0 - } - // TODO-NOTE: This transforms should be dependent in the current "Options.PrimaryLanguage" // setting, and change just the target ones. From f1709177fa08f7b8c233640978ed813a2c220bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Tue, 4 Feb 2020 21:44:20 +0100 Subject: [PATCH 13/27] GPII-4226: Uncommented invalid entry from 'jaws.json' preference set --- testData/preferences/jaws.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testData/preferences/jaws.json5 b/testData/preferences/jaws.json5 index 2a7f21ebc..3b38627fd 100644 --- a/testData/preferences/jaws.json5 +++ b/testData/preferences/jaws.json5 @@ -145,7 +145,7 @@ "Touch.TapTranslationMax": 99 } }, - // "http://registry.gpii.net/applications/com.freedomscientific.jaws/enabled": true + "http://registry.gpii.net/applications/com.freedomscientific.jaws/enabled": true } } } From cb5254f5292f3f62ba31aef2ab2585e9c1ace6ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sat, 25 Jan 2020 17:40:52 +0100 Subject: [PATCH 14/27] GPII-4226: Solved validation issues in JAWS SR entry --- .../src/schemas/solution-schema.json5 | 9 +- testData/solutions/win32.json5 | 3033 +++++++++++++---- 2 files changed, 2417 insertions(+), 625 deletions(-) diff --git a/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 b/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 index 720d4f986..4457b3459 100644 --- a/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 +++ b/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 @@ -49,7 +49,14 @@ "type": "object", "additionalProperties": { "type": "object", - "additionalProperties": false, + "additionalProperties": { + "properties": { + "label": { + "type": "string", + "required": false + } + } + }, "properties": { "schema": { "$ref": "gss-v7-full#", "required": true } } diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 32a213ae4..fc894dd79 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -9,8 +9,8 @@ ] }, "capabilities": [ - "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled", - "http://registry\\.gpii\\.net/applications/com.\\.freedomscientific\\.jaws" + "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled" + // "http://registry\\.gpii\\.net/applications/com\\.freedomscientific\\.jaws" ], "settingsHandlers": { "configuration1": { @@ -1674,7 +1674,7 @@ "Speak Grammar /Proofing Error Count", "Speak Spelling Error Count and Speak Grammar /Proofing Error Count" ], - "default": 2 + "default": 0 } }, "RichEdit and Edit Control Options.SelectionContextFlags": { @@ -1691,7 +1691,7 @@ "Say Misspelled", "Grammar and Advanced Proofing" ], - "default": 2 + "default": 0 } }, @@ -2098,6 +2098,30 @@ "Web RentACrowd", "Word Classic" ], + "enumLabels": [ + "Attributes and Colors", + "Classic", + "Classic (Attributes and Font info)", + "Classic (Attributes)", + "Classic (Attributes, Font and Color)", + "Classic With Quotes", + "Colors", + "Indent (tab is 0.125 inches Script Manager)", + "Indent (Tab is Eight Spaces)", + "Indent (Tab is Four Spaces)", + "Indent (Tab is Two Spaces)", + "Kindle", + "ProofReading (Attributes and Font Info)", + "ProofReading (Attributes)", + "ProofReading (Attributes, Font Info and color)", + "SayAll Text Only", + "SayAll Text With Sounds", + "Wsual Studio .Net", + "Visual Studio .Net (Colors)", + "Wsual Studio .Net (Indent)", + "Web RentACrowd", + "Word Classic" + ], "default": "Classic" } }, @@ -2711,6 +2735,12 @@ 1500, 2000 ], + "enumLabels": [ + "500", + "1000", + "1500", + "2000" + ], "default": 1000 } }, @@ -3169,7 +3199,7 @@ "title": "Structure Mode Inclusion Flags", "description": "Store in a bitmask the elements to be included in 'Braille Structure Mode'.", "type": "integer", - "default": "8191" + "default": 8191 }, "label": "bitmask" }, @@ -4637,22 +4667,6 @@ "title": "Visual Tracking Color", "description": "The colour to use when highlighting items selected using the touch cursor.", "enum": [ - "Light Blue", - "Deep Sky Blue", - "Blue", - "Dark Blue", - "Purple", - "Fuchsia", - "Red", - "Orange", - "Yellow", - "Lime Green", - "Green", - "Olive Drab", - "Saddle Brown", - "Burly Wood" - ], - "enumLabels": [ 11393254, 49151, 255, @@ -4668,6 +4682,22 @@ 9127187, 14596231 ], + "enumLabels": [ + "Light Blue", + "Deep Sky Blue", + "Blue", + "Dark Blue", + "Purple", + "Fuchsia", + "Red", + "Orange", + "Yellow", + "Lime Green", + "Green", + "Olive Drab", + "Saddle Brown", + "Burly Wood" + ], "default": 1293915 } }, @@ -5685,6 +5715,12 @@ "SAPI 5X", "SAPI 5X 64" ], + "enumLabels": [ + "eloq", + "MSMobile", + "SAPI 5X", + "SAPI 5X 64" + ], "default": "eloq" } }, @@ -5704,6 +5740,18 @@ "ITA", "PTB" ], + "enumLabels": [ + "DEU", + "ENG", + "ENU", + "ESM", + "ESN", + "FIN", + "FRA", + "FRC", + "ITA", + "PTB" + ], "default": "ENU" } }, @@ -5773,17 +5821,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "DEU-Global.UppercasePitchDelta": { @@ -5827,6 +5888,23 @@ // If synth is SAPI 5X 64 "Microsoft Hedda Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], "default": "Reed" } }, @@ -5885,17 +5963,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "ENU-Global.UppercasePitchDelta": { @@ -5940,6 +6031,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -5998,17 +6107,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "ENG-Global.UppercasePitchDelta": { @@ -6053,6 +6175,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -6111,17 +6251,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "ESM-Global.UppercasePitchDelta": { @@ -6172,7 +6325,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -6232,17 +6411,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "ESN-Global.UppercasePitchDelta": { @@ -6293,7 +6485,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // "Microsoft Helena Desktop" ], "default": "Reed" } @@ -6353,17 +6571,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "FIN-Global.UppercasePitchDelta": { @@ -6401,6 +6632,17 @@ "Grandma", "Grandpa" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa" + ], "default": "Reed" } }, @@ -6459,17 +6701,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "FRA-Global.UppercasePitchDelta": { @@ -6513,18 +6768,35 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], - "default": "Reed" - } - }, - - // -------- French (Canada) - GLOBAL ---------- - - "FRC-Global.Parent": { - "schema": { - // NOTE: This setting should remain private and not be exposed - "title": "Parent config", - "description": "The parent config from which to inherit.", - "type": "string", + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], + "default": "Reed" + } + }, + + // -------- French (Canada) - GLOBAL ---------- + + "FRC-Global.Parent": { + "schema": { + // NOTE: This setting should remain private and not be exposed + "title": "Parent config", + "description": "The parent config from which to inherit.", + "type": "string", "default": "None" } }, @@ -6571,17 +6843,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "FRC-Global.UppercasePitchDelta": { @@ -6625,6 +6910,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -6671,16 +6973,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -6725,6 +7039,22 @@ // If synth is SAPI "Microsoft Elsa Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Cosmino", + "Microsoft Elsa", + // If synth is SAPI + "Microsoft Elsa Desktop" + ], "default": "Reed" } }, @@ -6783,17 +7113,30 @@ "title": "Synth Language", "description": "The language to use for all announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada - ] + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", + ], + "default": "0x409" } }, "PTB-Global.UppercasePitchDelta": { @@ -6836,6 +7179,22 @@ // If synth is SAPI 5X 64 "Microsoft Maria Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], "default": "Reed" } }, @@ -6884,16 +7243,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -6939,6 +7310,23 @@ // If synth is SAPI 5X 64 "Microsoft Hedda Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], "default": "Reed" } }, @@ -6985,16 +7373,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7041,6 +7441,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -7087,16 +7505,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7143,6 +7573,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -7189,16 +7637,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7251,7 +7711,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -7299,16 +7785,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7361,7 +7859,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -7409,16 +7933,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7458,6 +7994,17 @@ "Grandma", "Grandpa" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa" + ], "default": "Reed" } }, @@ -7504,16 +8051,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7559,6 +8118,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -7605,16 +8181,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7660,6 +8248,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -7706,16 +8311,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7760,6 +8377,22 @@ // If synth is SAPI "Microsoft Elsa Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Cosmino", + "Microsoft Elsa", + // If synth is SAPI + "Microsoft Elsa Desktop" + ], "default": "Reed" } }, @@ -7806,16 +8439,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7860,6 +8505,22 @@ // If synth is SAPI 5X 64 "Microsoft Maria Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], "default": "Reed" } }, @@ -7908,16 +8569,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -7963,6 +8636,23 @@ // If synth is SAPI 5X 64 "Microsoft Hedda Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], "default": "Reed" } }, @@ -8009,16 +8699,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8065,6 +8767,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -8111,16 +8831,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8167,6 +8899,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -8213,16 +8963,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8275,7 +9037,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + //- "Microsoft Helena Desktop" ], "default": "Reed" } @@ -8323,16 +9111,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8385,7 +9185,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -8433,16 +9259,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8482,6 +9320,17 @@ "Grandma", "Grandpa" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa" + ], "default": "Reed" } }, @@ -8528,16 +9377,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8583,6 +9444,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -8629,16 +9507,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8684,6 +9574,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -8730,16 +9637,28 @@ "title": "JAWS Cursor Language", "description": "The language to use for announcements related to the JAWS cursor.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8784,6 +9703,22 @@ // If synth is SAPI "Microsoft Elsa Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Cosmino", + "Microsoft Elsa", + // If synth is SAPI + "Microsoft Elsa Desktop" + ], "default": "Reed" } }, @@ -8830,16 +9765,28 @@ "title": "Keyboard language", "description": "The language to use for announcements related to the keyboard.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8884,6 +9831,22 @@ // If synth is SAPI 5X 64 "Microsoft Maria Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], "default": "Reed" } }, @@ -8934,16 +9897,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -8989,6 +9964,23 @@ // If synth is SAPI 5X 64 "Microsoft Hedda Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], "default": "Reed" } }, @@ -9035,16 +10027,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9091,6 +10095,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -9137,16 +10159,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9193,6 +10227,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -9239,16 +10291,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9301,7 +10365,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -9349,16 +10439,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9411,7 +10513,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -9459,16 +10587,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9508,6 +10648,17 @@ "Grandma", "Grandpa" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa" + ], "default": "Reed" } }, @@ -9554,16 +10705,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9609,6 +10772,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -9655,16 +10835,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9710,6 +10902,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -9756,16 +10965,28 @@ "title": "MenuAndDialog language", "description": "The language to use for announcements related to the MenuAndDialog.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9810,6 +11031,22 @@ // If synth is SAPI 5X 64 "Microsoft Maria Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], "default": "Reed" } }, @@ -9860,16 +11097,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -9915,6 +11164,23 @@ // If synth is SAPI 5X 64 "Microsoft Hedda Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], "default": "Reed" } }, @@ -9961,16 +11227,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10017,6 +11295,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -10063,16 +11359,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10119,6 +11427,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -10165,16 +11491,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10227,7 +11565,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -10275,16 +11639,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10337,7 +11713,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -10385,16 +11787,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10434,6 +11848,17 @@ "Grandma", "Grandpa" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa" + ], "default": "Reed" } }, @@ -10480,16 +11905,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10535,6 +11972,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -10581,16 +12035,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10636,6 +12102,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -10682,16 +12165,28 @@ "title": "Message language", "description": "The language to use for message announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10736,6 +12231,22 @@ // If synth is SAPI 5X 64 "Microsoft Maria Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], "default": "Reed" } }, @@ -10786,16 +12297,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10841,6 +12364,23 @@ // If synth is SAPI 5X 64 "Microsoft Hedda Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hedda", + "Microsoft Katja", + "Microsoft Stefan", + // If synth is SAPI 5X 64 + "Microsoft Hedda Desktop" + ], "default": "Reed" } }, @@ -10887,16 +12427,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -10943,6 +12495,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -10989,16 +12559,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11045,6 +12627,24 @@ "Microsoft David Desktop", "Microsoft Zira Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // If synth is SAPI 5X 64 + "Microsoft David Desktop", + "Microsoft Zira Desktop" + ], "default": "Reed" } }, @@ -11091,16 +12691,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11153,7 +12765,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -11201,16 +12839,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11263,7 +12913,33 @@ // Mexican "Microsoft Sabina Desktop", // If synth is SAPI 5X 64 - "Microsoft Helena Desktop" + // - "Microsoft Helena Desktop" + ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + // Spain + "Microsoft David", + "Microsoft Mark", + "Microsoft Zira", + // Mexican + "Microsoft Raul", + "Microsoft Sabina", + // If synth is SAPI 5X + // Spain + "Microsoft Helena Desktop", + // Mexican + "Microsoft Sabina Desktop", + // If synth is SAPI 5X 64 + // - "Microsoft Helena Desktop" ], "default": "Reed" } @@ -11311,16 +12987,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11360,6 +13048,17 @@ "Grandma", "Grandpa" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa" + ], "default": "Reed" } }, @@ -11406,16 +13105,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11461,6 +13172,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -11507,16 +13235,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11562,6 +13302,23 @@ // If synth is SAPI 5X 64 "Microsoft Hortense Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Hortense", + "Microsoft Julie", + "Microsoft Paul", + // If synth is SAPI 5X 64 + "Microsoft Hortense Desktop" + ], "default": "Reed" } }, @@ -11608,16 +13365,28 @@ "title": "PCCursor language", "description": "The language to use for PCCursor announcements.", "enum": [ - "0x409", // English - US - "0x407", // German - "0x40b", // Finish - "0x40c", // French - France - "0x410", // Italian - "0x416", // Portuguese - Brazil - "0x809", // English - United Kingdom - "0x80a", // Spanish - Mexico - "0xc0a", // Spanish - Spain - "0xc0c" // French - Canada + "0x409", + "0x407", + "0x40b", + "0x40c", + "0x410", + "0x416", + "0x809", + "0x80a", + "0xc0a", + "0xc0c" + ], + "enumLabels": [ + "English - US", + "German", + "Finish", + "French - France", + "Italian", + "Portuguese - Brazil", + "English - United Kingdom", + "Spanish - Mexico", + "Spanish - Spain", + "French - Canada", ], "default": "0x409" } @@ -11662,6 +13431,22 @@ // If synth is SAPI 5X 64 "Microsoft Maria Desktop" ], + "enumLabels": [ + // If synth is eloq + "Reed", + "Shelly", + "Bobby", + "Rocko", + "Glen", + "Sandy", + "Grandma", + "Grandpa", + // If synth is mmobile + "Microsoft Daniel", + "Microsoft Maria", + // If synth is SAPI 5X 64 + "Microsoft Maria Desktop" + ], "default": "Reed" } }, From 2868949b4b2de2e0804e8d9fff32d2fad829a72c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Thu, 6 Feb 2020 10:00:19 +0100 Subject: [PATCH 15/27] GPII-4226: Fixed invalid settings in JAWS preference set --- testData/preferences/jaws.json5 | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/testData/preferences/jaws.json5 b/testData/preferences/jaws.json5 index 3b38627fd..6ef2ec015 100644 --- a/testData/preferences/jaws.json5 +++ b/testData/preferences/jaws.json5 @@ -12,7 +12,7 @@ "preferences": { "http://registry.gpii.net/applications/com.freedomscientific.jaws": { "Braille.AttributeRotationDelay": 500, - "Braille.AutoPanMode": 6, + "Braille.AutoPanMode": 2, "Braille.BrailleMessages": 0, "Braille.BrailleMode": 2, "Braille.BrailleSleepMode": 1, @@ -96,8 +96,7 @@ "Options.SaySelectedFirst": 1, "Options.SayStateFirst": 1, "Options.SayWindowTypeFirst": 1, - // TODO: Fix this - "Options.Scheme": "no idea", + "Options.Scheme": "Classic", "Options.ScreenEcho": 2, "Options.SimultaneousSynthAndWave": 1, "Options.SingleDigitThreshold": 7, @@ -123,8 +122,8 @@ "Options.UseExtendedKeys": 1, "Options.UseVirtualInfoInFormsMode": 1, "Options.Verbosity": 2, - "Options.VTcolor": 9999, - "Options.VTspacing": 15, + "Options.VTcolor": 11393254, + "Options.VTspacing": 8, "Options.VTstyle": 2, "Options.VTthickness": 10, "Options.VTtransparency": 50, @@ -140,9 +139,9 @@ "OSM.UnderlineProximity": 5, "Touch.FlickVelocityMin": 99, - "Touch.TapEventDurationMax": 99, - "Touch.TapInterEventDurationMax": 99, - "Touch.TapTranslationMax": 99 + "Touch.TapEventDurationMax": 170, + "Touch.TapInterEventDurationMax": 300, + "Touch.TapTranslationMax": 50 } }, "http://registry.gpii.net/applications/com.freedomscientific.jaws/enabled": true From 952e5eab2bfbcf6e33529202e26f3f134740a027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Thu, 6 Feb 2020 10:19:23 +0100 Subject: [PATCH 16/27] GPII-4226: Solved linter issues --- testData/solutions/win32.json5 | 162 ++++++++++++++++----------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index fc894dd79..e23fa3dab 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -5842,7 +5842,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -5984,7 +5984,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6128,7 +6128,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6272,7 +6272,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6323,7 +6323,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -6349,7 +6349,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -6432,7 +6432,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6483,7 +6483,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // "Microsoft Helena Desktop" ], @@ -6509,7 +6509,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // "Microsoft Helena Desktop" ], @@ -6592,7 +6592,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6722,7 +6722,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6864,7 +6864,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -6994,7 +6994,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7134,7 +7134,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7264,7 +7264,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7394,7 +7394,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7526,7 +7526,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7658,7 +7658,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7709,7 +7709,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -7735,7 +7735,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -7806,7 +7806,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -7857,7 +7857,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -7883,7 +7883,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -7954,7 +7954,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8072,7 +8072,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8202,7 +8202,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8332,7 +8332,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8460,7 +8460,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8590,7 +8590,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8720,7 +8720,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8852,7 +8852,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -8984,7 +8984,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9035,7 +9035,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -9061,7 +9061,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 //- "Microsoft Helena Desktop" ], @@ -9132,7 +9132,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9183,7 +9183,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -9209,7 +9209,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -9280,7 +9280,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9398,7 +9398,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9528,7 +9528,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9658,7 +9658,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9786,7 +9786,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -9918,7 +9918,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10048,7 +10048,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10180,7 +10180,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10312,7 +10312,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10363,7 +10363,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -10389,7 +10389,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -10460,7 +10460,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10511,7 +10511,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -10537,7 +10537,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -10608,7 +10608,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10726,7 +10726,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10856,7 +10856,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -10986,7 +10986,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11118,7 +11118,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11248,7 +11248,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11380,7 +11380,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11512,7 +11512,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11563,7 +11563,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -11589,7 +11589,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -11660,7 +11660,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11711,7 +11711,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -11737,7 +11737,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -11808,7 +11808,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -11926,7 +11926,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12056,7 +12056,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12186,7 +12186,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12318,7 +12318,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12448,7 +12448,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12580,7 +12580,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12712,7 +12712,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12763,7 +12763,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -12789,7 +12789,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -12860,7 +12860,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -12911,7 +12911,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -12937,7 +12937,7 @@ // Spain "Microsoft Helena Desktop", // Mexican - "Microsoft Sabina Desktop", + "Microsoft Sabina Desktop" // If synth is SAPI 5X 64 // - "Microsoft Helena Desktop" ], @@ -13008,7 +13008,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -13126,7 +13126,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -13256,7 +13256,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } @@ -13386,7 +13386,7 @@ "English - United Kingdom", "Spanish - Mexico", "Spanish - Spain", - "French - Canada", + "French - Canada" ], "default": "0x409" } From 2f91584f8bc1150fabe879b267794bc952379a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Fri, 7 Feb 2020 01:13:22 +0100 Subject: [PATCH 17/27] GPII-4226: Updated JAWS related tests and commented transforms until GPII-4336 is addressed --- .../test/ValidationMiddlewareTests.js | 2 +- gpii/node_modules/testing/src/Mocks.js | 7 ++ tests/CloseConflictingAppsTests.js | 113 +++++++++--------- 3 files changed, 67 insertions(+), 55 deletions(-) diff --git a/gpii/node_modules/solutionsRegistry/test/ValidationMiddlewareTests.js b/gpii/node_modules/solutionsRegistry/test/ValidationMiddlewareTests.js index d80f184b4..a68a1aeee 100644 --- a/gpii/node_modules/solutionsRegistry/test/ValidationMiddlewareTests.js +++ b/gpii/node_modules/solutionsRegistry/test/ValidationMiddlewareTests.js @@ -56,7 +56,7 @@ fluid.defaults("gpii.tests.universal.solutionsRegistry.kettle.caseHolder", { "name": "Default preferences", "preferences": { "http://registry.gpii.net/applications/com.freedomscientific.jaws": { - "Braille.AttributeRotationDelay": 450 + "Braille.AttributeRotationDelay": 500 } } } diff --git a/gpii/node_modules/testing/src/Mocks.js b/gpii/node_modules/testing/src/Mocks.js index 8e017c7e9..106ed5d4a 100644 --- a/gpii/node_modules/testing/src/Mocks.js +++ b/gpii/node_modules/testing/src/Mocks.js @@ -328,6 +328,10 @@ gpii.test.integration.registrySettingsHandlerKey = function (options) { return options.hKey + "|" + options.path; }; +gpii.test.integration.JAWSSettingsHandlerKey = function (options) { + return options.filename + "|" + options.foldername; +}; + gpii.test.integration.flexibleHandlerKey = function (options, solutionId) { return solutionId + ".flexibleHandler"; }; @@ -398,6 +402,9 @@ fluid.defaults("gpii.test.integration.mockSettingsHandlerRegistry.universal", { "gpii.settingsHandlers.INISettingsHandler": { optionsPathKey: "filename" }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + optionsPathKey: gpii.test.integration.JAWSSettingsHandlerKey + }, "gpii.settingsHandlers.XMLHandler": { optionsPathKey: "filename" }, diff --git a/tests/CloseConflictingAppsTests.js b/tests/CloseConflictingAppsTests.js index 89e05abe4..797a9ed9d 100644 --- a/tests/CloseConflictingAppsTests.js +++ b/tests/CloseConflictingAppsTests.js @@ -42,21 +42,16 @@ gpii.tests.conflictingApps.jawsHandlerEntry = function (running) { "setTrue": [ { "type": "gpii.launch.exec", - "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS17.exe\\}\"" + "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe\\}\"" } ], "setFalse": [ { "type": "gpii.windows.closeProcessByName", - "filename": "jfw.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "fsSynth32.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "jhookldr.exe" + "filename": "jfw.exe", + "options": { + "closeWindow": true + } } ] } @@ -112,38 +107,43 @@ gpii.tests.conflictingApps.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Voice Profiles.ActiveVoiceProfileName": "GPII", "Options.SayAllIndicateCaps": 1, "Options.TypingEcho": 2 }, "options": { "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF" } - }, - + } + ] + }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 400, - "ENU-Global.Punctuation": 3, - "ENU-Global.Pitch": 11, - "ENU-Message.Rate": 400, - "ENU-Message.Punctuation": 3, - "ENU-Message.Pitch": 11, - "ENU-Keyboard.Rate": 400, - "ENU-Keyboard.Punctuation": 3, - "ENU-Keyboard.Pitch": 11, - "ENU-PCCursor.Rate": 400, - "ENU-PCCursor.Punctuation": 3, - "ENU-PCCursor.Pitch": 11, - "ENU-JAWSCursor.Rate": 400, - "ENU-JAWSCursor.Punctuation": 3, - "ENU-JAWSCursor.Pitch": 11, - "ENU-MenuAndDialog.Rate": 400, - "ENU-MenuAndDialog.Punctuation": 3, - "ENU-MenuAndDialog.Pitch": 11 + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 400, + // "ENU-Global.Punctuation": 3, + // "ENU-Global.Pitch": 11, + // "ENU-Message.Rate": 400, + // "ENU-Message.Punctuation": 3, + // "ENU-Message.Pitch": 11, + // "ENU-Keyboard.Rate": 400, + // "ENU-Keyboard.Punctuation": 3, + // "ENU-Keyboard.Pitch": 11, + // "ENU-PCCursor.Rate": 400, + // "ENU-PCCursor.Punctuation": 3, + // "ENU-PCCursor.Pitch": 11, + // "ENU-JAWSCursor.Rate": 400, + // "ENU-JAWSCursor.Punctuation": 3, + // "ENU-JAWSCursor.Pitch": 11, + // "ENU-MenuAndDialog.Rate": 400, + // "ENU-MenuAndDialog.Punctuation": 3, + // "ENU-MenuAndDialog.Pitch": 11 }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -166,38 +166,43 @@ gpii.tests.conflictingApps.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Voice Profiles.ActiveVoiceProfileName": "GPII", "Options.SayAllIndicateCaps": 1, "Options.TypingEcho": 2 }, "options": { "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF" } - }, - + } + ] + }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 400, - "ENU-Global.Punctuation": 3, - "ENU-Global.Pitch": 11, - "ENU-Message.Rate": 400, - "ENU-Message.Punctuation": 3, - "ENU-Message.Pitch": 11, - "ENU-Keyboard.Rate": 400, - "ENU-Keyboard.Punctuation": 3, - "ENU-Keyboard.Pitch": 11, - "ENU-PCCursor.Rate": 400, - "ENU-PCCursor.Punctuation": 3, - "ENU-PCCursor.Pitch": 11, - "ENU-JAWSCursor.Rate": 400, - "ENU-JAWSCursor.Punctuation": 3, - "ENU-JAWSCursor.Pitch": 11, - "ENU-MenuAndDialog.Rate": 400, - "ENU-MenuAndDialog.Punctuation": 3, - "ENU-MenuAndDialog.Pitch": 11 + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 400, + // "ENU-Global.Punctuation": 3, + // "ENU-Global.Pitch": 11, + // "ENU-Message.Rate": 400, + // "ENU-Message.Punctuation": 3, + // "ENU-Message.Pitch": 11, + // "ENU-Keyboard.Rate": 400, + // "ENU-Keyboard.Punctuation": 3, + // "ENU-Keyboard.Pitch": 11, + // "ENU-PCCursor.Rate": 400, + // "ENU-PCCursor.Punctuation": 3, + // "ENU-PCCursor.Pitch": 11, + // "ENU-JAWSCursor.Rate": 400, + // "ENU-JAWSCursor.Punctuation": 3, + // "ENU-JAWSCursor.Pitch": 11, + // "ENU-MenuAndDialog.Rate": 400, + // "ENU-MenuAndDialog.Punctuation": 3, + // "ENU-MenuAndDialog.Pitch": 11 }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] From 8dc628e856244b663d577c43a1e3d40926f8fe7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Fri, 7 Feb 2020 01:14:14 +0100 Subject: [PATCH 18/27] GPII-4226: Updated test payload and commented transforms until GPII-4336 is addressed --- .../platform/windows/windows-jaws-testSpec.js | 410 +++++++++--------- 1 file changed, 215 insertions(+), 195 deletions(-) diff --git a/tests/platform/windows/windows-jaws-testSpec.js b/tests/platform/windows/windows-jaws-testSpec.js index 4eda565e2..842c9f20a 100644 --- a/tests/platform/windows/windows-jaws-testSpec.js +++ b/tests/platform/windows/windows-jaws-testSpec.js @@ -50,21 +50,16 @@ gpii.tests.windows.jaws.flexibleHandlerEntry = function (running) { "setTrue": [ { "type": "gpii.launch.exec", - "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS17.exe\\}\"" + "command": "\"${{registry}.HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\JAWS2019.exe\\}\"" } ], "setFalse": [ { "type": "gpii.windows.closeProcessByName", - "filename": "jfw.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "fsSynth32.exe" - }, - { - "type": "gpii.windows.closeProcessByName", - "filename": "jhookldr.exe" + "filename": "jfw.exe", + "options": { + "closeWindow": true + } } ] } @@ -84,7 +79,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Voice Profiles.ActiveVoiceProfileName" : "GPII", "Options.SayAllIndicateCaps" : 0, "Options.TypingEcho": 3, "Options.SayAllMode": 0, @@ -94,43 +88,49 @@ gpii.tests.windows.jaws.testDefs = [ "options": { "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF" } - }, - + } + ] + }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 100, - "ENU-JAWSCursor.Rate": 100, - "ENU-Keyboard.Rate": 100, - "ENU-MenuAndDialog.Rate": 100, - "ENU-Message.Rate": 100, - "ENU-PCCursor.Rate": 100, - "ENU-Global.Pitch": 70, - "ENU-JAWSCursor.Pitch": 70, - "ENU-Keyboard.Pitch": 70, - "ENU-MenuAndDialog.Pitch": 70, - "ENU-Message.Pitch": 70, - "ENU-PCCursor.Pitch": 70, - "ENU-Global.Volume": 100, - "ENU-JAWSCursor.Volume": 100, - "ENU-Keyboard.Volume": 100, - "ENU-MenuAndDialog.Volume": 100, - "ENU-Message.Volume": 100, - "ENU-PCCursor.Volume": 100, - "ENU-Global.Punctuation": 2, - "ENU-JAWSCursor.Punctuation": 2, - "ENU-Keyboard.Punctuation": 2, - "ENU-MenuAndDialog.Punctuation": 2, - "ENU-Message.Punctuation": 2, - "ENU-PCCursor.Punctuation": 2, - "ENU-Global.SynthLangString": "Italian", - "ENU-JAWSCursor.SynthLangString": "Italian", - "ENU-Keyboard.SynthLangString": "Italian", - "ENU-MenuAndDialog.SynthLangString": "Italian", - "ENU-Message.SynthLangString": "Italian", - "ENU-PCCursor.SynthLangString": "Italian" + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 100, + // "ENU-JAWSCursor.Rate": 100, + // "ENU-Keyboard.Rate": 100, + // "ENU-MenuAndDialog.Rate": 100, + // "ENU-Message.Rate": 100, + // "ENU-PCCursor.Rate": 100, + // "ENU-Global.Pitch": 70, + // "ENU-JAWSCursor.Pitch": 70, + // "ENU-Keyboard.Pitch": 70, + // "ENU-MenuAndDialog.Pitch": 70, + // "ENU-Message.Pitch": 70, + // "ENU-PCCursor.Pitch": 70, + // "ENU-Global.Volume": 100, + // "ENU-JAWSCursor.Volume": 100, + // "ENU-Keyboard.Volume": 100, + // "ENU-MenuAndDialog.Volume": 100, + // "ENU-Message.Volume": 100, + // "ENU-PCCursor.Volume": 100, + // "ENU-Global.Punctuation": 2, + // "ENU-JAWSCursor.Punctuation": 2, + // "ENU-Keyboard.Punctuation": 2, + // "ENU-MenuAndDialog.Punctuation": 2, + // "ENU-Message.Punctuation": 2, + // "ENU-PCCursor.Punctuation": 2, + // "ENU-Global.SynthLangString": "Italian", + // "ENU-JAWSCursor.SynthLangString": "Italian", + // "ENU-Keyboard.SynthLangString": "Italian", + // "ENU-MenuAndDialog.SynthLangString": "Italian", + // "ENU-Message.SynthLangString": "Italian", + // "ENU-PCCursor.SynthLangString": "Italian" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -149,7 +149,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Voice Profiles.ActiveVoiceProfileName" : "GPII", "Options.SayAllIndicateCaps" : 0, "Options.TypingEcho": 3, "Options.SayAllMode": 0, @@ -159,43 +158,49 @@ gpii.tests.windows.jaws.testDefs = [ "options": { "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF" } - }, - + } + ] + }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 100, - "ENU-JAWSCursor.Rate": 100, - "ENU-Keyboard.Rate": 100, - "ENU-MenuAndDialog.Rate": 100, - "ENU-Message.Rate": 100, - "ENU-PCCursor.Rate": 100, - "ENU-Global.Pitch": 70, - "ENU-JAWSCursor.Pitch": 70, - "ENU-Keyboard.Pitch": 70, - "ENU-MenuAndDialog.Pitch": 70, - "ENU-Message.Pitch": 70, - "ENU-PCCursor.Pitch": 70, - "ENU-Global.Volume": 100, - "ENU-JAWSCursor.Volume": 100, - "ENU-Keyboard.Volume": 100, - "ENU-MenuAndDialog.Volume": 100, - "ENU-Message.Volume": 100, - "ENU-PCCursor.Volume": 100, - "ENU-Global.Punctuation": 2, - "ENU-JAWSCursor.Punctuation": 2, - "ENU-Keyboard.Punctuation": 2, - "ENU-MenuAndDialog.Punctuation": 2, - "ENU-Message.Punctuation": 2, - "ENU-PCCursor.Punctuation": 2, - "ENU-Global.SynthLangString": "Italian", - "ENU-JAWSCursor.SynthLangString": "Italian", - "ENU-Keyboard.SynthLangString": "Italian", - "ENU-MenuAndDialog.SynthLangString": "Italian", - "ENU-Message.SynthLangString": "Italian", - "ENU-PCCursor.SynthLangString": "Italian" + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 100, + // "ENU-JAWSCursor.Rate": 100, + // "ENU-Keyboard.Rate": 100, + // "ENU-MenuAndDialog.Rate": 100, + // "ENU-Message.Rate": 100, + // "ENU-PCCursor.Rate": 100, + // "ENU-Global.Pitch": 70, + // "ENU-JAWSCursor.Pitch": 70, + // "ENU-Keyboard.Pitch": 70, + // "ENU-MenuAndDialog.Pitch": 70, + // "ENU-Message.Pitch": 70, + // "ENU-PCCursor.Pitch": 70, + // "ENU-Global.Volume": 100, + // "ENU-JAWSCursor.Volume": 100, + // "ENU-Keyboard.Volume": 100, + // "ENU-MenuAndDialog.Volume": 100, + // "ENU-Message.Volume": 100, + // "ENU-PCCursor.Volume": 100, + // "ENU-Global.Punctuation": 2, + // "ENU-JAWSCursor.Punctuation": 2, + // "ENU-Keyboard.Punctuation": 2, + // "ENU-MenuAndDialog.Punctuation": 2, + // "ENU-Message.Punctuation": 2, + // "ENU-PCCursor.Punctuation": 2, + // "ENU-Global.SynthLangString": "Italian", + // "ENU-JAWSCursor.SynthLangString": "Italian", + // "ENU-Keyboard.SynthLangString": "Italian", + // "ENU-MenuAndDialog.SynthLangString": "Italian", + // "ENU-Message.SynthLangString": "Italian", + // "ENU-PCCursor.SynthLangString": "Italian" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -214,45 +219,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 40, - "ENU-Global.Punctuation": 2, - "ENU-Global.Pitch": 70, - "ENU-Global.Volume": 50, - "ENU-Global.SynthLangString": "French", - "ENU-Message.Rate": 40, - "ENU-Message.Punctuation": 2, - "ENU-Message.Pitch": 70, - "ENU-Message.Volume": 50, - "ENU-Message.SynthLangString": "French", - "ENU-Keyboard.Rate": 40, - "ENU-Keyboard.Punctuation": 2, - "ENU-Keyboard.Pitch": 70, - "ENU-Keyboard.Volume": 50, - "ENU-Keyboard.SynthLangString": "French", - "ENU-PCCursor.Rate": 40, - "ENU-PCCursor.Punctuation": 2, - "ENU-PCCursor.Pitch": 70, - "ENU-PCCursor.Volume": 50, - "ENU-PCCursor.SynthLangString": "French", - "ENU-JAWSCursor.Rate": 40, - "ENU-JAWSCursor.Punctuation": 2, - "ENU-JAWSCursor.Pitch": 70, - "ENU-JAWSCursor.Volume": 50, - "ENU-JAWSCursor.SynthLangString": "French", - "ENU-MenuAndDialog.Rate": 40, - "ENU-MenuAndDialog.Punctuation": 2, - "ENU-MenuAndDialog.Pitch": 70, - "ENU-MenuAndDialog.Volume": 50, - "ENU-MenuAndDialog.SynthLangString": "French" - }, - "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" - } - }, - - { - "settings": { - "Voice Profiles.ActiveVoiceProfileName": "GPII", "Braille.BrailleMode": 1, "Options.SayAllMode": 1, "Options.SayAllIndicateCaps": 0, @@ -265,6 +231,50 @@ gpii.tests.windows.jaws.testDefs = [ } ] }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ + { + "settings": { + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 40, + // "ENU-Global.Punctuation": 2, + // "ENU-Global.Pitch": 70, + // "ENU-Global.Volume": 50, + // "ENU-Global.SynthLangString": "French", + // "ENU-Message.Rate": 40, + // "ENU-Message.Punctuation": 2, + // "ENU-Message.Pitch": 70, + // "ENU-Message.Volume": 50, + // "ENU-Message.SynthLangString": "French", + // "ENU-Keyboard.Rate": 40, + // "ENU-Keyboard.Punctuation": 2, + // "ENU-Keyboard.Pitch": 70, + // "ENU-Keyboard.Volume": 50, + // "ENU-Keyboard.SynthLangString": "French", + // "ENU-PCCursor.Rate": 40, + // "ENU-PCCursor.Punctuation": 2, + // "ENU-PCCursor.Pitch": 70, + // "ENU-PCCursor.Volume": 50, + // "ENU-PCCursor.SynthLangString": "French", + // "ENU-JAWSCursor.Rate": 40, + // "ENU-JAWSCursor.Punctuation": 2, + // "ENU-JAWSCursor.Pitch": 70, + // "ENU-JAWSCursor.Volume": 50, + // "ENU-JAWSCursor.SynthLangString": "French", + // "ENU-MenuAndDialog.Rate": 40, + // "ENU-MenuAndDialog.Punctuation": 2, + // "ENU-MenuAndDialog.Pitch": 70, + // "ENU-MenuAndDialog.Volume": 50, + // "ENU-MenuAndDialog.SynthLangString": "French" + }, + "options": { + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + } + } + ] + }, "gpii.launchHandlers.flexibleHandler": gpii.tests.windows.jaws.flexibleHandlerEntry(true) } }, @@ -279,45 +289,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 40, - "ENU-Global.Punctuation": 0, - "ENU-Global.Pitch": 11, - "ENU-Global.Volume": 10, - "ENU-Global.SynthLangString": "Italian", - "ENU-Message.Rate": 40, - "ENU-Message.Punctuation": 0, - "ENU-Message.Pitch": 11, - "ENU-Message.Volume": 10, - "ENU-Message.SynthLangString": "Italian", - "ENU-Keyboard.Rate": 40, - "ENU-Keyboard.Punctuation": 0, - "ENU-Keyboard.Pitch": 11, - "ENU-Keyboard.Volume": 10, - "ENU-Keyboard.SynthLangString": "Italian", - "ENU-PCCursor.Rate": 40, - "ENU-PCCursor.Punctuation": 0, - "ENU-PCCursor.Pitch": 11, - "ENU-PCCursor.Volume": 10, - "ENU-PCCursor.SynthLangString": "Italian", - "ENU-JAWSCursor.Rate": 40, - "ENU-JAWSCursor.Punctuation": 0, - "ENU-JAWSCursor.Pitch": 11, - "ENU-JAWSCursor.Volume": 10, - "ENU-JAWSCursor.SynthLangString": "Italian", - "ENU-MenuAndDialog.Rate": 40, - "ENU-MenuAndDialog.Punctuation": 0, - "ENU-MenuAndDialog.Pitch": 11, - "ENU-MenuAndDialog.Volume": 10, - "ENU-MenuAndDialog.SynthLangString": "Italian" - }, - "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" - } - }, - - { - "settings": { - "Voice Profiles.ActiveVoiceProfileName": "GPII", "Braille.BrailleMode": 0, "Options.SayAllMode": 0, "Options.SayAllIndicateCaps": 0, @@ -329,6 +300,50 @@ gpii.tests.windows.jaws.testDefs = [ } ] }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ + { + "settings": { + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 40, + // "ENU-Global.Punctuation": 0, + // "ENU-Global.Pitch": 11, + // "ENU-Global.Volume": 10, + // "ENU-Global.SynthLangString": "Italian", + // "ENU-Message.Rate": 40, + // "ENU-Message.Punctuation": 0, + // "ENU-Message.Pitch": 11, + // "ENU-Message.Volume": 10, + // "ENU-Message.SynthLangString": "Italian", + // "ENU-Keyboard.Rate": 40, + // "ENU-Keyboard.Punctuation": 0, + // "ENU-Keyboard.Pitch": 11, + // "ENU-Keyboard.Volume": 10, + // "ENU-Keyboard.SynthLangString": "Italian", + // "ENU-PCCursor.Rate": 40, + // "ENU-PCCursor.Punctuation": 0, + // "ENU-PCCursor.Pitch": 11, + // "ENU-PCCursor.Volume": 10, + // "ENU-PCCursor.SynthLangString": "Italian", + // "ENU-JAWSCursor.Rate": 40, + // "ENU-JAWSCursor.Punctuation": 0, + // "ENU-JAWSCursor.Pitch": 11, + // "ENU-JAWSCursor.Volume": 10, + // "ENU-JAWSCursor.SynthLangString": "Italian", + // "ENU-MenuAndDialog.Rate": 40, + // "ENU-MenuAndDialog.Punctuation": 0, + // "ENU-MenuAndDialog.Pitch": 11, + // "ENU-MenuAndDialog.Volume": 10, + // "ENU-MenuAndDialog.SynthLangString": "Italian" + }, + "options": { + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + } + } + ] + }, "gpii.launchHandlers.flexibleHandler": gpii.tests.windows.jaws.flexibleHandlerEntry(true) } }, @@ -343,45 +358,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "ENU-Global.Rate": 100, - "ENU-Global.Punctuation": 2, - "ENU-Global.Pitch": 100, - "ENU-Global.Volume": 100, - "ENU-Global.SynthLangString": "French Canadian", - "ENU-Message.Rate": 100, - "ENU-Message.Punctuation": 2, - "ENU-Message.Pitch": 100, - "ENU-Message.Volume": 100, - "ENU-Message.SynthLangString": "French Canadian", - "ENU-Keyboard.Rate": 100, - "ENU-Keyboard.Punctuation": 2, - "ENU-Keyboard.Pitch": 100, - "ENU-Keyboard.Volume": 100, - "ENU-Keyboard.SynthLangString": "French Canadian", - "ENU-PCCursor.Rate": 100, - "ENU-PCCursor.Punctuation": 2, - "ENU-PCCursor.Pitch": 100, - "ENU-PCCursor.Volume": 100, - "ENU-PCCursor.SynthLangString": "French Canadian", - "ENU-JAWSCursor.Rate": 100, - "ENU-JAWSCursor.Punctuation": 2, - "ENU-JAWSCursor.Pitch": 100, - "ENU-JAWSCursor.Volume": 100, - "ENU-JAWSCursor.SynthLangString": "French Canadian", - "ENU-MenuAndDialog.Rate": 100, - "ENU-MenuAndDialog.Punctuation": 2, - "ENU-MenuAndDialog.Pitch": 100, - "ENU-MenuAndDialog.Volume": 100, - "ENU-MenuAndDialog.SynthLangString": "French Canadian" - }, - "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles\\GPII.VPF" - } - }, - - { - "settings": { - "Voice Profiles.ActiveVoiceProfileName": "GPII", "Braille.BrailleMode": 2, "Options.SayAllMode": 2, "Options.SayAllIndicateCaps": 1, @@ -394,6 +370,50 @@ gpii.tests.windows.jaws.testDefs = [ } ] }, + "gpii.settingsHandlers.JAWSSettingsHandler": { + "com.freedomscientific.jaws": [ + { + "settings": { + // NOTE: Commented until GPII-4336 is addressed + // ============================================ + // "ENU-Global.Rate": 100, + // "ENU-Global.Punctuation": 2, + // "ENU-Global.Pitch": 100, + // "ENU-Global.Volume": 100, + // "ENU-Global.SynthLangString": "French Canadian", + // "ENU-Message.Rate": 100, + // "ENU-Message.Punctuation": 2, + // "ENU-Message.Pitch": 100, + // "ENU-Message.Volume": 100, + // "ENU-Message.SynthLangString": "French Canadian", + // "ENU-Keyboard.Rate": 100, + // "ENU-Keyboard.Punctuation": 2, + // "ENU-Keyboard.Pitch": 100, + // "ENU-Keyboard.Volume": 100, + // "ENU-Keyboard.SynthLangString": "French Canadian", + // "ENU-PCCursor.Rate": 100, + // "ENU-PCCursor.Punctuation": 2, + // "ENU-PCCursor.Pitch": 100, + // "ENU-PCCursor.Volume": 100, + // "ENU-PCCursor.SynthLangString": "French Canadian", + // "ENU-JAWSCursor.Rate": 100, + // "ENU-JAWSCursor.Punctuation": 2, + // "ENU-JAWSCursor.Pitch": 100, + // "ENU-JAWSCursor.Volume": 100, + // "ENU-JAWSCursor.SynthLangString": "French Canadian", + // "ENU-MenuAndDialog.Rate": 100, + // "ENU-MenuAndDialog.Punctuation": 2, + // "ENU-MenuAndDialog.Pitch": 100, + // "ENU-MenuAndDialog.Volume": 100, + // "ENU-MenuAndDialog.SynthLangString": "French Canadian" + }, + "options": { + "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + } + } + ] + }, "gpii.launchHandlers.flexibleHandler": gpii.tests.windows.jaws.flexibleHandlerEntry(true) } } From d1de13a5f3b629cfc9834700dcd9807d3ad6fbff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Fri, 7 Feb 2020 01:14:42 +0100 Subject: [PATCH 19/27] GPII-4226: Fixed typo --- tests/data/preferences/screenreader_common.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/data/preferences/screenreader_common.json5 b/tests/data/preferences/screenreader_common.json5 index 428479450..b60887ff7 100644 --- a/tests/data/preferences/screenreader_common.json5 +++ b/tests/data/preferences/screenreader_common.json5 @@ -12,7 +12,7 @@ "http://registry.gpii.net/common/punctuationVerbosity": "all" , "http://registry.gpii.net/common/screenReaderTTS/enabled": true , "http://registry.gpii.net/common/trackingTTS": ["mouse", "caret"], - "http://registry.gpii.net/common/speechRate": 400 , + "http://registry.gpii.net/common/speechRate": 400, "http://registry.gpii.net/common/auditoryOutLanguage": "en-BS", "http://registry.gpii.net/common/pitch": 0.1, "http://registry.gpii.net/common/volumeTTS": 0.75 From 5895e5505dea121f0f0ca24f3f9367d8e5cfa4d6 Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Wed, 29 Apr 2020 16:47:18 -0700 Subject: [PATCH 20/27] GPII-4226 Removing brailleMode from jaws_common tests still that term is not in flat.json --- tests/platform/windows/windows-jaws-testSpec.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/platform/windows/windows-jaws-testSpec.js b/tests/platform/windows/windows-jaws-testSpec.js index 842c9f20a..5c57593de 100644 --- a/tests/platform/windows/windows-jaws-testSpec.js +++ b/tests/platform/windows/windows-jaws-testSpec.js @@ -219,7 +219,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Braille.BrailleMode": 1, "Options.SayAllMode": 1, "Options.SayAllIndicateCaps": 0, "Options.SayAllIgnoreShiftKeys": 0, @@ -289,7 +288,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Braille.BrailleMode": 0, "Options.SayAllMode": 0, "Options.SayAllIndicateCaps": 0, "Options.SayAllIgnoreShiftKeys": 0 @@ -358,7 +356,6 @@ gpii.tests.windows.jaws.testDefs = [ "com.freedomscientific.jaws": [ { "settings": { - "Braille.BrailleMode": 2, "Options.SayAllMode": 2, "Options.SayAllIndicateCaps": 1, "Options.SayAllIgnoreShiftKeys": 1, From a3d2ccadee9156770bf1683d9347965337722755 Mon Sep 17 00:00:00 2001 From: Tony Atkins Date: Tue, 5 May 2020 14:00:55 +0200 Subject: [PATCH 21/27] GPII-4226: Added validation for low-quality SR settings. --- .../test/SolutionsRegistryFileTests.js | 52 ++++++++++++++----- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/gpii/node_modules/solutionsRegistry/test/SolutionsRegistryFileTests.js b/gpii/node_modules/solutionsRegistry/test/SolutionsRegistryFileTests.js index bdfdcc8cc..8d027e766 100644 --- a/gpii/node_modules/solutionsRegistry/test/SolutionsRegistryFileTests.js +++ b/gpii/node_modules/solutionsRegistry/test/SolutionsRegistryFileTests.js @@ -50,7 +50,7 @@ gpii.tests.universal.solutionsRegistry.srFiles.checkSingleSolution = function (g solutionSchema, "solution file '" + filename + "' -> solution '" + solutionKey + "'" ); - jqUnit.assertTrue("Solution '" + solutionKey + "' in file '" + filename + "' should have a valid schema.", isSolutionValid); + jqUnit.assertTrue("Solution '" + solutionKey + "' in file '" + filename + "' should be valid according to the schema.", isSolutionValid); gpii.tests.universal.solutionsRegistry.srFiles.checkDefaults(globalValidator, filename, solutionKey, solutionDef); gpii.tests.universal.solutionsRegistry.srFiles.checkCapabilities(filename, solutionKey, solutionDef, genericTerms); @@ -83,20 +83,43 @@ gpii.tests.universal.solutionsRegistry.srFiles.checkWindowsSettingsHandlers = fu fluid.each(fluid.get(solutionDef, "settingsHandlers"), function (settingsHandlerDef, settingsHandlerKey) { var settingsHandlerType = fluid.get(settingsHandlerDef, "type"); - if (settingsHandlersDemandingObjects.indexOf(settingsHandlerType) !== -1) { - fluid.each(settingsHandlerDef.supportedSettings, function (settingDef, settingKey) { + fluid.each(settingsHandlerDef.supportedSettings, function (settingDef, settingKey) { + var settingType = fluid.get(settingDef, "schema.type"); + var isEnum = fluid.get(settingDef, "schema.enum") !== undefined; + + if (isEnum && settingType !== undefined) { + fluid.log("WARNING: enum " + filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " should not have a type specified."); + } + + if (settingsHandlersDemandingObjects.indexOf(settingsHandlerType) !== -1) { + var isObject = settingType === "object"; var hasProperties = fluid.get(settingDef, "schema.properties") !== undefined; - if (!hasProperties) { + + if (!isObject || !hasProperties) { objectivelyAwfulSettingsCount++; - fluid.log(filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " should have properties defined."); } - var isObject = fluid.get(settingDef, "schema.type") === "object"; - if (!isObject) { + if (!isObject && !hasProperties) { + fluid.log("WARNING: " + filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " should be an object."); + } + else if (!hasProperties && isObject) { + fluid.log("WARNING: " + filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " should have properties defined."); + } + else if (!isObject && hasProperties) { fluid.log("WARNING: " + filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " does not have the correct 'object' type value."); } - }); - } + } + + if (settingType === "number" || settingType === "integer") { + if (fluid.get(settingDef, "schema.minimum") === undefined) { + fluid.log("WARNING: Numeric setting " + filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " does not specify a minimum value."); + } + + if (fluid.get(settingDef, "schema.maximum") === undefined) { + fluid.log("WARNING: Numeric setting " + filename + " -> " + solutionKey + " -> " + settingsHandlerKey + " -> " + settingKey + " does not specify a maximum value."); + } + } + }); if (settingsHandlersDemandingDataTypes.indexOf(settingsHandlerType) !== -1) { var dataTypeKeys = Object.keys(fluid.get(settingsHandlerDef, "options.dataTypes")); @@ -131,7 +154,7 @@ gpii.tests.universal.solutionsRegistry.srFiles.checkCapabilities = function (fil var termDef = genericTerms[unescapedKey]; if (termDef === undefined) { missingTermsCount++; - fluid.log("The capability '" + capabilityKey + "' specified in solution '" + solutionKey + "' does not exist."); + fluid.log("ERROR: The capability '" + capabilityKey + "' specified in solution '" + solutionKey + "' does not exist."); } }); @@ -202,7 +225,10 @@ gpii.tests.universal.solutionsRegistry.srFiles.checkDefaults = function (globalV // Check the specified default against its schema. This only works for simple settings, and not for // deeply nested objects. var defaultValue = fluid.get(supportedSetting, "schema.default"); - if (defaultValue !== undefined) { + if (defaultValue === undefined) { + fluid.log("WARNING: " + filename + " -> " + solutionKey + " -> " + settingKey + " does not have a default value."); + } + else { // Check the raw value var isValid = gpii.tests.universal.solutionsRegistry.validateSinglePayload( globalValidator, @@ -226,11 +252,11 @@ gpii.tests.universal.solutionsRegistry.srFiles.checkDefaults = function (globalV if (reinvertedDefaultValue !== defaultValue) { // Warn on "softly equal" things like "truthy" and "falsy" values. if (reinvertedDefaultValue != defaultValue) { // eslint-disable-line eqeqeq - fluid.log("ERROR: The capabilities transforms for " + solutionKey + " -> " + settingKey + " may result in data corruption."); + fluid.log("ERROR: The capabilities transforms for " + filename + " -> " + solutionKey + " -> " + settingKey + " may result in data corruption."); fileErrors++; } else { - fluid.log("WARNING: The capabilities transforms for " + solutionKey + " -> " + settingKey + " are only safe for truthy and falsy values."); + fluid.log("WARNING: The capabilities transforms for " + filename + " -> " + solutionKey + " -> " + settingKey + " are only safe for truthy and falsy values."); } } } From 6742e2067e792f28b70f614a08f6e1a90c42761f Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Thu, 7 May 2020 13:23:36 -0700 Subject: [PATCH 22/27] GPII-4226 Commenting out settings missing a minimum or maximum value. Removing types from enum settings --- testData/solutions/win32.json5 | 1054 ++++++++++++++++---------------- 1 file changed, 532 insertions(+), 522 deletions(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 44bc89687..52d75dfc3 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -204,20 +204,20 @@ // ----------------------- User --------------------------- - "Options.ProgressBarUpdateInterval": { - "schema": { - "title": "Progress Bar Update Interval", - "description": "How often to announce progress bar updates, in milliseconds. Set to 0 to disable update announcements, and 1 to announce all.", - "type": "integer", - "default": 5000, - "minimum": 0 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.ProgressBarUpdateInterval": { + // "schema": { + // "title": "Progress Bar Update Interval", + // "description": "How often to announce progress bar updates, in milliseconds. Set to 0 to disable update announcements, and 1 to announce all.", + // "type": "integer", + // "default": 5000, + // "minimum": 0 + // } + // }, "Options.TypingEcho": { "schema": { "title": "Typing echo", "description": "How to announce typed words and/or characters.", - "type": "number", "default": 1, "enum": [ 0, @@ -237,7 +237,6 @@ "schema": { "title": "Screen Echo", "description": "Specifies how much text is read when information on the screen changes.", - "type": "number", "default": 1, "enum": [ 0, @@ -256,7 +255,6 @@ "schema": { "title": "Typing Interrupt", "description": "Whether to stop speaking when the user types.", - "type": "number", "default": 1, "enum": [ 0, @@ -273,7 +271,6 @@ "schema": { "title": "Insert Key Mode", "description": "The operating mode of the insert key.", - "type": "number", "default": 0, "enum": [ 0, @@ -290,7 +287,6 @@ "schema": { "title": "Key Repeat", "description": "Whether or not to allow repeated keys. Repeated keys are allowed by default.", - "type": "number", "default": 1, "enum": [ 0, @@ -670,42 +666,46 @@ "default": 0 } }, - "HTML.DocPresModeMaxLineLength": { - // NOTE: Doesn't appear to have relevant min-max values. - "schema": { - "title": "Maximum Line Lenght", - "description": "Stablish a maximum line length.", - "type": "integer", - "default": 500 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.DocPresModeMaxLineLength": { + // // NOTE: Doesn't appear to have relevant min-max values. + // "schema": { + // "title": "Maximum Line Lenght", + // "description": "Stablish a maximum line length.", + // "type": "integer", + // "default": 500 + // } + // }, // ----------------------------------------------------------- - "HTML.TextBlockLength": { - "schema": { - "title": "Text Block Length", - "description": "The number of consecutive characters that must appear in a web page for JAWS to treat this as a block of text.", - "type": "integer", - "default": 25 - } - }, - "HTML.LinesPerPage": { - "schema": { - "title": "Lines per Page", - "description": "The number of consecutive lines to be considered as a page for JAWS.", - "type": "integer", - "default": 25 - } - }, - "HTML.MaxLineLength": { - "schema": { - "title": "Max Line Length", - "description": "The maximum number of characters which can appear on a line of a paragraph.", - "type": "integer", - "default": 150 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TextBlockLength": { + // "schema": { + // "title": "Text Block Length", + // "description": "The number of consecutive characters that must appear in a web page for JAWS to treat this as a block of text.", + // "type": "integer", + // "default": 25 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.LinesPerPage": { + // "schema": { + // "title": "Lines per Page", + // "description": "The number of consecutive lines to be considered as a page for JAWS.", + // "type": "integer", + // "default": 25 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.MaxLineLength": { + // "schema": { + // "title": "Max Line Length", + // "description": "The maximum number of characters which can appear on a line of a paragraph.", + // "type": "integer", + // "default": 150 + // } + // }, "HTML.ScreenFollowsVCursor": { "schema": { "title": "Screen Follows Virtual Cursor", @@ -801,7 +801,6 @@ "schema": { "title": "Filter Consecutive Duplicate Links", "description": "Whether to skip (not announce) consecutive duplicate links.", - "type": "number", "enum": [ 0, 1 @@ -1060,19 +1059,20 @@ "default": 0 } }, - "HTML.PageRefreshFilter": { - // NOTE-TODO: Even if the setting is an integer the values - // that is possible to set through the interface are three: - // - Refresh As Needed: 0 - // - Refresh Every 60 Seconds: 60000 - // - Suppress All Refreshes: -1 - "schema": { - "title": "Page Refresh Filter", - "description": "How often, in milliseconds, to allow all refreshes. Set to 0 to allow all refreshes without any delay.", - "type": "integer", - "default": 0 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.PageRefreshFilter": { + // // NOTE-TODO: Even if the setting is an integer the values + // // that is possible to set through the interface are three: + // // - Refresh As Needed: 0 + // // - Refresh Every 60 Seconds: 60000 + // // - Suppress All Refreshes: -1 + // "schema": { + // "title": "Page Refresh Filter", + // "description": "How often, in milliseconds, to allow all refreshes. Set to 0 to allow all refreshes without any delay.", + // "type": "integer", + // "default": 0 + // } + // }, "Options.VirtualDocumentLinkActivationMethod": { "schema": { "title": "Link Activation", @@ -1271,7 +1271,6 @@ "schema": { "title": "Repetitions", "description": "Whether or not to count repeated characters.", - "type": "number", "default": 0, "enum": [ 0, @@ -1287,7 +1286,6 @@ "schema": { "title": "Indicate Caps", "description": "When to indicate the presence of capital letters.", - "type": "number", "default": 0, "enum": [ 0, @@ -1359,7 +1357,6 @@ "schema": { "title": "Spell Phonetic Always", "description": "How to announce word spellings.", - "type": "number", "default": 0, "enum": [ 0, @@ -1407,7 +1404,6 @@ "schema": { "title": "Mixed Case processing", "description": "Whether to announce words with embedded capital letters (such as \"MixedCase\") as separate words.", - "type": "number", "default": 1, "enum": [ 0, @@ -1423,7 +1419,6 @@ "schema": { "title": "Dictionary", "description": "Whether words, phrases, abbreviations, or symbols should be processed through a global or application specific dictionary to determine proper pronunciation. This is enabled by default.", - "type": "number", "default": 0, "enum": [ 0, @@ -1439,7 +1434,6 @@ "schema": { "title": "Language Detection", "description": "Whether to enable automatic Language detection.", - "type": "number", "default": 1, "enum": [ 0, @@ -1485,7 +1479,6 @@ "schema": { "title": "Enhanced Edit Support", "description": "Whether to activate or deactivate enhanced edit support.", - "type": "number", "enum": [ 0, 1 @@ -1501,7 +1494,6 @@ "schema": { "title": "Say Selected First", "description": "Whether to announce the selected text first.", - "type": "number", "default": 0, "enum": [ 0, @@ -1517,7 +1509,6 @@ "schema": { "title": "Say Window Type First", "description": "Whether to announce the type of window before announcing the window title/text.", - "type": "number", "default": 0, "enum": [ 0, @@ -1533,7 +1524,6 @@ "schema": { "title": "Say State First", "description": "Whether to announce the window state before title/text.", - "type": "number", "default": 0, "enum": [ 0, @@ -1549,7 +1539,6 @@ "schema": { "title": "Indentation", "description": "Whether or not to announce indentation.", - "type": "number", "default": 0, "enum": [ 0, @@ -1568,7 +1557,6 @@ "schema": { "title": "Say Numeric Dates", "description": "How to announce numeric dates. With no translation, dates are read as numbers. With some translation, dd-mm-yy values are read as text. With extended translation, both dd-mm-yy and dd-mm values are read as text.", - "type": "number", "default": 0, "enum": [ 0, @@ -1586,7 +1574,6 @@ "schema": { "title": "Numbers", "description": "How to announce numbers.", - "type": "number", "default": 0, "enum": [ 0, @@ -1642,7 +1629,6 @@ "schema": { "title": "Say Dollars", "description": "Whether to announce currency symbols.", - "type": "number", "default": 0, "enum": [ 0, @@ -1768,7 +1754,6 @@ "schema": { "title": "Verbosity", "description": "How verbose announcements should be.", - "type": "number", "default": 0, "enum": [ 0, @@ -2098,7 +2083,6 @@ "schema": { "title": "Scheme", "description": "Whether or not to intercept CreateDIBSection Note that this value is only read once per JAWS session at startup thus changing this value while JAWS is running has no effect.", - "type": "string", "enum": [ "Attributes and Colors", "Classic", @@ -2168,7 +2152,6 @@ "schema": { "title": "\"Say All\" Mode", "description": "Sets the amount of text which \"Say All\" sends to the synthesizer as a single unit.", - "type": "number", "default": 0, "enum": [ 0, @@ -2186,7 +2169,6 @@ "schema": { "title": "Line Pauses", "description": "Whether to pause at end of a line.", - "type": "number", "default": 0, "enum": [ 0, @@ -2228,7 +2210,6 @@ "schema": { "title": "Say Blank Line Count", "description": "In \"Say All\" mode, whether to announce the number of blank lines.", - "type": "number", "default": 0, "enum": [ 0, @@ -2245,7 +2226,6 @@ "schema": { "title": "\"Say All\" Announces Capitals", "description": "In \"Say All\" mode, announce an initial capital letter or capitalized word.", - "type": "number", "default": 0, "enum": [ 0, @@ -2261,7 +2241,6 @@ "schema": { "title": "\"Say All\" Ignores Shift Keys", "description": "Allows sticky keys to be used, i.e.: ignores shift keys during SayAll. User can use left/right arrow to do same functions.", - "type": "number", "enum": [ 0, 1 @@ -2385,20 +2364,21 @@ // ---------- Braille General - Language ----------------------- - "Braille.TranslatorMode": { - "schema": { - // NOTE: This setting is a number assigned from a combination of - // the three menus "Language", "Output" and "Input". - // When the Input and Output have another value than - // "Computer Braille", the combination of the three values is - // used to generate an integer that represents the current translation - // mode. - "title": "Language", - "description": "Language to use for the translation.", - "type": "integer", - "default": 19 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.TranslatorMode": { + // "schema": { + // // NOTE: This setting is a number assigned from a combination of + // // the three menus "Language", "Output" and "Input". + // // When the Input and Output have another value than + // // "Computer Braille", the combination of the three values is + // // used to generate an integer that represents the current translation + // // mode. + // "title": "Language", + // "description": "Language to use for the translation.", + // "type": "integer", + // "default": 19 + // } + // }, "Braille.Grade2Translation": { "schema": { "title": "Translate to language", @@ -2659,7 +2639,6 @@ "schema": { "title": "Braille Mode", "description": "Use this option to control the format of the information sent to the braille display. When Line mode is selected, JAWS sends the line of text at the current cursor position to the braille display. When Structured mode is selected, JAWS sends information to the display that is relevant to the current cursor position. The information sent includes things such as control type, dialog name, or number of items in a list. When Speech Output mode is selected, JAWS sends the same text to the display that it sends to the synthesizer.", - "type": "number", "default": 1, "enum": [ 0, @@ -2774,62 +2753,69 @@ // ---- Braille Marking - Dot Pattern Values ----- - "Braille.BrailleHighlightDots": { - "schema": { - "title": "Dot Pattern Values - Highlight", - "description": "Dot pattern to be used for highlighted text.", - "type": "integer", - "default": 125 - } - }, - "Braille.BrailleBoldDots": { - "schema": { - "title": "Dot Pattern Values - Bold", - "description": "Dot pattern to be used for bold text.", - "type": "integer", - "default": 12 - } - }, - "Braille.BrailleExtMarkingDots": { - "schema": { - "title": "Dot Pattern Values - Markings", - "description": "Dot pattern to be used for marked text.", - "type": "integer", - "default": 15 - } - }, - "Braille.BrailleItalicDots": { - "schema": { - "title": "Dot Pattern Values - Italic", - "description": "Dot pattern to be used for italic text.", - "type": "integer", - "default": 24 - } - }, - "Braille.BrailleNormalTextDots": { - "schema": { - "title": "Dot Pattern Values - Normal Text", - "description": "Dot pattern to be used for normal text.", - "type": "integer", - "default": 1345 - } - }, - "Braille.BrailleStrikeoutDots": { - "schema": { - "title": "Dot Pattern Values - Strikeout", - "description": "Dot pattern to be used for strikeout text.", - "type": "integer", - "default": 234 - } - }, - "Braille.BrailleUnderlineDots": { - "schema": { - "title": "Dot Pattern Values - Underline", - "description": "Dot pattern to be used for underline text.", - "type": "integer", - "default": 136 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleHighlightDots": { + // "schema": { + // "title": "Dot Pattern Values - Highlight", + // "description": "Dot pattern to be used for highlighted text.", + // "type": "integer", + // "default": 125 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleBoldDots": { + // "schema": { + // "title": "Dot Pattern Values - Bold", + // "description": "Dot pattern to be used for bold text.", + // "type": "integer", + // "default": 12 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleExtMarkingDots": { + // "schema": { + // "title": "Dot Pattern Values - Markings", + // "description": "Dot pattern to be used for marked text.", + // "type": "integer", + // "default": 15 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleItalicDots": { + // "schema": { + // "title": "Dot Pattern Values - Italic", + // "description": "Dot pattern to be used for italic text.", + // "type": "integer", + // "default": 24 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleNormalTextDots": { + // "schema": { + // "title": "Dot Pattern Values - Normal Text", + // "description": "Dot pattern to be used for normal text.", + // "type": "integer", + // "default": 1345 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleStrikeoutDots": { + // "schema": { + // "title": "Dot Pattern Values - Strikeout", + // "description": "Dot pattern to be used for strikeout text.", + // "type": "integer", + // "default": 234 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleUnderlineDots": { + // "schema": { + // "title": "Dot Pattern Values - Underline", + // "description": "Dot pattern to be used for underline text.", + // "type": "integer", + // "default": 136 + // } + // }, "Braille.FilterControlCharacters": { "schema": { @@ -2864,80 +2850,87 @@ // ---- Braille Cursor ----- - "Braille.BraillePCCursorDots": { - "schema": { - "title": "PC Cursor Dot Pattern", - "description": "The dot pattern to use for the PC cursor.", - "type": "integer", - "default": 78 - } - }, - "Braille.BraillePCCursorBlinkRate": { - "schema": { - "title": "PC Cursor blink rate", - "description": "Stablish the braille cursor blinking rate.", - "type": "integer", - // NOTE: The actual menu has 3 entries, with different values reserved - // for each one: - // - "Braille Cursor is Always Up": 0 - // - "Braille Cursor is Always Down": -1 - // - "Braille Cursor is Blinking": Integer - "default": 500 - } - }, - "Braille.BrailleJAWSCursorDots": { - "schema": { - "title": "JAWS Cursor Dot Pattern", - "description": "The dot pattern to use for the JAWS cursor.", - "type": "integer", - "default": 78 - } - }, - "Braille.BrailleJAWSCursorBlinkRate": { - "schema": { - "title": "JAWS Cursor blink rate", - "description": "Stablish the JAWS braille cursor blinking rate.", - "type": "integer", - // NOTE: The actual menu has 3 entries, with different values reserved - // for each one: - // - "Braille Cursor is Always Up": 0 - // - "Braille Cursor is Always Down": -1 - // - "Braille Cursor is Blinking": Integer - "default": 500 - } - }, - "Braille.BrailleInvisibleCursorDots": { - "schema": { - "title": "Invisible Cursor Dot Pattern", - "description": "The dot pattern to use for the \"Invisible Cursor\".", - "type": "integer", - "default": 78 - } - }, - "Braille.BrailleInvisibleCursorBlinkRate": { - "schema": { - "title": "JAWS Cursor blink rate", - "description": "Stablish the JAWS braille cursor blinking rate.", - "type": "integer", - // NOTE: The actual menu has 3 entries, with different values reserved - // for each one: - // - "Braille Cursor is Always Up": 0 - // - "Braille Cursor is Always Down": -1 - // - "Braille Cursor is Blinking": Integer - "default": 500 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BraillePCCursorDots": { + // "schema": { + // "title": "PC Cursor Dot Pattern", + // "description": "The dot pattern to use for the PC cursor.", + // "type": "integer", + // "default": 78 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BraillePCCursorBlinkRate": { + // "schema": { + // "title": "PC Cursor blink rate", + // "description": "Stablish the braille cursor blinking rate.", + // "type": "integer", + // // NOTE: The actual menu has 3 entries, with different values reserved + // // for each one: + // // - "Braille Cursor is Always Up": 0 + // // - "Braille Cursor is Always Down": -1 + // // - "Braille Cursor is Blinking": Integer + // "default": 500 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleJAWSCursorDots": { + // "schema": { + // "title": "JAWS Cursor Dot Pattern", + // "description": "The dot pattern to use for the JAWS cursor.", + // "type": "integer", + // "default": 78 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleJAWSCursorBlinkRate": { + // "schema": { + // "title": "JAWS Cursor blink rate", + // "description": "Stablish the JAWS braille cursor blinking rate.", + // "type": "integer", + // // NOTE: The actual menu has 3 entries, with different values reserved + // // for each one: + // // - "Braille Cursor is Always Up": 0 + // // - "Braille Cursor is Always Down": -1 + // // - "Braille Cursor is Blinking": Integer + // "default": 500 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleInvisibleCursorDots": { + // "schema": { + // "title": "Invisible Cursor Dot Pattern", + // "description": "The dot pattern to use for the \"Invisible Cursor\".", + // "type": "integer", + // "default": 78 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleInvisibleCursorBlinkRate": { + // "schema": { + // "title": "JAWS Cursor blink rate", + // "description": "Stablish the JAWS braille cursor blinking rate.", + // "type": "integer", + // // NOTE: The actual menu has 3 entries, with different values reserved + // // for each one: + // // - "Braille Cursor is Always Up": 0 + // // - "Braille Cursor is Always Down": -1 + // // - "Braille Cursor is Blinking": Integer + // "default": 500 + // } + // }, // ---- Braille UNKNOWN ----- - "Braille.BrailleCursorBlinkRate": { - "schema": { - "title": "Braille Cursor Blink Rate", - "description": "Speed, in milliseconds, at which the cursor on the braille display should blink.", - "type": "integer", - "default": 500 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.BrailleCursorBlinkRate": { + // "schema": { + // "title": "Braille Cursor Blink Rate", + // "description": "Speed, in milliseconds, at which the cursor on the braille display should blink.", + // "type": "integer", + // "default": 500 + // } + // }, "Braille.BrailleKeyInterruptSpeech": { "schema": { @@ -2972,14 +2965,16 @@ "default": 1 } }, - "Braille.MessageTime": { - "schema": { - "title": "Flash Message Timeout", - "description": "How long in milliseconds a flash message is going to be displayed in the Braille display.", - "type": "integer", - "default": 5000 - } - }, + + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.MessageTime": { + // "schema": { + // "title": "Flash Message Timeout", + // "description": "How long in milliseconds a flash message is going to be displayed in the Braille display.", + // "type": "integer", + // "default": 5000 + // } + // }, // ---- Braille Flash Messages - Verbosity Levels ----- @@ -3222,15 +3217,16 @@ "default": 1 } }, - "Braille.StructuredModeInclusionFlags": { - "schema": { - "title": "Structure Mode Inclusion Flags", - "description": "Store in a bitmask the elements to be included in 'Braille Structure Mode'.", - "type": "integer", - "default": 8191 - }, - "label": "bitmask" - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.StructuredModeInclusionFlags": { + // "schema": { + // "title": "Structure Mode Inclusion Flags", + // "description": "Store in a bitmask the elements to be included in 'Braille Structure Mode'.", + // "type": "integer", + // "default": 8191 + // }, + // "label": "bitmask" + // }, // ------------------------------------------------------------------ @@ -3286,14 +3282,15 @@ "default": 0 } }, - "Braille.UseHowManyStatusCells": { - "schema": { - "title": "Use How Many Status Cells", - "description": "How many cells to use for status information if the display defines none of its own..", - "type": "integer", - "default": 4 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Braille.UseHowManyStatusCells": { + // "schema": { + // "title": "Use How Many Status Cells", + // "description": "How many cells to use for status information if the display defines none of its own..", + // "type": "integer", + // "default": 4 + // } + // }, "Braille.DotFirmness": { // NOTE-TODO: This setting appears to have a bug, // when the slide is moved isn't deleted from the configuration file, but @@ -3378,7 +3375,6 @@ "schema": { "title": "Say Cursor Shape Change", "description": "Whether to announce a change in the shape of the cursor.", - "type": "number", "default": 0, "enum": [ 0, @@ -3390,101 +3386,112 @@ ] } }, - "Options.CaretBlinkRate": { - "schema": { - "title": "Caret Blink Rate", - "description": "How fast the caret blinks, in milliseconds.", - "type": "integer", - "default": 53, - "minimum": 1 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.CaretBlinkRate": { + // "schema": { + // "title": "Caret Blink Rate", + // "description": "How fast the caret blinks, in milliseconds.", + // "type": "integer", + // "default": 53, + // "minimum": 1 + // } + // }, // ---------- Caret And Cursor: Vertical Caret Dimensions ---------- - "OSM.MouseClickFudgeX": { - "schema": { - "title": "Mouse Click Fudge X", - "description": "Number of pixels to the right of the current JAWS cursor at which a mouse click should be simulated", - "type": "integer", - "default": 1 - } - }, - "OSM.MouseClickFudgeY": { - "schema": { - "title": "Mouse Click Fudge Y", - "description": "Number of pixels below the current JAWS cursor at which a mouse click should be simulated", - "type": "integer", - "default": -2 - } - }, - "OSM.VertCaretMinY": { - "schema": { - "title": "Vertical Caret Minimum Y Dimension", - "description": "Minimum number pixels of height for the 'Vertical Caret'", - "type": "integer", - "default": 4 - } - }, - "OSM.VertCaretMinX": { - "schema": { - "title": "Vertical Caret Minimum X Dimension", - "description": "Minimum number pixels of width for the 'Vertical Caret'", - "type": "integer", - "default": 1 - } - }, - "OSM.VertCaretMaxY": { - "schema": { - "title": "Vertical Caret Maximum Y Dimension", - "description": "Maximum number pixels of height for the 'Vertical Caret'", - "type": "integer", - "default": 110 - } - }, - "OSM.VertCaretMaxX": { - "schema": { - "title": "Vertical Caret Maximum X Dimension", - "description": "Maximum number pixels of width for the 'Vertical Caret'", - "type": "integer", - "default": 4 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.MouseClickFudgeX": { + // "schema": { + // "title": "Mouse Click Fudge X", + // "description": "Number of pixels to the right of the current JAWS cursor at which a mouse click should be simulated", + // "type": "integer", + // "default": 1 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.MouseClickFudgeY": { + // "schema": { + // "title": "Mouse Click Fudge Y", + // "description": "Number of pixels below the current JAWS cursor at which a mouse click should be simulated", + // "type": "integer", + // "default": -2 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.VertCaretMinY": { + // "schema": { + // "title": "Vertical Caret Minimum Y Dimension", + // "description": "Minimum number pixels of height for the 'Vertical Caret'", + // "type": "integer", + // "default": 4 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.VertCaretMinX": { + // "schema": { + // "title": "Vertical Caret Minimum X Dimension", + // "description": "Minimum number pixels of width for the 'Vertical Caret'", + // "type": "integer", + // "default": 1 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.VertCaretMaxY": { + // "schema": { + // "title": "Vertical Caret Maximum Y Dimension", + // "description": "Maximum number pixels of height for the 'Vertical Caret'", + // "type": "integer", + // "default": 110 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.VertCaretMaxX": { + // "schema": { + // "title": "Vertical Caret Maximum X Dimension", + // "description": "Maximum number pixels of width for the 'Vertical Caret'", + // "type": "integer", + // "default": 4 + // } + // }, // ------- Caret And Cursor: Horizontal Caret Dimensions ---------- - "OSM.HorizCaretMinY": { - "schema": { - "title": "Horizontal Caret Minimum Y Dimension", - "description": "Minimum number pixels of height for the 'Horizontal Caret'", - "type": "integer", - "default": 1 - } - }, - "OSM.HorizCaretMinX": { - "schema": { - "title": "Horizontal Caret Minimum X Dimension", - "description": "Minimum number pixels of width for the 'Horizontal Caret'", - "type": "integer", - "default": 4 - } - }, - "OSM.HorizCaretMaxY": { - "schema": { - "title": "Horizontal Caret Maximum Y Dimension", - "description": "Maximum number pixels of height for the 'Horizontal Caret'", - "type": "integer", - "default": 4 - } - }, - "OSM.HorizCaretMaxX": { - "schema": { - "title": "Horizontal Caret Maximum X Dimension", - "description": "Maximum number pixels of width for the 'Horizontal Caret'", - "type": "integer", - "default": 14 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.HorizCaretMinY": { + // "schema": { + // "title": "Horizontal Caret Minimum Y Dimension", + // "description": "Minimum number pixels of height for the 'Horizontal Caret'", + // "type": "integer", + // "default": 1 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.HorizCaretMinX": { + // "schema": { + // "title": "Horizontal Caret Minimum X Dimension", + // "description": "Minimum number pixels of width for the 'Horizontal Caret'", + // "type": "integer", + // "default": 4 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.HorizCaretMaxY": { + // "schema": { + // "title": "Horizontal Caret Maximum Y Dimension", + // "description": "Maximum number pixels of height for the 'Horizontal Caret'", + // "type": "integer", + // "default": 4 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.HorizCaretMaxX": { + // "schema": { + // "title": "Horizontal Caret Maximum X Dimension", + // "description": "Maximum number pixels of width for the 'Horizontal Caret'", + // "type": "integer", + // "default": 14 + // } + // }, // ------------------- Synthesizer ------------------- @@ -3492,7 +3499,6 @@ "schema": { "title": "Simultaneous Synth and Wave", "description": "Whether to enable smoother playing of WAV files when using the DEC Talk Access 32 software synthesizer. This option is only available in Default.jcf. Changes to this setting take effect the next time you start JAWS. Disabled by default.", - "type": "number", "default": 0, "enum": [ 0, @@ -3504,15 +3510,16 @@ ] } }, - "Options.SynthesizerResetFrequency": { - "schema": { - "title": "Synthesizer Reset Frequency", - "description": "How often to reset communication with the synthesizer, in milliseconds.", - "type": "integer", - "default": 2000, - "minimum": 0 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.SynthesizerResetFrequency": { + // "schema": { + // "title": "Synthesizer Reset Frequency", + // "description": "How often to reset communication with the synthesizer, in milliseconds.", + // "type": "integer", + // "default": 2000, + // "minimum": 0 + // } + // }, // ---------------- Punctuation ------------------ @@ -3559,7 +3566,6 @@ "schema": { "title": "JAWS Insert Key", "description": "Whether/which insert keys can be used as a JAWS Insert.", - "type": "number", "default": 3, "enum": [ 0, @@ -3579,7 +3585,6 @@ "schema": { "title": "Initial State of NumLock Key", "description": "The initial state of the NumLock key.", - "type": "number", "enum": [ 0, 1, @@ -3597,7 +3602,6 @@ "schema": { "title": "Use Extended Keys", "description": "Whether to distinguish between extended and number pad keys.", - "type": "number", "default": 0, "enum": [ 0, @@ -3613,7 +3617,6 @@ "schema": { "title": "Generalize Modifiers", "description": "Differentiate Between Left and Right Paired Keys.", - "type": "number", "default": 0, "enum": [ 0, @@ -4575,22 +4578,24 @@ // -https://docs.microsoft.com/es-es/windows/win32/intl/language-identifier-constants-and-strings // - "OCR.PrimaryRecognitionLanguage": { - "schema": { - "title": "Primary OCR Recognition Language", - "description": "Indicates the primary language for OCR.", - "type": "integer", - "default": 1033 - } - }, - "OCR.SecondaryRecognitionLanguage": { - "schema": { - "title": "Secondary OCR Recognition Language", - "description": "Indicates the secondary language for OCR.", - "type": "integer", - "default": 1033 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OCR.PrimaryRecognitionLanguage": { + // "schema": { + // "title": "Primary OCR Recognition Language", + // "description": "Indicates the primary language for OCR.", + // "type": "integer", + // "default": 1033 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OCR.SecondaryRecognitionLanguage": { + // "schema": { + // "title": "Secondary OCR Recognition Language", + // "description": "Indicates the secondary language for OCR.", + // "type": "integer", + // "default": 1033 + // } + // }, // --------------------- Gestures ----------------------- @@ -4946,30 +4951,33 @@ "default": 0 } }, - "OSM.TextOutDelay": { - "schema": { - "title": "Text Out Delay", - "description": "The number of milliseconds to wait before announcing newly written text. Setting this to a non-zero value may cause terminal programs to respond in a less choppy fashion.", - "type": "integer", - "default": 0 - } - }, - "OSM.PixelsPerSpace": { - "schema": { - "title": "Pixels Per Space", - "description": "When simulating spaces in blank portions of a line, the number of pixels used to represent each space.", - "type": "integer", - "default": 8 - } - }, - "OSM.PixelsPerTab": { - "schema": { - "title": "Pixels Per Tab", - "description": "The number of pixels per tab, used to estimate the number of tab spaces contained within the blank portion of a line.", - "type": "integer", - "default": 10 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.TextOutDelay": { + // "schema": { + // "title": "Text Out Delay", + // "description": "The number of milliseconds to wait before announcing newly written text. Setting this to a non-zero value may cause terminal programs to respond in a less choppy fashion.", + // "type": "integer", + // "default": 0 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.PixelsPerSpace": { + // "schema": { + // "title": "Pixels Per Space", + // "description": "When simulating spaces in blank portions of a line, the number of pixels used to represent each space.", + // "type": "integer", + // "default": 8 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.PixelsPerTab": { + // "schema": { + // "title": "Pixels Per Tab", + // "description": "The number of pixels per tab, used to estimate the number of tab spaces contained within the blank portion of a line.", + // "type": "integer", + // "default": 10 + // } + // }, "OSM.TrackFocusRect": { "schema": { "title": "Track Focus Rectangle", @@ -4985,22 +4993,24 @@ "default": 1 } }, - "OSM.LeftMargin": { - "schema": { - "title": "Left Margin in Pixels", - "description": "Ignores the distance specified in pixels from the left border of the window.", - "type": "integer", - "default": 0 - } - }, - "OSM.UnderlineProximity": { - "schema": { - "title": "Underline Proximity", - "description": "How far away in pixels can an underline be before being considered an actual underline.", - "type": "integer", - "default": 0 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.LeftMargin": { + // "schema": { + // "title": "Left Margin in Pixels", + // "description": "Ignores the distance specified in pixels from the left border of the window.", + // "type": "integer", + // "default": 0 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.UnderlineProximity": { + // "schema": { + // "title": "Underline Proximity", + // "description": "How far away in pixels can an underline be before being considered an actual underline.", + // "type": "integer", + // "default": 0 + // } + // }, "FSCasts.EnableNotifications": { "schema": { "title": "FSCast Notifications", @@ -5124,14 +5134,15 @@ // ------------ GLOBAL ------------ - "OSM.PixelsPerBlankLine": { - "schema": { - "title": "Pixels Per Blank Line", - "description": "how many pixels (high) per blank line", - "type": "integer", - "default": 13 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.PixelsPerBlankLine": { + // "schema": { + // "title": "Pixels Per Blank Line", + // "description": "how many pixels (high) per blank line", + // "type": "integer", + // "default": 13 + // } + // }, "Voice Profiles.ActiveVoiceProfileName": { "schema": { "title": "Active Voice Profile Name", @@ -5144,7 +5155,6 @@ "schema": { "title": "Abbreviations", "description": "Whether to expand abbreviations. If this is enabled, abbreviations with a title attribute will have their title read instead of the on screen text.", - "type": "number", "default": 0, "enum": [ 0, @@ -5160,7 +5170,6 @@ "schema": { "title": "Acronyms", "description": "If this is enabled, acronyms with a title attribute will have their title read instead of the on screen text.", - "type": "number", "default": 0, "enum": [ 0, @@ -5217,54 +5226,60 @@ "default": 1 } }, - "HTML.TblMaxCellTextLength": { - "schema": { - "title": "Table Maximum Cell Text Length", - "description": "A cell is considered a valid data cell if it contains upto this number of characters.", - "type": "integer", - "default": 250 - } - }, - "HTML.TblMinCellTextLength": { - "schema": { - "title": "Table Minimum Cell Text Length", - "description": "A cell is considered a valid data cell if it contains at least this number of characters.", - "type": "integer", - "default": 1 - } - }, - "HTML.TblMinTextColumns": { - "schema": { - "title": "Table Minimum Text Columns", - "description": "This option specifies the minimum number of columns which must contain text in order for the table to be considered a data table.", - "type": "integer", - "default": 2 - } - }, - "HTML.TblMinTextRows": { - "schema": { - "title": "Table Minimum Text Rows", - "description": "This option specifies the minimum number of rows which must contain text in order for the table to be considered a data table.", - "type": "integer", - "default": 2 - } - }, - "HTML.TblMinValidDataRows": { - "schema": { - "title": "Table Minimum Valid Data Rows", - "description": "Next options used for configuring how data tables are detected This option specifies the minimum number of valid data rows that a table must contain in order for it to be considered a data table.", - "type": "integer", - "default": 2 - } - }, - "HTML.TblValidRowThreshold": { - "schema": { - "title": "Table Valid Row Threshold", - "description": "This option specifies the minimum number of cells that a row must contain in order for it to be considered a valid data row.", - "type": "integer", - "default": 2 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TblMaxCellTextLength": { + // "schema": { + // "title": "Table Maximum Cell Text Length", + // "description": "A cell is considered a valid data cell if it contains upto this number of characters.", + // "type": "integer", + // "default": 250 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TblMinCellTextLength": { + // "schema": { + // "title": "Table Minimum Cell Text Length", + // "description": "A cell is considered a valid data cell if it contains at least this number of characters.", + // "type": "integer", + // "default": 1 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TblMinTextColumns": { + // "schema": { + // "title": "Table Minimum Text Columns", + // "description": "This option specifies the minimum number of columns which must contain text in order for the table to be considered a data table.", + // "type": "integer", + // "default": 2 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TblMinTextRows": { + // "schema": { + // "title": "Table Minimum Text Rows", + // "description": "This option specifies the minimum number of rows which must contain text in order for the table to be considered a data table.", + // "type": "integer", + // "default": 2 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TblMinValidDataRows": { + // "schema": { + // "title": "Table Minimum Valid Data Rows", + // "description": "Next options used for configuring how data tables are detected This option specifies the minimum number of valid data rows that a table must contain in order for it to be considered a data table.", + // "type": "integer", + // "default": 2 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "HTML.TblValidRowThreshold": { + // "schema": { + // "title": "Table Valid Row Threshold", + // "description": "This option specifies the minimum number of cells that a row must contain in order for it to be considered a valid data row.", + // "type": "integer", + // "default": 2 + // } + // }, "HTML.UseLegacyIESupport": { "schema": { "title": "Use Legacy IE Support", @@ -5305,37 +5320,39 @@ "default": "cap" } }, - "Options.CaretDetect": { - "schema": { - "title": "Caret Detect", - "description": "How many cursor blinks are used to locate the caret.", - "type": "integer", - "default": 1, - "minimum": 1 - } - }, - "Options.CaretDetectTimeOut": { - "schema": { - "title": "Caret Detect Timeout", - "description": "The number of milliseconds before JAWS for Windows will give up looking for the caret.", - "type": "integer", - "default": 250, - "minimum": 0 - } - }, - "OSM.CaretTimeOut": { - "schema": { - "title": "Caret Time Out", - "description": "The time in milliseconds to wait before redrawing the caret.", - "type": "integer", - "default": 1000 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.CaretDetect": { + // "schema": { + // "title": "Caret Detect", + // "description": "How many cursor blinks are used to locate the caret.", + // "type": "integer", + // "default": 1, + // "minimum": 1 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.CaretDetectTimeOut": { + // "schema": { + // "title": "Caret Detect Timeout", + // "description": "The number of milliseconds before JAWS for Windows will give up looking for the caret.", + // "type": "integer", + // "default": 250, + // "minimum": 0 + // } + // }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "OSM.CaretTimeOut": { + // "schema": { + // "title": "Caret Time Out", + // "description": "The time in milliseconds to wait before redrawing the caret.", + // "type": "integer", + // "default": 1000 + // } + // }, "Options.Case": { "schema": { "title": "Case", "description": "Whether to indicate the case of spoken text with a change of inflection.", - "type": "number", "default": 1, "enum": [ 0, @@ -5362,7 +5379,6 @@ "schema": { "title": "Indicate Attributes on Dialogs and Menus", "description": "Whether to announce attributes in dialogs and menus if the scheme allows for it.", - "type": "number", "default": 0, // TODO: All of these 0,1 examples are a firm use case for an application-specific transform mechanism so that our JSON payloads can use true/false. "enum": [ @@ -5379,7 +5395,6 @@ "schema": { "title": "JAWS Punctuation Enabled", "description": "Which punctuation marks to speak.", - "type": "number", "default": 2, "enum": [ 0, @@ -5399,7 +5414,6 @@ "schema": { "title": "Left Shift Skip Back", "description": "How the shift keys should behave in \"Say All\" mode.", - "type": "number", "default": 1, "enum": [ 0, @@ -5449,7 +5463,6 @@ "schema": { "title": "Process Tooltip Event", "description": "Whether or not to process tooltip events.", - "type": "number", "default": 1, "enum": [ 0, @@ -5465,7 +5478,6 @@ "schema": { "title": "Reading Interrupt", "description": "Whether to interrupt speech when a key that is bound to a macro is pressed.", - "type": "number", "default": 1, "enum": [ 0, @@ -5481,7 +5493,6 @@ "schema": { "title": "Skim Reading Indication", "description": "Whether or not to indicate (via a beep) when skimming over text units for which the regular expression returns FALSE.", - "type": "number", "default": 1, "enum": [ 0, @@ -5545,7 +5556,6 @@ "schema": { "title": "Synthesizer", "description": "The synthesizer to use/ Available synthesizers are listed in JfW.INI", - "type": "string", "enum": ["Synth1"], "enumLabels": ["Default speech synthesizer"], "default": "Synth1" @@ -5555,7 +5565,6 @@ "schema": { "title": "Tether Jaws to PC", "description": "Whether or not to tether the JAWS cursor to the PC cursor. If this is set to 'on', whenever the Pc cursor moves, the Jaws cursor will follow it. If this is set to 'off', the JAWS cursor is indifferent to PC cursor movements (this is the default).", - "type": "number", "default": 0, "enum": [ 0, @@ -5588,7 +5597,6 @@ "schema": { "title": "Use Virtual Info in Forms Mode", "description": "Whether to use information from the virtual HTML area for prompts in Forms mode. Warning: this will not always result in accurate information, particularly on pages where there are errors in the HTML coding which result in forms mode and virtual mode being out of synchronization.", - "type": "number", "default": 0, "enum": [ 0, @@ -5599,7 +5607,7 @@ "on" ] } - }, + } // No documentation or onscreen option. Disabled for now. // "Options.UseWindowsKeyboardHook": { // "schema": { @@ -5617,15 +5625,16 @@ // ] // } // }, - "Options.VIRTUALMSAAREFRESH": { - "schema": { - "title": "Virtual MSAA Refresh", - "description": "How often (in milliseconds) should an embedded ActiveX control cause the Virtual HTML area to be updated when receiving rapid ValueChange events from MSAA. Set to -1 to disable refreshes.", - "type": "integer", - "default": 0, - "minimum": -1 - } - } + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.VIRTUALMSAAREFRESH": { + // "schema": { + // "title": "Virtual MSAA Refresh", + // "description": "How often (in milliseconds) should an embedded ActiveX control cause the Virtual HTML area to be updated when receiving rapid ValueChange events from MSAA. Set to -1 to disable refreshes.", + // "type": "integer", + // "default": 0, + // "minimum": -1 + // } + // } }, "capabilitiesTransformations": { "Options\\.confirmWhenExitingJAWS": { @@ -5885,15 +5894,16 @@ "default": "ENU" } }, - "Options.Factory": { - "schema": { - // NOTE: Setting purpose isn't known and should remain private - "title": "Factory", - "description": "Unknown.", - "type": "integer", - "default": 0 - } - }, + // GPII-4226 Leaving out for now due to lack of either a minimum or maximum value. + // "Options.Factory": { + // "schema": { + // // NOTE: Setting purpose isn't known and should remain private + // "title": "Factory", + // "description": "Unknown.", + // "type": "integer", + // "default": 0 + // } + // }, // ======================================================= From ef1c2618400e98f2cb0f214f62edac2e6742fdeb Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Mon, 11 May 2020 13:12:10 -0700 Subject: [PATCH 23/27] GPII-1908 Renaming file Jaw -> Jaws. Cleaning up more settings. --- ...erTests.js => JawsSettingsHandlerTests.js} | 0 testData/solutions/win32.json5 | 576 +++++++++--------- 2 files changed, 303 insertions(+), 273 deletions(-) rename gpii/node_modules/settingsHandlers/test/{JawSettingsHandlerTests.js => JawsSettingsHandlerTests.js} (100%) diff --git a/gpii/node_modules/settingsHandlers/test/JawSettingsHandlerTests.js b/gpii/node_modules/settingsHandlers/test/JawsSettingsHandlerTests.js similarity index 100% rename from gpii/node_modules/settingsHandlers/test/JawSettingsHandlerTests.js rename to gpii/node_modules/settingsHandlers/test/JawsSettingsHandlerTests.js diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 52d75dfc3..f9a6a1ea1 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -156,36 +156,38 @@ "default": 1 } }, - "Options.DisableHideAltKey": { - "schema": { - "title": "", - "description": "Disable hide keyboard navigation indicators until I use the ALT Key.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, - "Options.IgnoreColorsSpecifiedOnWebPages": { - "schema": { - "title": "", - "description": "Ignore colors specified on web pages.", - "enum": [ - 0, - 1 - ], - "enumLabels": [ - "off", - "on" - ], - "default": 0 - } - }, + // GPII-4226 Leaving out for now, needs a non-empty title + // "Options.DisableHideAltKey": { + // "schema": { + // "title": "", + // "description": "Disable hide keyboard navigation indicators until I use the ALT Key.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, + // GPII-4226 Leaving out for now, needs a non-empty title + // "Options.IgnoreColorsSpecifiedOnWebPages": { + // "schema": { + // "title": "", + // "description": "Ignore colors specified on web pages.", + // "enum": [ + // 0, + // 1 + // ], + // "enumLabels": [ + // "off", + // "on" + // ], + // "default": 0 + // } + // }, "Options.DisableLanguageBar": { "schema": { "title": "Language Bar", @@ -347,210 +349,234 @@ // - Medium: "0|1|0" // - Low: "0|0|1" - "VirtualCursorVerbosity.BlockQuotation": { - "schema": { - "title": "Announce Block Quotation", - "description": "Announce Start and End of Block Quotations.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.Feed": { - "schema": { - "title": "Announce Feed", - "description": "Announce Start and End of Feeds.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.Figure": { - "schema": { - "title": "Announce Figure", - "description": "Announce Start and End of Figures.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.FlashObject": { - "schema": { - "title": "Announce Flash Object", - "description": "Announce Start and End of Flash Objects.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.Frame": { - "schema": { - "title": "Announce Frame", - "description": "Announce Start and End of Frame.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.GroupBox": { - "schema": { - "title": "Announce Group Box", - "description": "Announce Start and End of Group Box.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.List": { - "schema": { - "title": "Announce List", - "description": "Announce Start and End of List.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.Log": { - "schema": { - "title": "Announce Log", - "description": "Announce Start and End of Log.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.Note": { - "schema": { - "title": "Announce Note", - "description": "Announce Start and End of Note.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.ApplicationRegion": { - "schema": { - "title": "Announce Application Region", - "description": "Announce Start and End of Application Region.", - "type": "string", - "default": "0|0|0" - } - }, - "VirtualCursorVerbosity.ArticleRegion": { - "schema": { - "title": "Announce Article Region", - "description": "Announce Start and End of Article Region.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.BannerRegion": { - "schema": { - "title": "Announce Banner Region", - "description": "Announce Start and End of Banner Region.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.ComplementaryRegion": { - "schema": { - "title": "Announce Complementary Region", - "description": "Announce Start and End of Complementary Region.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.ContentInfoRegion": { - "schema": { - "title": "Announce Content Info Region", - "description": "Announce Start and End of Content Info.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.DocumentRegion": { - "schema": { - "title": "Announce Article Region", - "description": "Announce Start and End of Document Region.", - "type": "string", - "default": "0|0|0" - } - }, - "VirtualCursorVerbosity.FormRegion": { - "schema": { - "title": "Announce Form Regions", - "description": "Announce Start and End of Form Regions.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.MainRegion": { - "schema": { - "title": "Announce Main Region", - "description": "Announce Start and End of Main Region.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.NavigationRegion": { - "schema": { - "title": "Navigation Region", - "description": "Announce Start and End of Navigation Regions.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.Region": { - "schema": { - "title": "Announce Region", - "description": "Announce Start and End of 'Regions'.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.SearchRegion": { - "schema": { - "title": "Announce Search Regions", - "description": "Announce Start and End of Search Regions.", - "type": "string", - "default": "1|0|0" - } - }, - "VirtualCursorVerbosity.TableOrGrid": { - "schema": { - "title": "Announce Table or Grids", - "description": "Announce Start and End of \"Tables or Grids\".", - "type": "string", - "default": "1|1|1" - } - }, - "VirtualCursorVerbosity.TabPanel": { - "schema": { - "title": "Announce Tab Panels", - "description": "Announce Start and End of Tab Panels.", - "type": "string", - "default": "1|1|0" - } - }, - "VirtualCursorVerbosity.Toolbar": { - "schema": { - "title": "Announce Toolbars", - "description": "Announce Start and End of Toolbars.", - "type": "string", - "default": "1|1|0" - } - }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.BlockQuotation": { + // "schema": { + // "title": "Announce Block Quotation", + // "description": "Announce Start and End of Block Quotations.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Feed": { + // "schema": { + // "title": "Announce Feed", + // "description": "Announce Start and End of Feeds.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Figure": { + // "schema": { + // "title": "Announce Figure", + // "description": "Announce Start and End of Figures.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.FlashObject": { + // "schema": { + // "title": "Announce Flash Object", + // "description": "Announce Start and End of Flash Objects.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Frame": { + // "schema": { + // "title": "Announce Frame", + // "description": "Announce Start and End of Frame.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.GroupBox": { + // "schema": { + // "title": "Announce Group Box", + // "description": "Announce Start and End of Group Box.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.List": { + // "schema": { + // "title": "Announce List", + // "description": "Announce Start and End of List.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Log": { + // "schema": { + // "title": "Announce Log", + // "description": "Announce Start and End of Log.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Note": { + // "schema": { + // "title": "Announce Note", + // "description": "Announce Start and End of Note.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.ApplicationRegion": { + // "schema": { + // "title": "Announce Application Region", + // "description": "Announce Start and End of Application Region.", + // "type": "string", + // "default": "0|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.ArticleRegion": { + // "schema": { + // "title": "Announce Article Region", + // "description": "Announce Start and End of Article Region.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.BannerRegion": { + // "schema": { + // "title": "Announce Banner Region", + // "description": "Announce Start and End of Banner Region.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.ComplementaryRegion": { + // "schema": { + // "title": "Announce Complementary Region", + // "description": "Announce Start and End of Complementary Region.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.ContentInfoRegion": { + // "schema": { + // "title": "Announce Content Info Region", + // "description": "Announce Start and End of Content Info.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.DocumentRegion": { + // "schema": { + // "title": "Announce Article Region", + // "description": "Announce Start and End of Document Region.", + // "type": "string", + // "default": "0|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.FormRegion": { + // "schema": { + // "title": "Announce Form Regions", + // "description": "Announce Start and End of Form Regions.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.MainRegion": { + // "schema": { + // "title": "Announce Main Region", + // "description": "Announce Start and End of Main Region.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.NavigationRegion": { + // "schema": { + // "title": "Navigation Region", + // "description": "Announce Start and End of Navigation Regions.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Region": { + // "schema": { + // "title": "Announce Region", + // "description": "Announce Start and End of 'Regions'.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.SearchRegion": { + // "schema": { + // "title": "Announce Search Regions", + // "description": "Announce Start and End of Search Regions.", + // "type": "string", + // "default": "1|0|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.TableOrGrid": { + // "schema": { + // "title": "Announce Table or Grids", + // "description": "Announce Start and End of \"Tables or Grids\".", + // "type": "string", + // "default": "1|1|1" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.TabPanel": { + // "schema": { + // "title": "Announce Tab Panels", + // "description": "Announce Start and End of Tab Panels.", + // "type": "string", + // "default": "1|1|0" + // } + // }, + // GPII-4226 Leaving out for now, should be converted to an enum + // "VirtualCursorVerbosity.Toolbar": { + // "schema": { + // "title": "Announce Toolbars", + // "description": "Announce Start and End of Toolbars.", + // "type": "string", + // "default": "1|1|0" + // } + // }, // --- WEB / HTML / PDF - Reading - Custom Placemarker Page Summary --- - "options.CustomPageSummary": { - "schema": { - "title": "", - "description": "Announce Start and End of Toolbars.", - "enum": [ - 1, - 2, - 0 - ], - "enumLabels": [ - "Speak Placemarkers On Page Load", - "List Placemarkers in Results Viewer On Page Load", - "Do nothing" - ], - "default": 0 - } - }, + // GPII-4226 Leaving out for now, needs a non-empty title + // "options.CustomPageSummary": { + // "schema": { + // "title": "", + // "description": "Announce Start and End of Toolbars.", + // "enum": [ + // 1, + // 2, + // 0 + // ], + // "enumLabels": [ + // "Speak Placemarkers On Page Load", + // "List Placemarkers in Results Viewer On Page Load", + // "Do nothing" + // ], + // "default": 0 + // } + // }, // ---------------------------------------------------------- @@ -842,35 +868,38 @@ "default": 1 } }, - "HTML.LinkText": { - "schema": { - "title": "", - "description": "Select what to speak for an image.", - "enum": [ - 0, - 1, - 2, - 3, - 4 - ], - "enumLabels": [ - "Title", - "Screen Text", - "Tool Tip", - "Longest of Above", - "The first attribute found in the order list" - ], - "default": 1 - } - }, - "HTML.CustomTextLinkAttrs": { - "schema": { - "title": "Custom Text Link Attributes", - "description": "Specify the order in which attributes of text links should be searched.", - "type": "string", - "default": "text|title|alt|href" - } - }, + // GPII-4226 Leaving out for now, needs a non-empty title + // "HTML.LinkText": { + // "schema": { + // "title": "", + // "description": "Select what to speak for an image.", + // "enum": [ + // 0, + // 1, + // 2, + // 3, + // 4 + // ], + // "enumLabels": [ + // "Title", + // "Screen Text", + // "Tool Tip", + // "Longest of Above", + // "The first attribute found in the order list" + // ], + // "default": 1 + // } + // }, + // GPII-4226 Leaving out for now, should be converted to a user facing array of strings along with + // a transform to convert it to the appropriate format for the settings handler. + // "HTML.CustomTextLinkAttrs": { + // "schema": { + // "title": "Custom Text Link Attributes", + // "description": "Specify the order in which attributes of text links should be searched.", + // "type": "string", + // "default": "text|title|alt|href" + // } + // }, "HTML.IncludeGraphicLinks": { "schema": { "title": "Include Image Links", @@ -966,7 +995,7 @@ "HTML.IndicateColSpan": { "schema": { - "title": "Indicate ColSpan for Braille", + "title": "Indicate ColSpan", "description": "Whether to announce column spans when reading table data in web pages.", "enum": [ 0, @@ -1105,14 +1134,15 @@ "default": 1 } }, - "HTML.CustomButtonAttrs": { - "schema": { - "title": "Custom Button Attributes", - "description": "Specify the order in which attributes of Buttons should be searched.", - "type": "string", - "default": "text|title|alt|href" - } - }, + // GPII-4226 This should be converted to the intra-application transform style (aka "alias"). + // "HTML.CustomButtonAttrs": { + // "schema": { + // "title": "Custom Button Attributes", + // "description": "Specify the order in which attributes of Buttons should be searched.", + // "type": "string", + // "default": "text|title|alt|href" + // } + // }, "HTML.IndicateElementAttributes": { "schema": { "title": "Indicate Element Attributes", @@ -2101,9 +2131,9 @@ "ProofReading (Attributes, Font Info and color)", "SayAll Text Only", "SayAll Text With Sounds", - "Wsual Studio .Net", + "Visual Studio .Net", "Visual Studio .Net (Colors)", - "Wsual Studio .Net (Indent)", + "Visual Studio .Net (Indent)", "Web RentACrowd", "Word Classic" ], @@ -2125,9 +2155,9 @@ "ProofReading (Attributes, Font Info and color)", "SayAll Text Only", "SayAll Text With Sounds", - "Wsual Studio .Net", + "Visual Studio .Net", "Visual Studio .Net (Colors)", - "Wsual Studio .Net (Indent)", + "Visual Studio .Net (Indent)", "Web RentACrowd", "Word Classic" ], From 1a32385af4cf915c92f24b85d6f1041e11bfae92 Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Mon, 11 May 2020 14:24:16 -0700 Subject: [PATCH 24/27] GPII-1908 Updating description wording on TapEvenDurationMax --- testData/solutions/win32.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index f9a6a1ea1..52d3ee18e 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -4632,7 +4632,7 @@ "Touch.TapEventDurationMax": { "schema": { "title": "Explore Delay", - "description": "Sets the maximum duration of the tapping event.", + "description": "Sets the maximum duration of a user's screen touch that will be considered as a 'tap'", "type": "integer", "default": 210, "minimum": 160, From 0e1e6269794ec1c6c7f90d8cd127befc51f3ffd8 Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Mon, 11 May 2020 14:35:22 -0700 Subject: [PATCH 25/27] GPII-4226 Moving label decl from additionalProperties to properties. --- .../src/schemas/solution-schema.json5 | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 b/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 index 4457b3459..35f03c502 100644 --- a/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 +++ b/gpii/node_modules/solutionsRegistry/src/schemas/solution-schema.json5 @@ -49,16 +49,13 @@ "type": "object", "additionalProperties": { "type": "object", - "additionalProperties": { - "properties": { - "label": { - "type": "string", - "required": false - } - } - }, + "additionalProperties": false, "properties": { - "schema": { "$ref": "gss-v7-full#", "required": true } + "label": { + "type": "string", + "required": false + }, + "schema": { "$ref": "gss-v7-full#", "required": true } } } }, From 09a36cc232a7f6fb93a8484f82cac500d484f57a Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Tue, 12 May 2020 15:25:05 -0700 Subject: [PATCH 26/27] GPII-4226 Adding jsdoc for makeFileGet, Set, Parser, and Fetcher --- .../src/settingsHandlerUtilities.js | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js b/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js index b396abaa7..321a2804e 100644 --- a/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js +++ b/gpii/node_modules/settingsHandlers/src/settingsHandlerUtilities.js @@ -439,6 +439,42 @@ gpii.settingsHandlers.writeFile = function (content, options) { fs.writeFileSync(options.filename, content, options.encoding || "utf-8"); }; +/** + * A parser for settings handler types that includes `parse` and `stringify` functions to allow reading and + * serialization for each filetype. For example `JSON`, `INI`, and `XML` formats would each have their own parsers for + * this. + * + * @typedef {Object} gpii.settingsHandlers.parser + * @property {gpii.settinghandlers.parser.parse} parse - Parses the data read from a file on disk or other source. + * @property {gpii.settinghandlers.parser.stringify} stringify - Serializes the settings data back to a string to be + * written to disk. + */ + +/** + * Parses the data read from a file on disk or other source. + * + * @typedef {Function} gpii.settinghandlers.parser.parse + * @param {Object} parse.content - The file contents. + * @param {Object} parse.options - The `options` block from the settings handler configuration for these settings. + */ + +/** + * Serializes the settings data back to a string to be written to disk. + * + * @typedef {Function} gpii.settinghandlers.parser.stringify + * @param {Object} stringify.settings - The solution settings for this configuration. + * @param {Object} stringify.options - The `options` block from the settings handler configuration for these settings. + */ + +/** + * `fetcher` is a function that returns a path to the file containing the data for this settings handler. This allows + * dynamic resolution of the file during the life cycle. The original purpose and example for this was the current user + * profile in JAWS, which is stored in another system settings file. This allows the current user profile setting and + * file to be looked up and used to find the settings for the current handler. + * + * @typedef {Function} gpii.settingsHandlers.fetcher + * @param {Object} options - The `options` block from the settings handler configuration for these settings. + */ /* * Utility for file-based settings handler. Handle individual solution entry data. The 'modifier' function passed as @@ -482,12 +518,28 @@ gpii.settingsHandlers.transformFilePayload = function (payload, modifier, parser }); }; +/** + * Used for defining settings handler `get` functions supporting different file types. The supplied `parser` and + * `fetcher` will be specific to the file format and settings handler. + * + * @param {gpii.settingsHandlers.parser} parser - Parser for the file contents. + * @param {gpii.settingsHandlers.fetcher} fetcher - Optional fetcher to adjust the filename dynamically. + * @return {Object} GPII Settings from the file. + */ gpii.settingsHandlers.makeFileGet = function (parser, fetcher) { return function (payload) { return gpii.settingsHandlers.transformFilePayload(payload, gpii.settingsHandlers.getSettings, parser, false, fetcher); }; }; +/** + * Used for defining settings handler `set` functions supporting different file types. The supplied `parser` and + * `fetcher` will be specific to the file format and settings handler. + * + * @param {gpii.settingsHandlers.parser} parser - Parser for the file contents. + * @param {gpii.settingsHandlers.fetcher} fetcher - Optional fetcher to adjust the filename dynamically. + * @return {String} Serialized GPII Settings to write to file. + */ gpii.settingsHandlers.makeFileSet = function (parser, fetcher) { return function (payload) { return gpii.settingsHandlers.transformFilePayload(payload, gpii.settingsHandlers.setSettings, parser, true, fetcher); From 6f3edbce5ab416f30291fe43d92f603f3293b0f2 Mon Sep 17 00:00:00 2001 From: Steven Githens Date: Thu, 14 May 2020 10:11:24 -0700 Subject: [PATCH 27/27] GPII-4226 Renaming JAWS settings handler option keys to be more meaningful --- .../src/JawsSettingsHandler.js | 14 ++++++------- .../test/JawsSettingsHandlerTests.js | 8 ++++---- testData/solutions/win32.json5 | 4 ++-- tests/CloseConflictingAppsTests.js | 8 ++++---- .../platform/windows/windows-jaws-testSpec.js | 20 +++++++++---------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js b/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js index f3ed5086d..afcc0e0f5 100644 --- a/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js +++ b/gpii/node_modules/settingsHandlers/src/JawsSettingsHandler.js @@ -23,11 +23,11 @@ require("./INISettingsHandler.js"); fluid.registerNamespace("gpii.settingsHandlers.JAWSSettingsHandler.parser"); -gpii.settingsHandlers.JAWSSettingsHandler.getProfileFileName = function (options) { +gpii.settingsHandlers.JAWSSettingsHandler.getVoiceProfileFileName = function (options) { var iniPayload = { "com.freedomscientific.jaws": [{ options: { - "filename": options.filename + "defaultSettingsFilePath": options.defaultSettingsFilePath }, settings: { "Voice Profiles.ActiveVoiceProfileName": null @@ -36,20 +36,20 @@ gpii.settingsHandlers.JAWSSettingsHandler.getProfileFileName = function (options }; var response = gpii.settingsHandlers.INISettingsHandler.get(iniPayload); var solutions = response["com.freedomscientific.jaws"]; - var filename = undefined; + var voiceProfileFileName = undefined; if (Array.isArray(solutions) && solutions.length) { var solution = solutions[0]; var settingValue = fluid.get(solution, ["settings", "Voice Profiles.ActiveVoiceProfileName"]); if (settingValue) { - filename = path.join(options.foldername, settingValue + ".VPF"); + voiceProfileFileName = path.join(options.voiceProfilesDirPath, settingValue + ".VPF"); } else { - filename = path.join(options.foldername, "Eloquence.VPF"); + voiceProfileFileName = path.join(options.voiceProfilesDirPath, "Eloquence.VPF"); } } - return filename; + return voiceProfileFileName; }; gpii.settingsHandlers.JAWSSettingsHandler.parser.parse = function (content, options) { @@ -57,7 +57,7 @@ gpii.settingsHandlers.JAWSSettingsHandler.parser.parse = function (content, opti }; gpii.settingsHandlers.JAWSSettingsHandler.parser.stringify = function (content, options) { - return gpii.iniFile.writeFromFile(options.filename, content, options); + return gpii.iniFile.writeFromFile(options.defaultSettingsFilePath, content, options); }; /* PUBLIC API FUNCTIONS */ diff --git a/gpii/node_modules/settingsHandlers/test/JawsSettingsHandlerTests.js b/gpii/node_modules/settingsHandlers/test/JawsSettingsHandlerTests.js index 61c068a34..7cdeeeec6 100644 --- a/gpii/node_modules/settingsHandlers/test/JawsSettingsHandlerTests.js +++ b/gpii/node_modules/settingsHandlers/test/JawsSettingsHandlerTests.js @@ -16,8 +16,8 @@ var test = { payload: { "com.freedomscientific.jaws": [{ options: { - "filename": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" }, settings: { "ENU-Global.Pitch": 90 @@ -27,8 +27,8 @@ var test = { expectedResult: { "com.freedomscientific.jaws": [{ options: { - "filename": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "C:\\Users\\vagrant\\AppData\\Roaming\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" }, settings: { "ENU-Global.Pitch": { diff --git a/testData/solutions/win32.json5 b/testData/solutions/win32.json5 index 52d3ee18e..bbee54937 100644 --- a/testData/solutions/win32.json5 +++ b/testData/solutions/win32.json5 @@ -5867,8 +5867,8 @@ "liveness": "manualRestart", "options": { // TODO: Create a base grade for JAWS and version-specific variations. Make JAWS 2019 the default. Restart version-detection discussions and "capability" discussions. - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" }, "supportedSettings": { // -------- Options ---------- diff --git a/tests/CloseConflictingAppsTests.js b/tests/CloseConflictingAppsTests.js index 797a9ed9d..972c16291 100644 --- a/tests/CloseConflictingAppsTests.js +++ b/tests/CloseConflictingAppsTests.js @@ -142,8 +142,8 @@ gpii.tests.conflictingApps.testDefs = [ // "ENU-MenuAndDialog.Pitch": 11 }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -201,8 +201,8 @@ gpii.tests.conflictingApps.testDefs = [ // "ENU-MenuAndDialog.Pitch": 11 }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] diff --git a/tests/platform/windows/windows-jaws-testSpec.js b/tests/platform/windows/windows-jaws-testSpec.js index 5c57593de..89465dc0e 100644 --- a/tests/platform/windows/windows-jaws-testSpec.js +++ b/tests/platform/windows/windows-jaws-testSpec.js @@ -129,8 +129,8 @@ gpii.tests.windows.jaws.testDefs = [ // "ENU-PCCursor.SynthLangString": "Italian" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -199,8 +199,8 @@ gpii.tests.windows.jaws.testDefs = [ // "ENU-PCCursor.SynthLangString": "Italian" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -268,8 +268,8 @@ gpii.tests.windows.jaws.testDefs = [ // "ENU-MenuAndDialog.SynthLangString": "French" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -336,8 +336,8 @@ gpii.tests.windows.jaws.testDefs = [ // "ENU-MenuAndDialog.SynthLangString": "Italian" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ] @@ -405,8 +405,8 @@ gpii.tests.windows.jaws.testDefs = [ // "ENU-MenuAndDialog.SynthLangString": "French Canadian" }, "options": { - "filename": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", - "foldername": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" + "defaultSettingsFilePath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\enu\\DEFAULT.JCF", + "voiceProfilesDirPath": "${{environment}.APPDATA}\\Freedom Scientific\\JAWS\\2019\\Settings\\VoiceProfiles" } } ]