From a5c6816095158ff01ace12403bc527fec8c8af84 Mon Sep 17 00:00:00 2001
From: Sergei Dolgov <dolgovs@gmail.com>
Date: Sat, 22 Jun 2019 14:32:39 +0200
Subject: calibration_matrix: add the current matrix to the IPC description for
 libinput devices

---
 sway/ipc-json.c     | 12 ++++++++++++
 sway/sway-ipc.7.scd |  4 ++++
 2 files changed, 16 insertions(+)

(limited to 'sway')

diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 7a65be07..87aef47b 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -798,6 +798,18 @@ static json_object *describe_libinput_device(struct libinput_device *device) {
 		json_object_object_add(object, "dwt", json_object_new_string(dwt));
 	}
 
+	if (libinput_device_config_calibration_has_matrix(device)) {
+		float matrix[6];
+		libinput_device_config_calibration_get_matrix(device, matrix);
+		struct json_object* array = json_object_new_array();
+		struct json_object* x;
+		for (int i = 0; i < 6; i++) {
+			x = json_object_new_double(matrix[i]);
+			json_object_array_add(array, x);
+		}
+		json_object_object_add(object, "calibration_matrix", array);
+	}
+
 	return object;
 }
 
diff --git a/sway/sway-ipc.7.scd b/sway/sway-ipc.7.scd
index 8e5bf874..3657dcd6 100644
--- a/sway/sway-ipc.7.scd
+++ b/sway/sway-ipc.7.scd
@@ -1107,6 +1107,10 @@ following properties will be included for devices that support them:
 |- dwt
 :  string
 :  Whether disable-while-typing is enabled. It can be _enabled_ or _disabled_
+|- calibration_matrix
+:  array
+:  An array of 6 floats representing the calibration matrix for absolute
+   devices such as touchscreens
 
 
 *Example Reply:*
-- 
cgit v1.2.3