@@ -79,6 +79,16 @@ static bool set_accel_speed(struct libinput_device *device, double speed) {
79
79
return true;
80
80
}
81
81
82
+ static bool set_rotation_angle (struct libinput_device * device , double angle ) {
83
+ if (!libinput_device_config_rotation_is_available (device ) ||
84
+ libinput_device_config_rotation_get_angle (device ) == angle ) {
85
+ return false;
86
+ }
87
+ sway_log (SWAY_DEBUG , "rotation_set_angle(%f)" , angle );
88
+ log_status (libinput_device_config_rotation_set_angle (device , angle ));
89
+ return true;
90
+ }
91
+
82
92
static bool set_accel_profile (struct libinput_device * device ,
83
93
enum libinput_config_accel_profile profile ) {
84
94
if (!libinput_device_config_accel_is_available (device ) ||
@@ -241,6 +251,9 @@ bool sway_input_configure_libinput_device(struct sway_input_device *input_device
241
251
if (ic -> pointer_accel != FLT_MIN ) {
242
252
changed |= set_accel_speed (device , ic -> pointer_accel );
243
253
}
254
+ if (ic -> rotation_angle != FLT_MIN ) {
255
+ changed |= set_rotation_angle (device , ic -> rotation_angle );
256
+ }
244
257
if (ic -> accel_profile != INT_MIN ) {
245
258
changed |= set_accel_profile (device , ic -> accel_profile );
246
259
}
@@ -298,6 +311,8 @@ void sway_input_reset_libinput_device(struct sway_input_device *input_device) {
298
311
libinput_device_config_tap_get_default_drag_lock_enabled (device ));
299
312
changed |= set_accel_speed (device ,
300
313
libinput_device_config_accel_get_default_speed (device ));
314
+ changed |= set_rotation_angle (device ,
315
+ libinput_device_config_rotation_get_default_angle (device ));
301
316
changed |= set_accel_profile (device ,
302
317
libinput_device_config_accel_get_default_profile (device ));
303
318
changed |= set_natural_scroll (device ,
0 commit comments