06:57 wlb: wayland-protocols Merge request !329 closed (xdg-toplevel-icon: Define that reusing a buffer is ok after wl_buffer.release)
16:00 Tokoyami: Hello, I'm trying to use libinput to programmatically set the calibration matrix of an input device but the matrix is not applied after calling `libinput_device_config_calibration_set_matrix()`. Is there something else that needs to be done afterwards to apply the change? or possibly beforehand?
16:00 Tokoyami: here is a reduced example: https://dpaste.com/BL6B4QZR6 (it's C++ but I can produce a C variant if needed)
16:03 Tokoyami: this was on an Xserver system but I also tried it on Wayland via KWin. libinput is 1.21 but I didn't notice anything related in the later release notes
16:11 kennylevinsen: Tokoyami: your example works here
16:11 kennylevinsen: > after : out matrix = 0.500000 0.000000 0.500000 0.000000 1.000000 0.000000
16:12 Tokoyami: kennylevinsen: yes, get() reads is but it's not applied to the device
16:14 Tokoyami: libinput list-devices | grep -B1 -C12 '/dev/input/<device>$' will still say "Calibration: identity matrix" if you run it afterwards and the inputs are not limited to only half the screen
16:14 kennylevinsen: the config is application state, so you're setting it for your utility
16:16 kennylevinsen: libinput is a library to interpret inputs - changing settings just affect how they are interpreted, it does not touch the devices
16:16 kennylevinsen: You can change the default behaviors using quirks and udev rules, but configuring libinput in the usual setting of Wayland or X11 is the job of the display server (i.e., your Wayland server or xorg)
16:18 kennylevinsen: Specifically for calibration matrix, there's the LIBINPUT_CALIBRATION_MATRIX udev prop for example
16:19 kennylevinsen: otherwise, if you used e.g. sway, you'd set the calibration matrix according to `man 5 sway-input`
16:21 Tokoyami: I see, thanks for the explanation. I guess I'll have to figure some other way to apply it on demand
23:01 whot: Tokoyami: what's the specific use-case you have?
23:02 whot: Tokoyami: the udev property is for devices that always need a calibration matrix (e.g. touchscreen panels mounted upside down) but that property is only read when the device is added. If you need runtime behaviour other than that you really need the compositor integration for it