Implement input type configs (#3784)

Add support for configurations that apply to a type of inputs
(i.e. natural scrolling on all touchpads). A type config is
differentiated by a `type:` prefix followed by the type it
corresponds to.

When new devices appear, the device config is merged on top of its
type config (if it exists). New type configs are applied on top of
existing configs.
This commit is contained in:
Benjamin Cheng 2019-03-25 22:05:49 -04:00
parent e2da96c90a
commit aa87bc24ce
No known key found for this signature in database
GPG key ID: 4FE22E7528E97BD8
5 changed files with 109 additions and 6 deletions

View file

@ -105,6 +105,7 @@ struct input_config_mapped_from_region {
*/
struct input_config {
char *identifier;
const char *input_type;
int accel_profile;
int click_method;
@ -418,6 +419,7 @@ struct sway_config {
list_t *workspace_configs;
list_t *output_configs;
list_t *input_configs;
list_t *input_type_configs;
list_t *seat_configs;
list_t *criteria;
list_t *no_focus;