<?xml version="1.0"?>
<wayfire>
	<plugin name="input">
		<_short>Input</_short>
		<_long>Input configuration.</_long>
		<category>General</category>
			<option name="left_handed_mode" type="bool">
				<_short>Left-handed mode</_short>
				<_long>Switches the device’s functionality to be more accommodating for left-handed users.</_long>
				<default>false</default>
			</option>
		<!-- Keyboard -->
		<group>
			<_short>Keyboard</_short>
			<_long>Configure the keyboard.</_long>
			<!-- Modifier -->
			<option name="modifier_binding_timeout" type="int">
				<_short>Modifier binding timeout</_short>
				<_long>Cancels modifier actions (like `Super` for the `expo` plugin) when held for the specified timeout (in milliseconds).  Setting the value to **0** never cancels.</_long>
				<default>400</default>
			</option>
			<!-- Keyboard configuration -->
			<option name="kb_repeat_delay" type="int">
				<_short>Key repeat delay</_short>
				<_long>Sets the amount of time a key must be held before it starts repeating.</_long>
				<default>400</default>
			</option>
			<option name="kb_repeat_rate" type="int">
				<_short>Key repeat rate</_short>
				<_long>Sets the frequency of key repeats once the `input.kb_repeat_delay` has passed.</_long>
				<default>40</default>
			</option>
			<option name="kb_numlock_default_state" type="bool">
				<_short>Numlock default state</_short>
				<_long>Default numlock state when wayfire starts.</_long>
				<default>false</default>
			</option>
			<option name="kb_capslock_default_state" type="bool">
				<_short>Capslock default state</_short>
				<_long>Default capslock state when wayfire starts.</_long>
				<default>false</default>
			</option>
			<!-- XKB configuration -->
			<option name="xkb_layout" type="string">
				<_short>XKB layout</_short>
				<_long>Sets the layout of the keyboard, like `us` or `fr`.  Multiple layouts can be specified by separating them with commas.</_long>
				<default>us</default>
			</option>
			<option name="xkb_model" type="string">
				<_short>XKB model</_short>
				<_long>Sets the model of the keyboard.  This has an influence for some extra keys your keyboard might have.</_long>
				<default></default>
			</option>
			<option name="xkb_options" type="string">
				<_short>XKB options</_short>
				<_long>Sets extra XKB configuration options for the keyboard.  Multiple options can be specified by separating them with commas.</_long>
				<default></default>
			</option>
			<option name="xkb_rules" type="string">
				<_short>XKB rules</_short>
				<_long>Sets files of rules to be used for keyboard mapping composition.</_long>
				<default>evdev</default>
			</option>
			<option name="xkb_variant" type="string">
				<_short>XKB variant</_short>
				<_long>Sets the variant of the keyboard, like `dvorak` or `colemak`.</_long>
				<default></default>
			</option>
		</group>
		<!-- Mouse -->
		<group>
			<_short>Mouse</_short>
			<_long>Configure the mouse.</_long>
			<!-- libinput configuration -->
			<option name="middle_emulation" type="bool">
				<_short>Middle-click emulation</_short>
				<_long>Enables middle button emulation by hitting the left and right buttons simultaneously.</_long>
				<default>false</default>
			</option>
			<option name="mouse_accel_profile" type="string">
				<_short>Mouse acceleration profile</_short>
				<_long>Sets the pointer acceleration profile.</_long>
				<default>default</default>
				<desc>
					<value>default</value>
					<_name>Default</_name>
				</desc>
				<desc>
					<value>none</value>
					<_name>None</_name>
				</desc>
				<desc>
					<value>adaptive</value>
					<_name>Adaptive</_name>
				</desc>
				<desc>
					<value>flat</value>
					<_name>Flat</_name>
				</desc>
			</option>
			<option name="mouse_cursor_speed" type="double">
				<_short>Mouse cursor speed</_short>
				<_long>Changes the pointer acceleration.</_long>
				<default>0.0</default>
				<min>-1.0</min>
				<max>1.0</max>
			</option>
			<option name="mouse_scroll_speed" type="double">
				<_short>Mouse scroll speed</_short>
				<_long>Changes the mouse scroll factor.  Scroll speed will be scaled by the given value, which must be non-negative.</_long>
				<default>1.0</default>
				<min>0.0</min>
			</option>
			<option name="mouse_natural_scroll" type="bool">
				<_short>Mouse natural scroll</_short>
				<_long>Enables or disables mouse natural (inverted) scrolling.</_long>
				<default>false</default>
			</option>
		</group>
		<!-- Touchpad -->
		<group>
			<_short>Touchpad</_short>
			<_long>Configure the touchpad.</_long>
			<option name="touchpad_accel_profile" type="string">
				<_short>Touchpad acceleration profile</_short>
				<_long>Sets the touchpad acceleration profile.</_long>
				<default>default</default>
				<desc>
					<value>default</value>
					<_name>Default</_name>
				</desc>
				<desc>
					<value>none</value>
					<_name>None</_name>
				</desc>
				<desc>
					<value>adaptive</value>
					<_name>Adaptive</_name>
				</desc>
				<desc>
					<value>flat</value>
					<_name>Flat</_name>
				</desc>
			</option>
			<option name="tap_to_click" type="bool">
				<_short>Tap-to-click</_short>
				<_long>Enables or disables tap-to-click.</_long>
				<default>true</default>
			</option>
			<option name="click_method" type="string">
				<_short>Click method</_short>
				<_long>Changes the click method.</_long>
				<default>default</default>
				<desc>
					<value>default</value>
					<_name>Default</_name>
				</desc>
				<desc>
					<value>none</value>
					<_name>None</_name>
				</desc>
				<desc>
					<value>button-areas</value>
					<_name>Button areas</_name>
				</desc>
				<desc>
					<value>clickfinger</value>
					<_name>Clickfinger</_name>
				</desc>
			</option>
			<option name="scroll_method" type="string">
				<_short>Scroll method</_short>
				<_long>Changes the scroll method.</_long>
				<default>default</default>
				<desc>
					<value>default</value>
					<_name>Default</_name>
				</desc>
				<desc>
					<value>none</value>
					<_name>None</_name>
				</desc>
				<desc>
					<value>two-finger</value>
					<_name>Two-finger</_name>
				</desc>
				<desc>
					<value>edge</value>
					<_name>Edge</_name>
				</desc>
				<desc>
					<value>on-button-down</value>
					<_name>On-button down</_name>
				</desc>
			</option>
			<option name="disable_touchpad_while_typing" type="bool">
				<_short>Disable touchpad while typing</_short>
				<_long>Disables the touchpad while typing.</_long>
				<default>false</default>
			</option>
			<option name="disable_touchpad_while_mouse" type="bool">
				<_short>Disable touchpad while using the mouse</_short>
				<_long>Disables the touchpad while using the mouse.</_long>
				<default>false</default>
			</option>
			<option name="natural_scroll" type="bool">
				<_short>Natural scroll</_short>
				<_long>Enables or disables natural (inverted) scrolling.</_long>
				<default>false</default>
			</option>
			<option name="tap_and_drag" type="bool">
				<_short>Tap and drag</_short>
				<_long>Enables or disables tap-and-drag.</_long>
				<default>true</default>
			</option>
			<option name="drag_lock" type="bool">
				<_short>Drag lock</_short>
				<_long>Enables or disables drag lock.</_long>
				<default>false</default>
			</option>
			<option name="3fg_drag" type="string">
				<_short>Multi-finger drag</_short>
				<_long>Enables or disables 3-finger or 4-finger drag. Requires libinput ≥ 1.28.</_long>
				<default>default</default>
				<desc>
					<value>default</value>
					<_name>Default</_name>
				</desc>
				<desc>
					<value>none</value>
					<_name>None</_name>
				</desc>
				<desc>
					<value>3fg-drag</value>
					<_name>Drag using 3 fingers</_name>
				</desc>
				<desc>
					<value>4fg-drag</value>
					<_name>Drag using 4 fingers</_name>
				</desc>
			</option>
			<option name="touchpad_cursor_speed" type="double">
				<_short>Touchpad cursor speed</_short>
				<_long>Changes the touchpad acceleration.</_long>
				<default>0.0</default>
				<min>-1.0</min>
				<max>1.0</max>
			</option>
			<option name="gesture_sensitivity" type="double">
				<_short>Touchscreen gesture sensitivity</_short>
				<_long>Change the sensitivity of the built-in gesture detection. Higher values mean that less finger movement is required to trigger the gesture.</_long>
				<default>1.0</default>
				<min>0.1</min>
				<max>5.0</max>
			</option>
			<option name="touchpad_scroll_speed" type="double">
				<_short>Touchpad scroll speed</_short>
				<_long>Changes the touchpad scroll factor.  Scroll speed will be scaled by the given value, which must be non-negative.</_long>
				<default>1.0</default>
				<min>0.0</min>
			</option>
		</group>
		<!-- Tablet configuration -->
		<group>
			<_short>Tablet</_short>
			<_long>Configure graphic tablets.</_long>
			<option name="tablet_motion_mode" type="string">
				<_short>Motion Mode</_short>
				<_long>Sets the motion mode for graphic tablets.</_long>
				<default>default</default>
				<desc>
					<value>default</value>
					<_name>Default</_name>
				</desc>
				<desc>
					<value>absolute</value>
					<_name>Absolute</_name>
				</desc>
				<desc>
					<value>relative</value>
					<_name>Relative</_name>
				</desc>
			</option>
		</group>
		<!-- Cursor configuration -->
		<group>
			<_short>Cursor</_short>
			<_long>Configure the cursor.</_long>
			<option name="cursor_theme" type="string">
				<_short>Cursor theme</_short>
				<_long>Overrides the system default `XCursor` theme.</_long>
				<default>default</default>
			</option>
			<option name="cursor_size" type="int">
				<_short>Cursor size</_short>
				<_long>Overrides the system default `XCursor` size.</_long>
				<default>24</default>
			</option>
		</group>
	</plugin>
</wayfire>
