Tools act weird in EESchema when using a non-identity xinput mouse coordinate transformation matrix
Description
Moving components, and creating wires should work as it usually does.
However, if the xinput coordinate transformation matrix is larger than 1.0 in the x or y axis the mouse gets thrown in that direction.
If you manage to recover the mouse control, then if moving the component next to the side of the screen to move the visible schematic area the component can be "caught" again and the scrolling will keep going until you hit the max lower right corner.
Steps to reproduce
-
- Change the coordinate transformation matrix of the mouse
-
- Find mouse id:
xinput list
- Find mouse id:
-
- Find coordinate transformation matrix id:
xinput list-props <mouseid> | grep "Coordinate Transformation Matrix"
- Find coordinate transformation matrix id:
-
- Change matrix:
xinput set-prop <mouseid> <matrixid> 3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0
. This would make it 3 times faster for example. This change is not persisted to my knowledge, but otherwise it can be set back the same way
- Change matrix:
-
- Try to move components/text around
KiCad Version
Application: Eeschema
Version: 5.99.0-unknown-129c16c~101~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 5.3.0-61-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
Build date: Jun 27 2020 15:19:31
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
Boost: 1.65.1
OCE: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.5.0 with C++ ABI 1011
Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_SPICE=ON