/////
vim:set ft=asciidoc ts=4 sw=4 tw=82 noet:
/////
sway-input (5)
==============

Name
----
sway-input - input configuration file and commands

Description
-----------

Sway allows for configuration of devices within the sway configuration file.
sway-input commands must be used inside an _input { }_ block in the config.
To obtain a list of available device identifiers, run **swaymsg -t get_inputs**.

Input Commands
--------------

Keyboard Configuration
~~~~~~~~~~~~~~~~~~~~~~

For more information on these xkb configuration options, see
**xkeyboard-config**(7).

**input** <identifier> xkb_layout <layout_name>::
	Sets the layout of the keyboard like _us_ or _de_.

**input** <identifier> xkb_model <model_name>::
	Sets the model of the keyboard. This has an influence for some extra keys your
	keyboard might have.

**input** <identifier> xkb_options <options>::
	Sets extra xkb configuration options for the keyboard.

**input** <identifier> xkb_rules <rules>::
	Sets files of rules to be used for keyboard mapping composition.

**input** <identifier> xkb_variant <variant>::
	Sets the variant of the keyboard like _dvorak_ or _colemak_.

Libinput Configuration
~~~~~~~~~~~~~~~~~~~~~~

**input** <identifier> accel_profile <adaptive|flat>::
	Sets the pointer acceleration profile for the specified input device.

**input** <identifier> click_method <none|button_areas|clickfinger>::
	Changes the click method for the specified device.

**input** <identifier> drag_lock <enabled|disabled>::
	Enables or disables drag lock for specified input device.

**input** <identifier> dwt <enabled|disabled>::
	Enables or disables disable-while-typing for the specified input device.

**input** <identifier> events <enabled|disabled|disabled_on_external_mouse>::
	Enables or disables send_events for specified input device.
	(Disabling send_events disables the input device)

**input** <identifier> left_handed <enabled|disabled>::
	Enables or disables left handed mode for specified input device.

**input** <identifier> middle_emulation <enabled|disabled>::
	Enables or disables middle click emulation.

**input** <identifier> natural_scroll <enabled|disabled>::
	Enables or disables natural (inverted) scrolling for the specified input
	device.

**input** <identifier> pointer_accel <[-1,1]>::
	Changes the pointer acceleration for the specified input device.

**input** <identifier> scroll_method <none|two_finger|edge|on_button_down>::
	Changes the scroll method for the specified input device.

**input** <identifier> tap <enabled|disabled>::
	Enables or disables tap for specified input device.

Seat Configuration
------------------

Configure options for multiseat mode. sway-seat commands must be used inside a
_seat { }_ block in the config.

A _seat_ is a collection of input devices that act independently of each other.
Seats are identified by name and the default seat is _seat0_ if no seats are
configured. Each seat has an independent keyboard focus and a separate cursor that
is controlled by the pointer devices of the seat. This is useful for multiple
people using the desktop at the same time with their own devices (each sitting in
their own "seat").

**seat** <name> attach <input_identifier>::
	Attach an input device to this seat by its input identifier. A special value
	of _*_ will attach all devices to the seat.

**seat** <name> fallback <true|false>::
	Set this seat as the fallback seat. A fallback seat will attach any device not
	explicitly attached to another seat (similar to a "default" seat).

See Also
--------

**sway**(5)
