From 01ec18e80228739bbc099ccb35356d198729ab42 Mon Sep 17 00:00:00 2001 From: Sergei Dolgov Date: Mon, 17 Jun 2019 11:38:41 +0200 Subject: Add calibration_matrix config option Can be used to change the orientation of a touchscreen. Example usage with swaymsg: # identity swaymsg input type:touch calibration_matrix '"1 0 0 0 1 0"' # 90 degree clockwise swaymsg input type:touch calibration_matrix '"0 -1 1 1 0 0"' # 180 degree clockwise swaymsg input type:touch calibration_matrix '"-1 0 1 0 -1 1"' # 270 degree clockwise swaymsg input type:touch calibration_matrix '"0 1 0 -1 0 1"' Documentation: https://wayland.freedesktop.org/libinput/doc/latest/absolute-axes.html#calibration-of-absolute-devices --- include/sway/commands.h | 1 + include/sway/config.h | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/sway/commands.h b/include/sway/commands.h index 641f2504..ddee2994 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -237,6 +237,7 @@ sway_cmd bar_colors_cmd_urgent_workspace; sway_cmd input_cmd_seat; sway_cmd input_cmd_accel_profile; +sway_cmd input_cmd_calibration_matrix; sway_cmd input_cmd_click_method; sway_cmd input_cmd_drag; sway_cmd input_cmd_drag_lock; diff --git a/include/sway/config.h b/include/sway/config.h index 9736a665..4adce8ab 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -101,6 +101,11 @@ struct input_config_mapped_from_region { bool mm; }; +struct calibration_matrix { + bool configured; + float matrix[6]; +}; + /** * options for input devices */ @@ -109,6 +114,7 @@ struct input_config { const char *input_type; int accel_profile; + struct calibration_matrix calibration_matrix; int click_method; int drag; int drag_lock; -- cgit v1.2.3