<schemalist>
    <enum id="org.onboard.keyboard.StatusIconProvider">
        <value nick="GtkStatusIcon" value="0"/>
        <value nick="AppIndicator" value="1"/>
    </enum>

    <schema id="org.onboard" path="/org/onboard/">
        <key name="schema-version" type="s">
            <default>""</default>
            <summary>Schema version</summary>
            <description>Version of this configuration schema. Set on first start.</description>
        </key>
        <key name="use-system-defaults" type="b">
            <default>true</default>
            <summary>Use system defaults</summary>
            <description>If true, get configuration from system defaults first. This flag will be reset on first start.</description>
        </key>
        <key name="layout" type="s">
            <default>''</default>
            <summary>Layout filename</summary>
            <description>Name of the file or basename of the current layout.</description>
        </key>
        <key name="theme" type="s">
            <default>''</default>
            <summary>Theme filename</summary>
            <description>Name of the file or basename of the current theme.</description>
        </key>
        <key name="system-theme-tracking-enabled" type="b">
            <default>true</default>
            <summary>Track changes of the current GTK-theme.</summary>
            <description>Switch onboard themes of matching basenames in sync with the current GTK-theme.</description>
        </key>
        <key name="system-theme-associations" type="a{ss}">
            <default>{'HighContrast' : 'HighContrast', 'HighContrastInverse' : 'HighContrastInverse', 'LowContrast' : 'LowContrast'}</default>
            <summary>System theme associations</summary>
            <description>List of encountered system themes (GTK-themes) and the Onboard themes they are linked to.</description>
        </key>
        <key name="show-status-icon" type="b">
            <default>true</default>
            <summary>Show status icon instead of the classic minimize.</summary>
            <description>Display an icon in the notification area to hide and show onboard.</description>
        </key>
        <key name="status-icon-provider" enum="org.onboard.keyboard.StatusIconProvider">
            <default>"AppIndicator"</default>
            <summary>Status icon provider</summary>
            <description>Choose between status icon implementations. AppIndicator shows Onboard on middle-click activation, GtkStatusIcon on left-click.
If unavailable, 'AppIndicator' falls back to GtkStatusIcon.
            </description>
        </key>
        <key name="start-minimized" type="b">
            <default>false</default>
            <summary>Start onboard with a minimized window.</summary>
            <description>Do not display the onboard window on start; start onboard minimized.</description>
        </key>
        <key name="xembed-onboard" type="b">
            <default>false</default>
            <summary>Show onboard when unlocking the screen.</summary>
            <description>Make onboard appear in conjunction to the dialog to unlock the screen.</description>
        </key>
        <key name="show-tooltips" type="b">
            <default>true</default>
            <summary>Show tooltips.</summary>
            <description>Show tooltips for certain buttons of the keyboard.</description>
        </key>
        <key name="snippets" type="as">
            <default>[ '0:Onboard\\nHome:https\\://launchpad.net/onboard', '1:Example:Create your macros here.' ]</default>
            <summary>Label and text for the snippet keys</summary>
            <description>Define labels and text lines for the snippet keys in the format index:label:text Allowed escape sequences are "\n" for newline, "\:" for a colon and "\\"  for a backslash.</description>
        </key>
        <key name="key-label-font" type="s">
            <default>''</default>
            <summary>Default font of key labels</summary>
            <description>Default font of key labels. Applies to all themes which don't specify their font.'</description>
        </key>
        <key name="key-label-overrides" type="as">
            <default>[]</default>
            <summary>Default key label overrides</summary>
            <description>Optional key labels and and size groups that override the layouts labels. Merged with current themes key_label_overrides. Format: ["key_id:label:group",...]. Colons and backslashes have to be escaped as "\:" and "\\".</description>
        </key>
        <key name="current-settings-page" type="i">
            <default>0</default>
            <summary>Current settings page</summary>
            <description>Current tab page of onboard-settings.</description>
        </key>
        <child name="auto-show" schema="org.onboard.auto-show" />
        <child name="keyboard" schema="org.onboard.keyboard" />
        <child name="window" schema="org.onboard.window" />
        <child name="icon-palette" schema="org.onboard.icon-palette" />
        <child name="universal-access" schema="org.onboard.universal-access" />
        <child name="theme-settings" schema="org.onboard.theme-settings" />
        <child name="lockdown" schema="org.onboard.lockdown" />
        <child name="scanner" schema="org.onboard.scanner" />
        <child name="typing-assistance" schema="org.onboard.typing-assistance" />
    </schema>

    <schema id="org.onboard.auto-show" path="/org/onboard/auto-show/">
        <key name="enabled" type="b">
            <default>false</default>
            <summary>Auto-show enabled</summary>
            <description>Auto-show Onboard for editable widgets. Requires gnome-accessibility (at-spi2).</description>
        </key>
        <key name="widget-clearance" type="(dddd)">
            <default>(25.0, 55.0, 25.0, 40.0)</default>
            <summary>Widget clearance</summary>
            <description>Border to leave unoccluded around a focused text widget (left, top, right, bottom).</description>
        </key>
    </schema>

    <enum id="org.onboard.keyboard.DefaultKeyAction">
        <value nick="single-stroke" value="0"/>
        <value nick="delayed-stroke" value="1"/>
    </enum>
    <enum id="org.onboard.keyboard.KeySynth">
        <value nick="XTest" value="0"/>
        <value nick="AT-SPI" value="1"/>
    </enum>
    <enum id="org.onboard.keyboard.TouchInput">
        <value nick="none" value="0"/>
        <value nick="single" value="1"/>
        <value nick="multi" value="2"/>
    </enum>
    <enum id="org.onboard.keyboard.InputEventSource">
        <value nick="GTK" value="0"/>
        <value nick="XInput" value="1"/>
    </enum>

    <schema id="org.onboard.keyboard" path="/org/onboard/keyboard/">
        <key name="show-click-buttons" type="b">
            <default>false</default>
            <summary>Show click buttons</summary>
            <description>Show mouse click buttons.</description>
        </key>
        <key name="sticky-key-release-delay" type="d">
            <default>0.0</default>
            <summary>Auto-release sticky keys</summary>
            <description>Time of inactivity in seconds until latched and locked modifiers and layer keys are released automatically. This applies no matter if the keyboard is hidden or visible, but when hidden, "sticky-key-release-on-hide-delay" may release the keys earlier. Leave at 0.0 to not automatically release them.</description>
        </key>
        <key name="sticky-key-release-on-hide-delay" type="d">
            <default>5.0</default>
            <summary>Auto-release sticky keys after hiding the keyboard</summary>
            <description>Time after hiding the keyboard in seconds until latched and locked modifiers and layer keys are released automatically. Leave at 0.0 to not automatically release them.</description>
        </key>
        <key name='sticky-key-behavior' type='a{ss}'>
            <default>{'all' : 'cycle'}</default>
            <summary>Behavior of sticky keys</summary>
            <description>Controls the behavior of sticky keys, e.g. modifier and layer keys.
Groups of keys or single keys may be assigned individual behaviors.
Valid groups are 'all', 'modifiers' and 'layers'. Individual keys may be specified by their ids defined in the .layout files.
Valid behaviors are: 'cycle' (default), 'dblclick', 'latch', and 'lock'.
            </description>
        </key>
        <key name="default-key-action" enum="org.onboard.keyboard.DefaultKeyAction">
            <default>"delayed-stroke"</default>
            <summary>Default key action</summary>
            <description>The key action determines when key strokes are generated.
single-stroke: generate key-press on button down, key-release on button-up. If the system is configured to do so, holding the button down long enough initiates key repeats.
delayed-stroke: generate key-press and key-release on button-release, there is no support for key-repeat, but holding the button down long enough generates a long press.
            </description>
        </key>
        <key name="key-synth" enum="org.onboard.keyboard.KeySynth">
            <default>"XTest"</default>
            <summary>Key synthesizer</summary>
            <description>The key-stroke generator to use.</description>
        </key>
        <key name="long-press-delay" type="d">
            <default>0.5</default>
            <summary>Long-press delay</summary>
            <description>Time pressing a key down until a long-press is detected.</description>
        </key>
        <key name="touch-input"  enum="org.onboard.keyboard.TouchInput">
            <default>"multi"</default>
            <summary>Touch input handling</summary>
            <description>Listen to touch events and if enabled, allow pressing multiple keys simultaneously. Requires restart of Onboard.</description>
        </key>
        <key name="input-event-source"  enum="org.onboard.keyboard.InputEventSource">
            <default>"XInput"</default>
            <summary>Input event source</summary>
            <description>Receive pointing device events from either GTK (safe) or XInput (experimental, but recommended if it works). XInput gets around many pointer grabs, i.e. allows to freely enter text into text entries with pop-up windows, for example the firefox URL-bar.</description>
        </key>
        <key name="touch-feedback-enabled" type="b">
            <default>false</default>
            <summary>Touch feedback enabled</summary>
            <description>Show extra labels above currently pressed keys.</description>
        </key>
        <key name="touch-feedback-size" type="i">
            <default>0</default>
            <summary>Touch-feedback size</summary>
            <description>Size of the touch-feedback popup in pixels. 0 to let Onboard guess it based on physical monitor size.</description>
        </key>
        <key name="audio-feedback-enabled" type="b">
            <default>false</default>
            <summary>Audio feedback</summary>
            <description>Play a sound when a key is pressed.</description>
        </key>
        <key name="show-secondary-labels" type="b">
            <default>false</default>
            <summary>Show secondary labels</summary>
            <description>Show additional key labels of different modifier levels.</description>
        </key>
    </schema>

    <enum id="org.onboard.window.DockingEdge">
        <value nick="top" value="0"/>
        <value nick="bottom" value="3"/>
    </enum>

    <schema id="org.onboard.window" path="/org/onboard/window/">
        <key name="window-state-sticky" type="b">
            <default>true</default>
            <summary>Always on visible workspace</summary>
            <description>Show keyboard and icon palette always on visible workspace.</description>
        </key>
        <key name="window-decoration" type="b">
            <default>false</default>
            <summary>Window decoration</summary>
            <description>Show window title bar and frame.</description>
        </key>
        <key name="force-to-top" type="b">
            <default>false</default>
            <summary>Force window to top</summary>
            <description>Use window type hint 'DOCK' for Onboards main window. This allows Onboard to type into Unity dash.</description>
        </key>
        <key name="keep-aspect-ratio" type="b">
            <default>false</default>
            <summary>Keep the window's aspect ratio'</summary>
            <description>Constrain the size of the main window to the layout's aspect ratio.</description>
        </key>
        <key name="transparent-background" type="b">
            <default>false</default>
            <summary>Transparent window background</summary>
            <description>Makes the background of the keyboard fully transparent.</description>
        </key>
        <key name="transparency" type="d">
            <default>0.0</default>
            <summary>Window transparency</summary>
            <description>Transparency of the keyboard window.</description>
        </key>
        <key name="background-transparency" type="d">
            <default>10</default>
            <summary>Background transparency</summary>
            <description>Transparency of the background of the keyboard window.</description>
        </key>
        <key name="enable-inactive-transparency" type="b">
            <default>false</default>
            <summary>Inactive transparency change enabled</summary>
            <description>Change transparency on inactivity.</description>
        </key>
        <key name="inactive-transparency" type="d">
            <default>50.0</default>
            <summary>Inactive window transparency</summary>
            <description>Transparency after leaving onboards window.</description>
        </key>
        <key name="inactive-transparency-delay" type="d">
            <default>1.0</default>
            <summary>Inactive transparency delay</summary>
            <description>Delay in seconds from leaving Onboards window until the inactive transparency takes effect.</description>
        </key>
        <key name="resize-handles" type="s">
            <default>"E SE S SW W NW N NE"</default>
            <summary>Resize handles</summary>
            <description>Active resize handles, space separated.</description>
        </key>
        <key name="docking-enabled" type="b">
            <default>false</default>
            <summary>Docking enabled</summary>
            <description>Enable docking of the keyboard window to screen edges. 'False' to leave the keaboard floating.</description>
        </key>
        <key name="docking-edge" enum="org.onboard.window.DockingEdge">
            <default>"bottom"</default>
            <summary>Docking screen edge</summary>
            <description>Edge to dock the keyboard window at.</description>
        </key>
        <key name="docking-shrink-workarea" type="b">
            <default>true</default>
            <summary>Shrink workarea when docked.</summary>
            <description>When docked, shrink the avaliable space for maximized windows.</description>
        </key>

        <child name="landscape" schema="org.onboard.window.landscape"/>
        <child name="portrait"  schema="org.onboard.window.portrait"/>
    </schema>

    <schema id="org.onboard.window.landscape" path="/org/onboard/window/landscape/">
        <key name="x" type="i">
            <default>100</default>
            <summary>X position of the keyboard</summary>
            <description>Horizontal position of the keyboard window.</description>
        </key>
        <key name="y" type="i">
            <default>50</default>
            <summary>Y position of the keyboard</summary>
            <description>Vertical position of the keyboard window.</description>
        </key>
        <key name="width" type="i">
            <default>700</default>
            <summary>Window width</summary>
            <description>Width of the keyboard window.</description>
        </key>
        <key name="height" type="i">
            <default>205</default>
            <summary>Window height</summary>
            <description>Height of the keyboard window.</description>
        </key>
        <key name="dock-width" type="i">
            <default>700</default>
            <summary>Docked window height</summary>
            <description>Height of the docked keyboard window.</description>
        </key>
        <key name="dock-height" type="i">
            <default>205</default>
            <summary>Docked window height</summary>
            <description>Height of the docked keyboard window.</description>
        </key>
        <key name="dock-expand" type="b">
            <default>true</default>
            <summary>Docked expansion</summary>
            <description>Expand the keyboard to the edges of the workarea when docked.</description>
        </key>
    </schema>

    <schema id="org.onboard.window.portrait" path="/org/onboard/window/portrait/">
        <key name="x" type="i">
            <default>100</default>
            <summary>X position of the keyboard</summary>
            <description>Horizontal position of the keyboard window.</description>
        </key>
        <key name="y" type="i">
            <default>50</default>
            <summary>Y position of the keyboard</summary>
            <description>Vertical position of the keyboard window.</description>
        </key>
        <key name="width" type="i">
            <default>600</default>
            <summary>Window width</summary>
            <description>Width of the keyboard window.</description>
        </key>
        <key name="height" type="i">
            <default>200</default>
            <summary>Window height</summary>
            <description>Height of the keyboard window..</description>
        </key>
        <key name="dock-width" type="i">
            <default>600</default>
            <summary>Docked window height</summary>
            <description>Height of the docked keyboard window.</description>
        </key>
        <key name="dock-height" type="i">
            <default>200</default>
            <summary>Docked window height</summary>
            <description>Height of the docked keyboard window.</description>
        </key>
        <key name="dock-expand" type="b">
            <default>true</default>
            <summary>Docked expansion</summary>
            <description>Expand the keyboard to the edges of the workarea when docked.</description>
        </key>
    </schema>

    <schema id="org.onboard.icon-palette" path="/org/onboard/icon-palette/">
        <key name="in-use" type="b">
            <default>false</default>
            <summary>Show icon palette when onboard is minimized.</summary>
            <description>Display a floating icon when onboard is minimized. By clicking on it, onboard reappears.</description>
        </key>
        <key name="resize-handles" type="s">
            <default>"E SE S SW W NW N NE"</default>
            <summary>Resize handles</summary>
            <description>Active resize handles, space separated.</description>
        </key>
        <child name="landscape" schema="org.onboard.icon-palette.landscape"/>
        <child name="portrait" schema="org.onboard.icon-palette.portrait"/>
    </schema>

    <schema id="org.onboard.icon-palette.landscape" path="/org/onboard/icon-palette/landscape/">
        <key name="x" type="i">
            <default>100</default>
            <summary>Horizontal position of the icon palette.</summary>
            <description>Horizontal position of the icon palette on the screen.</description>
        </key>
        <key name="y" type="i">
            <default>50</default>
            <summary>Vertical position of the icon palette.</summary>
            <description>Vertical position of the icon palette on the screen.</description>
        </key>
        <key name="width" type="i">
            <default>64</default>
            <summary>Width of the icon palette.</summary>
            <description>Horizontal size in pixel of the icon palette.</description>
        </key>
        <key name="height" type="i">
            <default>64</default>
            <summary>Height of the icon palette.</summary>
            <description>Vertical size in pixel of the icon palette.</description>
        </key>
    </schema>

    <schema id="org.onboard.icon-palette.portrait" path="/org/onboard/icon-palette/portrait/">
        <key name="x" type="i">
            <default>100</default>
            <summary>Horizontal position of the icon palette.</summary>
            <description>Horizontal position of the icon palette on the screen.</description>
        </key>
        <key name="y" type="i">
            <default>50</default>
            <summary>Vertical position of the icon palette.</summary>
            <description>Vertical position of the icon palette on the screen.</description>
        </key>
        <key name="width" type="i">
            <default>64</default>
            <summary>Width of the icon palette.</summary>
            <description>Horizontal size in pixel of the icon palette.</description>
        </key>
        <key name="height" type="i">
            <default>64</default>
            <summary>Height of the icon palette.</summary>
            <description>Vertical size in pixel of the icon palette.</description>
        </key>
    </schema>

    <schema id="org.onboard.universal-access" path="/org/onboard/universal-access/">
        <key name="drag-threshold" type="i">
            <default>-1</default>
            <summary>Drag threshold</summary>
            <description>Accidental resize and move protection. Threshold is the distance in pixels the pointer has to travel before the drag begins. -1 for system drag threshold, 0 to disable and any positive integer as custom threshold.</description>
        </key>
        <key name="hide-click-type-window" type="b">
            <default>true</default>
            <summary>Hide hover click click-type window</summary>
            <description>When Hover Click is enabled, hide the system-provided window for click type selection.</description>
        </key>
        <key name="enable-click-type-window-on-exit" type="b">
            <default>true</default>
            <summary>Enable click-type window on exit</summary>
            <description>Always enable the system provided window for click-type selection when exiting onboard.
This key is deprecated and has no effect with mousetweaks version 3.10.0 or later.</description>
        </key>
    </schema>

    <schema id="org.onboard.theme-settings" path="/org/onboard/theme-settings/">
        <key name="color-scheme" type="s">
            <default>''</default>
            <summary>Color scheme filename</summary>
            <description>Name of the file with the color scheme.</description>
        </key>
        <key name="background-gradient" type="d">
            <default>0.0</default>
            <summary>Strength of the background gradient</summary>
            <description>Strength of the background gradient. Range 0-100%, with 0 for flat color.</description>
        </key>
        <key name="key-style" type="s">
            <default>'flat'</default>
            <summary>Key style</summary>
            <description>Drawing style of the keys. Valid values are currently "flat" and "gradient".</description>
        </key>
        <key name="roundrect-radius" type="d">
            <default>0.0</default>
            <summary>Roundness</summary>
            <description>Radius of rounded corners around the keys. Range 0-100%, with 0 for fully rectangular keys.</description>
        </key>
        <key name="key-size" type="d">
            <default>100.0</default>
            <summary>Key size</summary>
            <description>Size of all keys relative to the layout definition in percent .</description>
        </key>
        <key name="key-stroke-width" type="d">
            <default>100.0</default>
            <summary>Width of the key border</summary>
            <description>Width of the border in percent of the style default. Minimum width in screen coordinates is 1 pixel. A value of 0 turns the line off.</description>
        </key>
        <key name="key-fill-gradient" type="d">
            <default>0.0</default>
            <summary>Strength of the fill gradient</summary>
            <description>Strength of the keys' fill gradient. Range 0-100%, with 0 for flat color.</description>
        </key>
        <key name="key-stroke-gradient" type="d">
            <default>0.0</default>
            <summary>Strength of the stroke gradient</summary>
            <description>Strength of the keys' outline gradient. Range 0-100%, with 0 for flat color.</description>
        </key>
        <key name="key-gradient-direction" type="d">
            <default>0.0</default>
            <summary>Gradient direction</summary>
            <description>Direction of simulated incoming light. 0-360 degrees, where 0 stands for light from the top.</description>
        </key>
        <key name="key-label-font" type="s">
            <default>''</default>
            <summary>Font for key-labels</summary>
            <description>Font for key labels. May include the modifiers 'bold', 'italic', 'condensed', separated by spaces. </description>
        </key>
        <key name="key-label-overrides" type="as">
            <default>[]</default>
            <summary>Key label overrides</summary>
            <description>Optional key labels and and size groups that override the layouts labels. Format: ["key_id:label:group",...]. Colons and backslashes have to be escaped as "\:" and "\\".</description>
        </key>
        <key name="key-shadow-strength" type="d">
            <default>0.0</default>
            <summary>Shadow strength</summary>
            <description>Strength of the keys' shadows. Range 0-100%, 0 turns shadows off.</description>
        </key>
        <key name="key-shadow-size" type="d">
            <default>0.0</default>
            <summary>Shadow size</summary>
            <description>Size and offset of the keys' shadows. Range 0-100%.</description>
        </key>
    </schema>

    <schema id="org.onboard.lockdown" path="/org/onboard/lockdown/">
        <key name="disable-click-buttons" type="b">
            <default>false</default>
            <summary>Disallow showing click helpers</summary>
            <description>Disallow showing click buttons.</description>
        </key>
        <key name="disable-hover-click" type="b">
            <default>false</default>
            <summary>Disable hover click button</summary>
            <description>Disable Onboard's hover click button. Hover click can still be turned on in gnome system settings.</description>
        </key>
        <key name="disable-dwell-activation" type="b">
            <default>false</default>
            <summary>Disable dwell-activation</summary>
            <description>Disable dwell-activation of all dwell-enabled buttons and the icon palette. This has no affect on the system-wide available hover click functionality.</description>
        </key>
        <key name="disable-preferences" type="b">
            <default>false</default>
            <summary>Disallow opening preferences</summary>
            <description>Disallow opening Onboards preferences via button and status menu. Onboard-settings can still be started from the desktop shortcut and from command line.</description>
        </key>
        <key name="disable-quit" type="b">
            <default>false</default>
            <summary>Disallow quitting Onboard</summary>
            <description>Disallow quitting Onboard by pressing the quit button or choosing quit from the status menu. Onboard then only closes by sending SIGTERM, i.e. killing it.</description>
        </key>
        <key name="disable-touch-handles" type="b">
            <default>false</default>
            <summary>Never show touch handles</summary>
            <description>Never show the enlarged move/resize handles for touch and hover click users.</description>
        </key>
        <key name="disable-keys" type="aas">
            <default>[["CTRL", "LALT", "F[0-9]+"]]</default>
            <summary>Disable keys</summary>
            <description>Disable the key action for the listed key combinations. Entries consist of a regex pattern to match Onboard's key ids, preceeded by optional modifiers.
Available modifiers are: SHIFT, CTRL, LALT, RALT, LWIN, CAPS, NMLK
Example: [["LALT", "TAB"], ["LALT", "SHIFT", "TAB"], ["CTRL", "ALT", "F[0-9]+"]]
            </description>
        </key>
    </schema>

    <enum id="org.onboard.scanner.ScanMode">
        <value nick="Autoscan" value="0"/>
        <value nick="Overscan" value="1"/>
        <value nick="Stepscan" value="2"/>
        <value nick="Directed" value="3"/>
    </enum>

    <schema id="org.onboard.scanner" path="/org/onboard/scanner/">
        <key name="enabled" type="b">
            <default>false</default>
            <summary>Enable scanner</summary>
            <description>Set Onboard to keyboard scanning mode.</description>
        </key>
        <key name="mode" enum="org.onboard.scanner.ScanMode">
            <default>"Autoscan"</default>
            <summary>Scan mode</summary>
            <description>The scan mode determines how the scanner moves between keys.</description>
        </key>
        <key name="interval" type="d">
            <default>1.20</default>
            <summary>Scanning interval</summary>
            <description>The delay before the scanner selects the next key. (in seconds)</description>
        </key>
        <key name="interval-fast" type="d">
            <default>0.05</default>
            <summary>Fast scanning interval</summary>
            <description>The scanning interval used for forward progression in 'Overscan' mode. (in seconds)</description>
        </key>
        <key name="cycles" type="i">
            <default>2</default>
            <summary>Scannig cycles</summary>
            <description>The maximum number of keyboard cycles before the scanner stops.</description>
        </key>
        <key name="backtrack" type="i">
            <default>5</default>
            <summary>Amount of backtracking</summary>
            <description>The number of keys the scanner will backtrack in 'Overscan' mode.</description>
        </key>
        <key name="user-scan" type="b">
            <default>false</default>
            <summary>User scan</summary>
            <description>The scanner should only step while the switch is held down. ('Autoscan' mode)</description>
        </key>
        <key name="alternate" type="b">
            <default>false</default>
            <summary>Alternate actions</summary>
            <description>The scanner should swap switch actions after every key activation. ('Stepscan' mode)</description>
        </key>
        <key name="device-name" type="s">
            <default>"Default"</default>
            <summary>Input device name</summary>
            <description>The name of the input device used for scanning.</description>
        </key>
        <key name="device-detach" type="b">
            <default>false</default>
            <summary>Detach input device</summary>
            <description>The input device should not control the system cursor/caret.</description>
        </key>
        <key name="device-key-map" type="a{ii}">
            <default>{}</default>
            <summary>Key mapping</summary>
            <description>Maps key values to scan actions. (Format: keyval:action)</description>
        </key>
        <key name="device-button-map" type="a{ii}">
            <default>{1:0,3:5}</default>
            <summary>Button mapping</summary>
            <description>Maps mouse buttons to scan actions. (Format: button:action)</description>
        </key>
        <key name="feedback-flash" type="b">
            <default>true</default>
            <summary>Flash keys</summary>
            <description>Keys should flash when activated.</description>
        </key>
    </schema>

    <enum id="org.onboard.typing-assistance.spell-check.Backend">
        <value nick="hunspell" value="0"/>
        <value nick="aspell" value="1"/>
    </enum>

    <schema id="org.onboard.typing-assistance" path="/org/onboard/typing-assistance/">
        <key name="active-language" type="s">
            <default>""</default>
            <summary>Active language.</summary>
            <description>Currently active language id for word prediction and spell checker. The format is ll[_CC] where ll is a ISO 639 two letter language code and CC a ISO 3166 country code, e.g. en_US, de_DE. Leave it empty for the system default language.</description>
        </key>
        <key name="recent-languages" type="as">
            <default>[]</default>
            <summary>Most recently used languages.</summary>
            <description>List of most recently used languages.</description>
        </key>
        <key name="max-recent-languages" type="i">
            <default>5</default>
            <summary>Maximum number of recently used languages.</summary>
            <description>The maximum number of recently used languages visible in the language menu.</description>
        </key>
        <key name="spell-check-backend" enum="org.onboard.typing-assistance.spell-check.Backend">
            <default>"hunspell"</default>
            <summary>Backend</summary>
            <description>The spell checker backend.</description>
        </key>
        <key name="auto-capitalization" type="b">
            <default>false</default>
            <summary>Auto-capitalization enabled</summary>
            <description>Automatically capitalize words while typing.</description>
        </key>
        <key name="auto-correction" type="b">
            <default>false</default>
            <summary>Auto-correction enabled</summary>
            <description>Automatically correct words while typing.</description>
        </key>

        <child name="word-suggestions" schema="org.onboard.typing-assistance.word-suggestions" />
    </schema>

    <schema id="org.onboard.typing-assistance.word-suggestions" path="/org/onboard/typing-assistance/word-suggestions/">
        <key name="enabled" type="b">
            <default>false</default>
            <summary>Word suggestions enabled</summary>
            <description>Set to 'true' to enable word suggestions.</description>
        </key>
        <key name="spelling-suggestions-enabled" type="b">
            <default>true</default>
            <summary>Spelling suggestions enabled</summary>
            <description>Set to 'true' to enable spelling suggestions for mispelled words at or before the cursor.</description>
        </key>
        <key name="auto-learn" type="b">
            <default>true</default>
            <summary>Enable automatic learning</summary>
            <description>Continiously improve the word prediction with typed and selected words.</description>
        </key>
        <key name="pause-learning-locked" type="b">
            <default>false</default>
            <summary>Pause learning</summary>
            <description>Lock the button to pause learning.</description>
        </key>
        <key name="punctuation-assistance" type="b">
            <default>true</default>
            <summary>Enable punctuation assistance</summary>
            <description>Add and remove spaces when inserting word suggestions followed by punctuation characters.</description>
        </key>
        <key name="stealth-mode" type="b">
            <default>false</default>
            <summary>Enable stealth mode</summary>
            <description>Stealth mode disables word prediction, auto learning and the typing history for secure password entry.</description>
        </key>
        <key name="accent-insensitive" type="b">
            <default>true</default>
            <summary>Accent insensitive</summary>
            <description>Enable accent insensitive word completion.</description>
        </key>
        <key name="max-word-choices" type="i">
            <default>5</default>
            <summary>Maximum number of predictions.</summary>
            <description>The maximum number of visible predicted words.</description>
        </key>
        <key name="show-context-line" type="b">
            <default>false</default>
            <summary>Show the context line</summary>
            <description>Display the currently edited text line in the keyboard.</description>
        </key>
        <key name="wordlist-buttons" type="as">
            <default>["language", "hide"]</default>
            <summary>Buttons visible in the word suggestion bar</summary>
            <description>Key ids and order of buttons visible on the word suggestion bar.</description>
        </key>
    </schema>
</schemalist>

