-
Currently, we update the input transformation matrix for the focused pointer surface only when the frameGeometryChanged() signal is emitted. However, since the input transformation matrix is computed based on the current position of the upper left corner of the main surface, it is wrong to do so because the frame geometry is a logical geometry that doesn't have any direct relationship with the buffer geometry, i.e. the rect on the screen occupied by the main surface. If the input transformation matrix gets out of sync, user may notice that pointer events are "shifted." This change introduces a new signal that's emitted when the input transformation matrix has been changed. Input related components in kwin can connect to it to keep a copy of the input transformation matrix in SeatInterface in sync. Under the hood, the new signal is just an alias for the bufferGeometryChanged() signal.
cf271288