2018-05-12 11:25:05 +10:00
|
|
|
sway-input(5)
|
|
|
|
|
|
|
|
# NAME
|
|
|
|
|
2016-01-23 05:15:03 +11:00
|
|
|
sway-input - input configuration file and commands
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
# DESCRIPTION
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2017-12-17 00:19:33 +11:00
|
|
|
Sway allows for configuration of devices within the sway configuration file.
|
2018-05-12 11:25:05 +10:00
|
|
|
To obtain a list of available device identifiers, run *swaymsg -t get\_inputs*.
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
# INPUT COMMANDS
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
## KEYBOARD CONFIGURATION
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-10-03 21:48:35 +10:00
|
|
|
*input* <identifier> repeat\_delay <n>
|
|
|
|
Sets the delay before repeating a held-down key, in milliseconds.
|
|
|
|
|
|
|
|
*input* <identifier> repeat\_rate <n>
|
|
|
|
Sets the key repeat rate in number of keypresses per second.
|
|
|
|
|
2017-12-17 00:19:33 +11:00
|
|
|
For more information on these xkb configuration options, see
|
2018-05-12 11:25:05 +10:00
|
|
|
*xkeyboard-config*(7).
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> xkb\_layout <layout\_name>
|
2017-12-17 00:19:33 +11:00
|
|
|
Sets the layout of the keyboard like _us_ or _de_.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> xkb\_model <model\_name>
|
|
|
|
Sets the model of the keyboard. This has an influence for some extra keys
|
|
|
|
your keyboard might have.
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> xkb\_options <options>
|
2017-12-17 00:19:33 +11:00
|
|
|
Sets extra xkb configuration options for the keyboard.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> xkb\_rules <rules>
|
2017-12-17 00:19:33 +11:00
|
|
|
Sets files of rules to be used for keyboard mapping composition.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> xkb\_variant <variant>
|
2017-12-17 00:19:33 +11:00
|
|
|
Sets the variant of the keyboard like _dvorak_ or _colemak_.
|
|
|
|
|
2018-07-26 01:08:47 +10:00
|
|
|
The following commands may only be used in the configuration file.
|
|
|
|
|
2018-07-23 22:41:11 +10:00
|
|
|
*input* <identifier> xkb\_capslock enabled|disabled
|
2018-10-03 21:48:35 +10:00
|
|
|
Initially enables or disables CapsLock on startup, the default is disabled.
|
2018-07-23 22:41:11 +10:00
|
|
|
|
|
|
|
*input* <identifier> xkb\_numlock enabled|disabled
|
2018-10-03 21:48:35 +10:00
|
|
|
Initially enables or disables NumLock on startup, the default is disabled.
|
2018-07-23 22:41:11 +10:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
## MAPPING CONFIGURATION
|
2018-04-09 04:15:13 +10:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> map\_to\_output <identifier>
|
2018-04-09 04:15:13 +10:00
|
|
|
Maps inputs from this device to the specified output. Only meaningful if the
|
|
|
|
device is a pointer, touch, or drawing tablet device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> map\_to\_region <WxH@X,Y>
|
2018-04-09 04:15:13 +10:00
|
|
|
Maps inputs from this device to the specified region of the global output
|
|
|
|
layout. Only meaningful if the device is a pointer, touch, or drawing tablet
|
|
|
|
device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> map\_from\_region <X1xY1> <X2xY2>
|
2018-04-25 04:39:29 +10:00
|
|
|
Ignores inputs from this device that do not occur within the specified
|
|
|
|
region. Can be in millimeters (e.g. 10x20mm 20x40mm) or in terms of 0..1
|
|
|
|
(e.g. 0.5x0.5 0.7x0.7). Not all devices support millimeters. Only meaningful
|
|
|
|
if the device is not a keyboard an provides events in absolute terms (such
|
|
|
|
as a drawing tablet or touch screen - most pointers provide events relative
|
|
|
|
to the previous frame).
|
2018-04-09 04:15:13 +10:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
## LIBINPUT CONFIGURATION
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> accel\_profile adaptive|flat
|
2016-05-01 20:02:44 +10:00
|
|
|
Sets the pointer acceleration profile for the specified input device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> click\_method none|button\_areas|clickfinger
|
2016-01-17 21:53:37 +11:00
|
|
|
Changes the click method for the specified device.
|
|
|
|
|
2018-09-29 19:49:41 +10:00
|
|
|
*input* <identifier> drag enabled|disabled
|
|
|
|
Enables or disables tap-and-drag for specified input device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> drag\_lock enabled|disabled
|
2016-01-17 21:53:37 +11:00
|
|
|
Enables or disables drag lock for specified input device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> dwt enabled|disabled
|
2016-01-17 21:53:37 +11:00
|
|
|
Enables or disables disable-while-typing for the specified input device.
|
|
|
|
|
2019-01-21 18:13:01 +11:00
|
|
|
*input* <identifier> events enabled|disabled|disabled\_on\_external\_mouse|toggle [<toggle-modes>]
|
2019-01-10 14:09:59 +11:00
|
|
|
Enables or disables send\_events for specified input device. Disabling
|
2019-01-21 18:13:01 +11:00
|
|
|
send\_events disables the input device.
|
|
|
|
|
|
|
|
The _toggle_ option cannot be used in the config. If no toggle modes are
|
|
|
|
listed, all supported modes for the device will be toggled through in the
|
|
|
|
order: enabled, disabled\_on\_external\_mouse, disabled, (loop back). If
|
|
|
|
toggle modes are listed, they will be cycled through, defaulting to the
|
|
|
|
first mode listed if the current mode is not in the list. They will also
|
|
|
|
not be checked to see if they are supported for the device and may fail.
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> left\_handed enabled|disabled
|
2016-10-26 07:03:58 +11:00
|
|
|
Enables or disables left handed mode for specified input device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> middle\_emulation enabled|disabled
|
2016-01-17 21:53:37 +11:00
|
|
|
Enables or disables middle click emulation.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> natural\_scroll enabled|disabled
|
2016-06-10 23:32:14 +10:00
|
|
|
Enables or disables natural (inverted) scrolling for the specified input
|
|
|
|
device.
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> pointer\_accel [<-1|1>]
|
2016-01-17 21:53:37 +11:00
|
|
|
Changes the pointer acceleration for the specified input device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> repeat\_delay <milliseconds>
|
2018-04-18 23:19:23 +10:00
|
|
|
Sets the amount of time a key must be held before it starts repeating.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> repeat\_rate <characters per second>
|
|
|
|
Sets the frequency of key repeats once the repeat\_delay has passed.
|
2018-04-18 23:19:23 +10:00
|
|
|
|
2019-01-11 04:45:52 +11:00
|
|
|
*input* <identifier> scroll\_button disable|button[1-3,8,9]|<event-code-or-name>
|
|
|
|
Sets the button used for scroll\_method on\_button\_down. The button can
|
|
|
|
be given as an event name or code, which can be obtained from `libinput
|
|
|
|
debug-events`, or as a x11 mouse button (button[1-3,8,9]). If set to
|
|
|
|
_disable_, it disables the scroll\_method on\_button\_down.
|
2016-01-17 21:53:37 +11:00
|
|
|
|
2018-11-18 06:31:33 +11:00
|
|
|
*input* <identifier> scroll\_factor <floating point value>
|
|
|
|
Changes the scroll factor for the specified input device. Scroll speed will
|
|
|
|
be scaled by the given value, which must be non-negative.
|
|
|
|
|
|
|
|
*input* <identifier> scroll\_method none|two\_finger|edge|on\_button\_down
|
|
|
|
Changes the scroll method for the specified input device.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*input* <identifier> tap enabled|disabled
|
2016-01-17 21:53:37 +11:00
|
|
|
Enables or disables tap for specified input device.
|
2016-01-23 05:17:55 +11:00
|
|
|
|
2018-07-29 22:47:53 +10:00
|
|
|
*input* <identifier> tap\_button\_map lrm|lmr
|
2018-07-14 15:01:47 +10:00
|
|
|
Specifies which button mapping to use for tapping. _lrm_ treats 1 finger as
|
|
|
|
left click, 2 fingers as right click, and 3 fingers as middle click. _lmr_
|
|
|
|
treats 1 finger as left click, 2 fingers as middle click, and 3 fingers as
|
|
|
|
right click.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
## SEAT CONFIGURATION
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-09-29 03:24:49 +10:00
|
|
|
Configure options for multiseat mode.
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
A *seat* is a collection of input devices that act independently of each other.
|
2017-12-17 00:19:33 +11:00
|
|
|
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
|
2018-05-12 11:25:05 +10:00
|
|
|
people using the desktop at the same time with their own devices (each sitting
|
|
|
|
in their own "seat").
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*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.
|
2017-12-17 00:19:33 +11:00
|
|
|
|
2019-01-11 03:47:34 +11:00
|
|
|
*seat* <seat> cursor move|set <x> <y>
|
|
|
|
Move specified seat's cursor relative to current position or wrap to
|
|
|
|
absolute coordinates (with respect to the global coordinate space).
|
|
|
|
Specifying either value as 0 will not update that coordinate.
|
|
|
|
|
|
|
|
*seat* <seat> cursor press|release button[1-9]|<event-name-or-code>
|
|
|
|
Simulate pressing (or releasing) the specified mouse button on the
|
|
|
|
specified seat. The button can either be provided as a button event name or
|
|
|
|
event code, which can be obtained from `libinput debug-events`, or as an x11
|
|
|
|
mouse button (button[1-9]). If using button[4-7], which map to axes, an axis
|
|
|
|
event will be simulated, however _press_ and _release_ will be ignored and
|
|
|
|
both will occur.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
*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).
|
2017-12-19 20:52:03 +11:00
|
|
|
|
2018-12-27 16:32:15 +11:00
|
|
|
*seat* <name> hide\_cursor <timeout>
|
|
|
|
Hides the cursor image after the specified _timeout_ (in milliseconds)
|
|
|
|
has elapsed with no activity on that cursor. A timeout of 0 (default)
|
|
|
|
disables hiding the cursor. The minimal timeout is 100 and any value less
|
|
|
|
than that (aside from 0), will be increased to 100.
|
|
|
|
|
2018-05-12 11:25:05 +10:00
|
|
|
# SEE ALSO
|
2016-01-23 05:17:55 +11:00
|
|
|
|
2018-10-15 01:48:51 +11:00
|
|
|
*sway*(5) *sway-output*(5)
|