Cursor & Mouse Movements Upside down & Touch

Hello, I'm a long time linux user and SA, but new to Zorin.
I installed Zorin 16 core on an old Win10 x64 tablet with attached keyboard with touchpad. It is however just about unusable because the cursor and mouse movements are reversed, up and down and left and right. The cursor point is pointed down, instead of up, as it should be on a normal desktop.

I have tried plugging in an actual USB mouse, but it behaves the same as the touchpad. I have tried adjusting the orientatation in Displays but that just turns the screen up-side-down.

So my first task is how to get the mouse and cursor to right-side-up.

Second issue is touch. This tablet had touch with Win10. But now it does not recognized the screen being touched. I am fully updated, and I have installed the latest kernel that Zorin offers.

Would really appreciate any advice. One more device no longer running M$ junk, yeah!

Thanks all!

This is one of the strangest issues I have heard of in Linux. I checked both the mouse options in settings, and mouse advanced related options in Dconf editor, and I can't find anything that reverses or inverts the mouse direction.

Do you have SECURE BOOT disabled in the BIOS?

Additionally, there are mouse related APPS in the software store that you could perhaps try and see if they can help invert the mouse back. But before you go looking for all that. Please make sure SECURE BOOT is disabled in the BIOS first.


Try this way:

  • Open the terminal
  • run xinput
  • You will get a list of id's for input devices
  • Find out the id of your mouse
  • Once found it run the following

xinput list-props id | grep Matrix

  • When working fine you should get something like that:

1 0 0 0 1 0 0 0 1

  • If wrong something like that:

-1 0 1 0 -1 1 0 0 1

In this case, force the device to use the normal case matrix like this:

xinput set-prop devicename Coordinate Transformation Matrix 1 0 0 0 1 0 0 0 1

Be sure to use the exact device name as it is reported by xinput. Might need a reboot after it.

Let us know if it works :slight_smile:

Please open Settings from the app menu.
Go down to Mouse and Touchpad
Check that Natural Scrolling is set to "OFF". If it is off, you could check it to "ON" and test, in case your idea of what is upside-down is different than mine. :stuck_out_tongue:

Thanks all for the quick responses!
StarTrecker - secureboot is disabled in BIOS. Yes, I too tried Dconf editor before I posted here, found a text-based way to change natural scrolling, but nothing to invert the mouse. BTW, Aravisian, I tried that in Dconf, made no difference.

dv1sual - all devices show as 10001001. Although mine are all 1 or 0 out to 6 decimal places (1.000000 or 0.000000). I plugged the USB mouse in and re-ran xinput and the new device was detected and it, too, is 10001001.

Aravisian - Natural Scrolling was off (gray) Tough to manipulate slider with upside-backward screen but finally turned it to blue. It made no difference in either the X or Y direction of movement.
My expectation is that moving mouse up (away from me) causes cursor to move up the screen. Left or right mouse movement would be same on screen.

So . . . next idea? :upside_down_face: (get it??) :grin:

Uhm, that's tough.

What if you run:

xrandr --verbose

and check what the "transform" section of the screen is telling you?

Should be something like that:

eDP-1-1 connected primary 1920x1080+0+0 (0x1e4) normal (normal left inverted right x axis y axis) 309mm x 174mm
	Identifier: 0x1e0
	Timestamp:  82705
	Subpixel:   unknown
	Gamma:      0.59:1.0:1.6
	Brightness: 0.75
	Clones:    
	CRTC:       0
	CRTCs:      0 5 6
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 

As you can see the pattern is the same as before 1 0 0 0 1 0 0 0 1. (this is correct - if wrong you should see the -1 etc)

Check carefully because it's telling you also the HDMI out (if you have one but i assume so)

Thanks dv1sual. Here are the results of xrandr --verbose. I have bolded items that stand out to me as clues. Note that the Transform section seems to be correct. panel orientation: Upside Down is telling. So how to force it to "Normal"?

Screen 0: minimum 320 x 200, current 1280 x 800, maximum 16384 x 16384
DSI-1 connected primary 1280x800+0+0 (0x48) right (normal left inverted right x axis y axis) 0mm x 0mm
Identifier: 0x42
Timestamp: 21194
Subpixel: horizontal rgb
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 0
CRTCs: 0
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000

filter:
_MUTTER_PRESENTATION_OUTPUT: 0
panel orientation: Upside Down
supported: Normal, Upside Down, Left Side Up, Right Side Up
scaling mode: Full aspect
supported: Full, Full aspect
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 114
supported: 114
non-desktop: 0
range: (0, 1)
800x1280 (0x48) 67.330MHz -HSync -VSync *current +preferred
h: width 800 start 818 end 836 total 854 skew 0 clock 78.84KHz
v: height 1280 start 1300 end 1304 total 1314 clock 60.00Hz
1280x800 (0x49) 174.250MHz -HSync +VSync DoubleScan
h: width 1280 start 1380 end 1516 total 1752 skew 0 clock 99.46KHz
v: height 800 start 801 end 804 total 829 clock 59.99Hz
-----------------------------------------

Having read the man page of xrandr, I'm thinking:
sudo xrandr --dryrun --screen 0 -o normal

Will --dryrun revert in 15-30 seconds if I don't confirm the change, as one often sees in GUI Display adjustment tools? If I screw the command up, I don't want to make things worse :slight_smile:

Not shooting from the hip without some input. Thanks.

Hey @zoringreg,

that seems like a clue to me too, even said i do not have too much experience too with xrandr.

I checked around and seems like this is also a working command:

xrandr --output yourscreen --rotate normal

But i never tried myself, so might be worth see if someone else have better experience with it or more knowledge to understand if there is a way to go back. Maybe a Timeshift is enough to try the commands in more relaxed way.

From xrandr documentation:

--dryrun
Performs all the actions specified except that no changes are made.

It seems like that nothing bad should happen, but again, i can't tell you to do it without having tried myself first.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.