accelerometer + screen rotation on non-touchscreen laptop?
I've recently got a non-touchscreen hp laptop with a hdd accelerometer. After upgrading it to Debian testing I noticed that whenever I tilt my laptop upwards past +45 deg, the screen rotates upside down. The opposite happens when I tilt my laptop -45 deg. To clarify, I am facing my laptop with the screen facing me with the keyboard parallel to the ground. The screen also rotates whenever I tilt my laptop clockwise or counterclockwise.
Is there a file where I can edit to change the screen's rotational direction?
The accelerometer in /proc/bus/input/devices
shows this:
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="ST LIS3LV02DL Accelerometer"
P: Phys=lis3lv02d/input0
S: Sysfs=/devices/platform/lis3lv02d/input/input7
U: Uniq=
H: Handlers=event6 js0
B: PROP=0
B: EV=9
B: ABS=7
EDIT:
I found that watch -n 1 'cat /sys/devices/platform/lis3lv02d/position'
is similar to what is found with the command below. Except it just displays coordinates such as (18,18,1098)
.
evtest /dev/input/event6
shows this:
william@wksp0:~/Downloads$ sudo evtest /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "ST LIS3LV02DL Accelerometer"
Supported events:
Event type 0 (EV_SYN)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 20
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 1 (ABS_Y)
Value -38
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 2 (ABS_Z)
Value 1105
Min -2304
Max 2304
Fuzz 18
Flat 18
Properties:
Testing ... (interrupt to exit)
Event: time 1483747056.088195, type 3 (EV_ABS), code 1 (ABS_Y), value -23
Event: time 1483747056.088195, -------------- SYN_REPORT ------------
Event: time 1483747056.124189, type 3 (EV_ABS), code 0 (ABS_X), value 20
Event: time 1483747056.124189, type 3 (EV_ABS), code 1 (ABS_Y), value -38
Event: time 1483747056.124189, type 3 (EV_ABS), code 2 (ABS_Z), value 1105
Event: time 1483747056.124189, -------------- SYN_REPORT ------------
Event: time 1483747056.210931, type 3 (EV_ABS), code 0 (ABS_X), value -18
Event: time 1483747056.210931, type 3 (EV_ABS), code 1 (ABS_Y), value -28
Event: time 1483747056.210931, type 3 (EV_ABS), code 2 (ABS_Z), value 1107...
EDIT2:
After some googling, I've come across this which lead me to some interesting files that have little to no help on this. :P
debian hard-disk sensors joystick
add a comment |
I've recently got a non-touchscreen hp laptop with a hdd accelerometer. After upgrading it to Debian testing I noticed that whenever I tilt my laptop upwards past +45 deg, the screen rotates upside down. The opposite happens when I tilt my laptop -45 deg. To clarify, I am facing my laptop with the screen facing me with the keyboard parallel to the ground. The screen also rotates whenever I tilt my laptop clockwise or counterclockwise.
Is there a file where I can edit to change the screen's rotational direction?
The accelerometer in /proc/bus/input/devices
shows this:
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="ST LIS3LV02DL Accelerometer"
P: Phys=lis3lv02d/input0
S: Sysfs=/devices/platform/lis3lv02d/input/input7
U: Uniq=
H: Handlers=event6 js0
B: PROP=0
B: EV=9
B: ABS=7
EDIT:
I found that watch -n 1 'cat /sys/devices/platform/lis3lv02d/position'
is similar to what is found with the command below. Except it just displays coordinates such as (18,18,1098)
.
evtest /dev/input/event6
shows this:
william@wksp0:~/Downloads$ sudo evtest /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "ST LIS3LV02DL Accelerometer"
Supported events:
Event type 0 (EV_SYN)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 20
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 1 (ABS_Y)
Value -38
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 2 (ABS_Z)
Value 1105
Min -2304
Max 2304
Fuzz 18
Flat 18
Properties:
Testing ... (interrupt to exit)
Event: time 1483747056.088195, type 3 (EV_ABS), code 1 (ABS_Y), value -23
Event: time 1483747056.088195, -------------- SYN_REPORT ------------
Event: time 1483747056.124189, type 3 (EV_ABS), code 0 (ABS_X), value 20
Event: time 1483747056.124189, type 3 (EV_ABS), code 1 (ABS_Y), value -38
Event: time 1483747056.124189, type 3 (EV_ABS), code 2 (ABS_Z), value 1105
Event: time 1483747056.124189, -------------- SYN_REPORT ------------
Event: time 1483747056.210931, type 3 (EV_ABS), code 0 (ABS_X), value -18
Event: time 1483747056.210931, type 3 (EV_ABS), code 1 (ABS_Y), value -28
Event: time 1483747056.210931, type 3 (EV_ABS), code 2 (ABS_Z), value 1107...
EDIT2:
After some googling, I've come across this which lead me to some interesting files that have little to no help on this. :P
debian hard-disk sensors joystick
note: I am not looking to disable or blacklist the accelerometer. I just want the screen to rotate the other direction
– MrWm
Jan 6 '17 at 2:30
First I'd try to find out what is causing the behaviour: BIOS, some system program, .... Doesxrandr
show a rotated screen if the screen is rotated? What kind of events do you get for``evtest /dev/input/event6`? (assuming it's event6 on every boot, check the path).
– dirkt
Jan 6 '17 at 6:26
yup,xrandr
shows that the screen is rotated when the event happens. From what I can tell, it's not a BIOS thing but either a kernel thing or a program thing.
– MrWm
Jan 6 '17 at 23:59
Are you using gnome 3.18 or 3.20 in combination with iio-sensor-proxy (comes to gnome by default)?
– George Vasiliou
Jan 7 '17 at 0:17
I'm using cinnamon and yes, I also have iio-sensor-proxy installed.
– MrWm
Jan 7 '17 at 0:22
add a comment |
I've recently got a non-touchscreen hp laptop with a hdd accelerometer. After upgrading it to Debian testing I noticed that whenever I tilt my laptop upwards past +45 deg, the screen rotates upside down. The opposite happens when I tilt my laptop -45 deg. To clarify, I am facing my laptop with the screen facing me with the keyboard parallel to the ground. The screen also rotates whenever I tilt my laptop clockwise or counterclockwise.
Is there a file where I can edit to change the screen's rotational direction?
The accelerometer in /proc/bus/input/devices
shows this:
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="ST LIS3LV02DL Accelerometer"
P: Phys=lis3lv02d/input0
S: Sysfs=/devices/platform/lis3lv02d/input/input7
U: Uniq=
H: Handlers=event6 js0
B: PROP=0
B: EV=9
B: ABS=7
EDIT:
I found that watch -n 1 'cat /sys/devices/platform/lis3lv02d/position'
is similar to what is found with the command below. Except it just displays coordinates such as (18,18,1098)
.
evtest /dev/input/event6
shows this:
william@wksp0:~/Downloads$ sudo evtest /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "ST LIS3LV02DL Accelerometer"
Supported events:
Event type 0 (EV_SYN)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 20
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 1 (ABS_Y)
Value -38
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 2 (ABS_Z)
Value 1105
Min -2304
Max 2304
Fuzz 18
Flat 18
Properties:
Testing ... (interrupt to exit)
Event: time 1483747056.088195, type 3 (EV_ABS), code 1 (ABS_Y), value -23
Event: time 1483747056.088195, -------------- SYN_REPORT ------------
Event: time 1483747056.124189, type 3 (EV_ABS), code 0 (ABS_X), value 20
Event: time 1483747056.124189, type 3 (EV_ABS), code 1 (ABS_Y), value -38
Event: time 1483747056.124189, type 3 (EV_ABS), code 2 (ABS_Z), value 1105
Event: time 1483747056.124189, -------------- SYN_REPORT ------------
Event: time 1483747056.210931, type 3 (EV_ABS), code 0 (ABS_X), value -18
Event: time 1483747056.210931, type 3 (EV_ABS), code 1 (ABS_Y), value -28
Event: time 1483747056.210931, type 3 (EV_ABS), code 2 (ABS_Z), value 1107...
EDIT2:
After some googling, I've come across this which lead me to some interesting files that have little to no help on this. :P
debian hard-disk sensors joystick
I've recently got a non-touchscreen hp laptop with a hdd accelerometer. After upgrading it to Debian testing I noticed that whenever I tilt my laptop upwards past +45 deg, the screen rotates upside down. The opposite happens when I tilt my laptop -45 deg. To clarify, I am facing my laptop with the screen facing me with the keyboard parallel to the ground. The screen also rotates whenever I tilt my laptop clockwise or counterclockwise.
Is there a file where I can edit to change the screen's rotational direction?
The accelerometer in /proc/bus/input/devices
shows this:
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="ST LIS3LV02DL Accelerometer"
P: Phys=lis3lv02d/input0
S: Sysfs=/devices/platform/lis3lv02d/input/input7
U: Uniq=
H: Handlers=event6 js0
B: PROP=0
B: EV=9
B: ABS=7
EDIT:
I found that watch -n 1 'cat /sys/devices/platform/lis3lv02d/position'
is similar to what is found with the command below. Except it just displays coordinates such as (18,18,1098)
.
evtest /dev/input/event6
shows this:
william@wksp0:~/Downloads$ sudo evtest /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "ST LIS3LV02DL Accelerometer"
Supported events:
Event type 0 (EV_SYN)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 20
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 1 (ABS_Y)
Value -38
Min -2304
Max 2304
Fuzz 18
Flat 18
Event code 2 (ABS_Z)
Value 1105
Min -2304
Max 2304
Fuzz 18
Flat 18
Properties:
Testing ... (interrupt to exit)
Event: time 1483747056.088195, type 3 (EV_ABS), code 1 (ABS_Y), value -23
Event: time 1483747056.088195, -------------- SYN_REPORT ------------
Event: time 1483747056.124189, type 3 (EV_ABS), code 0 (ABS_X), value 20
Event: time 1483747056.124189, type 3 (EV_ABS), code 1 (ABS_Y), value -38
Event: time 1483747056.124189, type 3 (EV_ABS), code 2 (ABS_Z), value 1105
Event: time 1483747056.124189, -------------- SYN_REPORT ------------
Event: time 1483747056.210931, type 3 (EV_ABS), code 0 (ABS_X), value -18
Event: time 1483747056.210931, type 3 (EV_ABS), code 1 (ABS_Y), value -28
Event: time 1483747056.210931, type 3 (EV_ABS), code 2 (ABS_Z), value 1107...
EDIT2:
After some googling, I've come across this which lead me to some interesting files that have little to no help on this. :P
debian hard-disk sensors joystick
debian hard-disk sensors joystick
edited Jan 7 '17 at 0:20
asked Jan 6 '17 at 2:27
MrWm
53127
53127
note: I am not looking to disable or blacklist the accelerometer. I just want the screen to rotate the other direction
– MrWm
Jan 6 '17 at 2:30
First I'd try to find out what is causing the behaviour: BIOS, some system program, .... Doesxrandr
show a rotated screen if the screen is rotated? What kind of events do you get for``evtest /dev/input/event6`? (assuming it's event6 on every boot, check the path).
– dirkt
Jan 6 '17 at 6:26
yup,xrandr
shows that the screen is rotated when the event happens. From what I can tell, it's not a BIOS thing but either a kernel thing or a program thing.
– MrWm
Jan 6 '17 at 23:59
Are you using gnome 3.18 or 3.20 in combination with iio-sensor-proxy (comes to gnome by default)?
– George Vasiliou
Jan 7 '17 at 0:17
I'm using cinnamon and yes, I also have iio-sensor-proxy installed.
– MrWm
Jan 7 '17 at 0:22
add a comment |
note: I am not looking to disable or blacklist the accelerometer. I just want the screen to rotate the other direction
– MrWm
Jan 6 '17 at 2:30
First I'd try to find out what is causing the behaviour: BIOS, some system program, .... Doesxrandr
show a rotated screen if the screen is rotated? What kind of events do you get for``evtest /dev/input/event6`? (assuming it's event6 on every boot, check the path).
– dirkt
Jan 6 '17 at 6:26
yup,xrandr
shows that the screen is rotated when the event happens. From what I can tell, it's not a BIOS thing but either a kernel thing or a program thing.
– MrWm
Jan 6 '17 at 23:59
Are you using gnome 3.18 or 3.20 in combination with iio-sensor-proxy (comes to gnome by default)?
– George Vasiliou
Jan 7 '17 at 0:17
I'm using cinnamon and yes, I also have iio-sensor-proxy installed.
– MrWm
Jan 7 '17 at 0:22
note: I am not looking to disable or blacklist the accelerometer. I just want the screen to rotate the other direction
– MrWm
Jan 6 '17 at 2:30
note: I am not looking to disable or blacklist the accelerometer. I just want the screen to rotate the other direction
– MrWm
Jan 6 '17 at 2:30
First I'd try to find out what is causing the behaviour: BIOS, some system program, .... Does
xrandr
show a rotated screen if the screen is rotated? What kind of events do you get for``evtest /dev/input/event6`? (assuming it's event6 on every boot, check the path).– dirkt
Jan 6 '17 at 6:26
First I'd try to find out what is causing the behaviour: BIOS, some system program, .... Does
xrandr
show a rotated screen if the screen is rotated? What kind of events do you get for``evtest /dev/input/event6`? (assuming it's event6 on every boot, check the path).– dirkt
Jan 6 '17 at 6:26
yup,
xrandr
shows that the screen is rotated when the event happens. From what I can tell, it's not a BIOS thing but either a kernel thing or a program thing.– MrWm
Jan 6 '17 at 23:59
yup,
xrandr
shows that the screen is rotated when the event happens. From what I can tell, it's not a BIOS thing but either a kernel thing or a program thing.– MrWm
Jan 6 '17 at 23:59
Are you using gnome 3.18 or 3.20 in combination with iio-sensor-proxy (comes to gnome by default)?
– George Vasiliou
Jan 7 '17 at 0:17
Are you using gnome 3.18 or 3.20 in combination with iio-sensor-proxy (comes to gnome by default)?
– George Vasiliou
Jan 7 '17 at 0:17
I'm using cinnamon and yes, I also have iio-sensor-proxy installed.
– MrWm
Jan 7 '17 at 0:22
I'm using cinnamon and yes, I also have iio-sensor-proxy installed.
– MrWm
Jan 7 '17 at 0:22
add a comment |
3 Answers
3
active
oldest
votes
The whole story you mention is actually a kind of bug in iio-sensor-proxy or in your DE code who makes use of iio-sensor-proxy info.
Is not bios or kernel that does the rotation but the marriage between iio-sensor-proxy and your Desktop Environment.
DE like Gnome (and Cinnamon as turns out) does screen auto rotate based on the data provided by iio-sensor-proxy in dbus.
You can try to remove/purge iio-sensor-proxy and screen rotation will go away completely.
It is not clear if this is a iio-sensor-proxy bug or a Cinnamon bug. It could be iio-sensor-proxy that is reading in a wrong way your accelerometer data or could be Cinnamon who even if it receives correct data by sensor-proxy, rotates the screen wrongly.
You can clarify this issue by running monitor-sensor
in root terminal.
This utility comes with iio-sensor-proxy package and displays in terminal the current state of accelerometer / current screen orientation.
If orientation is correctly displayed by monitor-sensor then it is a Cinnamon bug. But i'm 90% sure that this is an iio-sensor-proxy
bug and you should report it to the developer.
PS: It had been also mentioned that sensor-proxy had been working well with kernels up to version 4.7 but had some problems with kernel 4.8 and above. You could try to install an older kernel (i.e 4.7) for testing.
If monitor-sensor reports correctly the orientation and this is a Cinnamon bug, as a workaround you could disable Cinnamon auto screen rotation feature and run a kind of shell script that will make the correct rotation based on the data of monitor-sensor.
PS: Gnome gives the option to completely disable auto screen rotation, i'm not sure if Cinnamon has this option too.
In XFCE that iio-sensor-proxy is installed but XFCE devs are not performing auto screen rotation (yet) we apply this script to have auto screen rotation: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PS: Improved version for touch screens with transformation matrix: https://github.com/gevasiliou/PythonTests/blob/master/autorot.sh
Update for future reference / future "google searches"
As advised in comments, by running monitor-sensor
in a root terminal and observing the messages provided by iio-sensor-proxy it proved that iio-sensor-proxy is correctly understood the real screen orientation.
As a result this seems to be a Cinnamon bug that though it gets correct info by iio-sensor-proxy is rotating the screen wrongly.
You can disable the Cinnamon auto rotation feature and try the auto-rotation script as advised above (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).
To disable Cinnamon internal autorotation you need to apply settings set org.cinnamon.settings-daemon.plugins.orientation active false
as advised in OP's comment.
I see thatmonitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P
– MrWm
Jan 7 '17 at 7:17
finally found it:settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
add a comment |
Using dconf-editor
, change the key value for
/org/cinnamon/settings-daemon/plugins/orientation/active
to False
.
This is identical to the command line solution presented above, but uses the gui tool dconf-editor
.
add a comment |
The iio-sensor-proxy issue doesn't explain all these problems.
On my Unbuntu 18.04 build when ever the screen randomly rotated the mouse input coordinates did not rotate in unison. Mouse X/Y was always the the same direction meaning the direction of the screen and mouse coordinates could be inverted to each other.
I'm sure if the screen was flipped by the GUI it would also flip the mouse!
New contributor
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f335260%2faccelerometer-screen-rotation-on-non-touchscreen-laptop%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
The whole story you mention is actually a kind of bug in iio-sensor-proxy or in your DE code who makes use of iio-sensor-proxy info.
Is not bios or kernel that does the rotation but the marriage between iio-sensor-proxy and your Desktop Environment.
DE like Gnome (and Cinnamon as turns out) does screen auto rotate based on the data provided by iio-sensor-proxy in dbus.
You can try to remove/purge iio-sensor-proxy and screen rotation will go away completely.
It is not clear if this is a iio-sensor-proxy bug or a Cinnamon bug. It could be iio-sensor-proxy that is reading in a wrong way your accelerometer data or could be Cinnamon who even if it receives correct data by sensor-proxy, rotates the screen wrongly.
You can clarify this issue by running monitor-sensor
in root terminal.
This utility comes with iio-sensor-proxy package and displays in terminal the current state of accelerometer / current screen orientation.
If orientation is correctly displayed by monitor-sensor then it is a Cinnamon bug. But i'm 90% sure that this is an iio-sensor-proxy
bug and you should report it to the developer.
PS: It had been also mentioned that sensor-proxy had been working well with kernels up to version 4.7 but had some problems with kernel 4.8 and above. You could try to install an older kernel (i.e 4.7) for testing.
If monitor-sensor reports correctly the orientation and this is a Cinnamon bug, as a workaround you could disable Cinnamon auto screen rotation feature and run a kind of shell script that will make the correct rotation based on the data of monitor-sensor.
PS: Gnome gives the option to completely disable auto screen rotation, i'm not sure if Cinnamon has this option too.
In XFCE that iio-sensor-proxy is installed but XFCE devs are not performing auto screen rotation (yet) we apply this script to have auto screen rotation: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PS: Improved version for touch screens with transformation matrix: https://github.com/gevasiliou/PythonTests/blob/master/autorot.sh
Update for future reference / future "google searches"
As advised in comments, by running monitor-sensor
in a root terminal and observing the messages provided by iio-sensor-proxy it proved that iio-sensor-proxy is correctly understood the real screen orientation.
As a result this seems to be a Cinnamon bug that though it gets correct info by iio-sensor-proxy is rotating the screen wrongly.
You can disable the Cinnamon auto rotation feature and try the auto-rotation script as advised above (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).
To disable Cinnamon internal autorotation you need to apply settings set org.cinnamon.settings-daemon.plugins.orientation active false
as advised in OP's comment.
I see thatmonitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P
– MrWm
Jan 7 '17 at 7:17
finally found it:settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
add a comment |
The whole story you mention is actually a kind of bug in iio-sensor-proxy or in your DE code who makes use of iio-sensor-proxy info.
Is not bios or kernel that does the rotation but the marriage between iio-sensor-proxy and your Desktop Environment.
DE like Gnome (and Cinnamon as turns out) does screen auto rotate based on the data provided by iio-sensor-proxy in dbus.
You can try to remove/purge iio-sensor-proxy and screen rotation will go away completely.
It is not clear if this is a iio-sensor-proxy bug or a Cinnamon bug. It could be iio-sensor-proxy that is reading in a wrong way your accelerometer data or could be Cinnamon who even if it receives correct data by sensor-proxy, rotates the screen wrongly.
You can clarify this issue by running monitor-sensor
in root terminal.
This utility comes with iio-sensor-proxy package and displays in terminal the current state of accelerometer / current screen orientation.
If orientation is correctly displayed by monitor-sensor then it is a Cinnamon bug. But i'm 90% sure that this is an iio-sensor-proxy
bug and you should report it to the developer.
PS: It had been also mentioned that sensor-proxy had been working well with kernels up to version 4.7 but had some problems with kernel 4.8 and above. You could try to install an older kernel (i.e 4.7) for testing.
If monitor-sensor reports correctly the orientation and this is a Cinnamon bug, as a workaround you could disable Cinnamon auto screen rotation feature and run a kind of shell script that will make the correct rotation based on the data of monitor-sensor.
PS: Gnome gives the option to completely disable auto screen rotation, i'm not sure if Cinnamon has this option too.
In XFCE that iio-sensor-proxy is installed but XFCE devs are not performing auto screen rotation (yet) we apply this script to have auto screen rotation: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PS: Improved version for touch screens with transformation matrix: https://github.com/gevasiliou/PythonTests/blob/master/autorot.sh
Update for future reference / future "google searches"
As advised in comments, by running monitor-sensor
in a root terminal and observing the messages provided by iio-sensor-proxy it proved that iio-sensor-proxy is correctly understood the real screen orientation.
As a result this seems to be a Cinnamon bug that though it gets correct info by iio-sensor-proxy is rotating the screen wrongly.
You can disable the Cinnamon auto rotation feature and try the auto-rotation script as advised above (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).
To disable Cinnamon internal autorotation you need to apply settings set org.cinnamon.settings-daemon.plugins.orientation active false
as advised in OP's comment.
I see thatmonitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P
– MrWm
Jan 7 '17 at 7:17
finally found it:settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
add a comment |
The whole story you mention is actually a kind of bug in iio-sensor-proxy or in your DE code who makes use of iio-sensor-proxy info.
Is not bios or kernel that does the rotation but the marriage between iio-sensor-proxy and your Desktop Environment.
DE like Gnome (and Cinnamon as turns out) does screen auto rotate based on the data provided by iio-sensor-proxy in dbus.
You can try to remove/purge iio-sensor-proxy and screen rotation will go away completely.
It is not clear if this is a iio-sensor-proxy bug or a Cinnamon bug. It could be iio-sensor-proxy that is reading in a wrong way your accelerometer data or could be Cinnamon who even if it receives correct data by sensor-proxy, rotates the screen wrongly.
You can clarify this issue by running monitor-sensor
in root terminal.
This utility comes with iio-sensor-proxy package and displays in terminal the current state of accelerometer / current screen orientation.
If orientation is correctly displayed by monitor-sensor then it is a Cinnamon bug. But i'm 90% sure that this is an iio-sensor-proxy
bug and you should report it to the developer.
PS: It had been also mentioned that sensor-proxy had been working well with kernels up to version 4.7 but had some problems with kernel 4.8 and above. You could try to install an older kernel (i.e 4.7) for testing.
If monitor-sensor reports correctly the orientation and this is a Cinnamon bug, as a workaround you could disable Cinnamon auto screen rotation feature and run a kind of shell script that will make the correct rotation based on the data of monitor-sensor.
PS: Gnome gives the option to completely disable auto screen rotation, i'm not sure if Cinnamon has this option too.
In XFCE that iio-sensor-proxy is installed but XFCE devs are not performing auto screen rotation (yet) we apply this script to have auto screen rotation: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PS: Improved version for touch screens with transformation matrix: https://github.com/gevasiliou/PythonTests/blob/master/autorot.sh
Update for future reference / future "google searches"
As advised in comments, by running monitor-sensor
in a root terminal and observing the messages provided by iio-sensor-proxy it proved that iio-sensor-proxy is correctly understood the real screen orientation.
As a result this seems to be a Cinnamon bug that though it gets correct info by iio-sensor-proxy is rotating the screen wrongly.
You can disable the Cinnamon auto rotation feature and try the auto-rotation script as advised above (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).
To disable Cinnamon internal autorotation you need to apply settings set org.cinnamon.settings-daemon.plugins.orientation active false
as advised in OP's comment.
The whole story you mention is actually a kind of bug in iio-sensor-proxy or in your DE code who makes use of iio-sensor-proxy info.
Is not bios or kernel that does the rotation but the marriage between iio-sensor-proxy and your Desktop Environment.
DE like Gnome (and Cinnamon as turns out) does screen auto rotate based on the data provided by iio-sensor-proxy in dbus.
You can try to remove/purge iio-sensor-proxy and screen rotation will go away completely.
It is not clear if this is a iio-sensor-proxy bug or a Cinnamon bug. It could be iio-sensor-proxy that is reading in a wrong way your accelerometer data or could be Cinnamon who even if it receives correct data by sensor-proxy, rotates the screen wrongly.
You can clarify this issue by running monitor-sensor
in root terminal.
This utility comes with iio-sensor-proxy package and displays in terminal the current state of accelerometer / current screen orientation.
If orientation is correctly displayed by monitor-sensor then it is a Cinnamon bug. But i'm 90% sure that this is an iio-sensor-proxy
bug and you should report it to the developer.
PS: It had been also mentioned that sensor-proxy had been working well with kernels up to version 4.7 but had some problems with kernel 4.8 and above. You could try to install an older kernel (i.e 4.7) for testing.
If monitor-sensor reports correctly the orientation and this is a Cinnamon bug, as a workaround you could disable Cinnamon auto screen rotation feature and run a kind of shell script that will make the correct rotation based on the data of monitor-sensor.
PS: Gnome gives the option to completely disable auto screen rotation, i'm not sure if Cinnamon has this option too.
In XFCE that iio-sensor-proxy is installed but XFCE devs are not performing auto screen rotation (yet) we apply this script to have auto screen rotation: https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu
PS: Improved version for touch screens with transformation matrix: https://github.com/gevasiliou/PythonTests/blob/master/autorot.sh
Update for future reference / future "google searches"
As advised in comments, by running monitor-sensor
in a root terminal and observing the messages provided by iio-sensor-proxy it proved that iio-sensor-proxy is correctly understood the real screen orientation.
As a result this seems to be a Cinnamon bug that though it gets correct info by iio-sensor-proxy is rotating the screen wrongly.
You can disable the Cinnamon auto rotation feature and try the auto-rotation script as advised above (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu).
To disable Cinnamon internal autorotation you need to apply settings set org.cinnamon.settings-daemon.plugins.orientation active false
as advised in OP's comment.
edited Jan 12 '17 at 14:43
answered Jan 7 '17 at 2:36
George Vasiliou
5,59531028
5,59531028
I see thatmonitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P
– MrWm
Jan 7 '17 at 7:17
finally found it:settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
add a comment |
I see thatmonitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P
– MrWm
Jan 7 '17 at 7:17
finally found it:settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
I see that
monitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P– MrWm
Jan 7 '17 at 7:17
I see that
monitor-sensor
has the right orientations. Now all I just need to figure out is how to disable the auto screen rotation on this. :P– MrWm
Jan 7 '17 at 7:17
finally found it:
settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
finally found it:
settings set org.cinnamon.settings-daemon.plugins.orientation active false
– MrWm
Jan 10 '17 at 7:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
@MrWm Good job! Does it work ? I mean does it disables auto rotation as expected? PS: If you like you could file this bug to Cinnamon people to have this issue fixed. It is very nice that Desktop Environments start to support auto screen rotation (some months ago was only Gnome3) , so it is important to be made right!
– George Vasiliou
Jan 10 '17 at 8:59
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
yep, it disables the screen rotation. It's basically the same command used in gnome except the "gnome" is swapped with "cinnamon". :)
– MrWm
Jan 11 '17 at 23:55
add a comment |
Using dconf-editor
, change the key value for
/org/cinnamon/settings-daemon/plugins/orientation/active
to False
.
This is identical to the command line solution presented above, but uses the gui tool dconf-editor
.
add a comment |
Using dconf-editor
, change the key value for
/org/cinnamon/settings-daemon/plugins/orientation/active
to False
.
This is identical to the command line solution presented above, but uses the gui tool dconf-editor
.
add a comment |
Using dconf-editor
, change the key value for
/org/cinnamon/settings-daemon/plugins/orientation/active
to False
.
This is identical to the command line solution presented above, but uses the gui tool dconf-editor
.
Using dconf-editor
, change the key value for
/org/cinnamon/settings-daemon/plugins/orientation/active
to False
.
This is identical to the command line solution presented above, but uses the gui tool dconf-editor
.
edited Jun 16 '17 at 21:37
Stephen Rauch
3,328101428
3,328101428
answered Jun 16 '17 at 21:18
ransur0t
312
312
add a comment |
add a comment |
The iio-sensor-proxy issue doesn't explain all these problems.
On my Unbuntu 18.04 build when ever the screen randomly rotated the mouse input coordinates did not rotate in unison. Mouse X/Y was always the the same direction meaning the direction of the screen and mouse coordinates could be inverted to each other.
I'm sure if the screen was flipped by the GUI it would also flip the mouse!
New contributor
add a comment |
The iio-sensor-proxy issue doesn't explain all these problems.
On my Unbuntu 18.04 build when ever the screen randomly rotated the mouse input coordinates did not rotate in unison. Mouse X/Y was always the the same direction meaning the direction of the screen and mouse coordinates could be inverted to each other.
I'm sure if the screen was flipped by the GUI it would also flip the mouse!
New contributor
add a comment |
The iio-sensor-proxy issue doesn't explain all these problems.
On my Unbuntu 18.04 build when ever the screen randomly rotated the mouse input coordinates did not rotate in unison. Mouse X/Y was always the the same direction meaning the direction of the screen and mouse coordinates could be inverted to each other.
I'm sure if the screen was flipped by the GUI it would also flip the mouse!
New contributor
The iio-sensor-proxy issue doesn't explain all these problems.
On my Unbuntu 18.04 build when ever the screen randomly rotated the mouse input coordinates did not rotate in unison. Mouse X/Y was always the the same direction meaning the direction of the screen and mouse coordinates could be inverted to each other.
I'm sure if the screen was flipped by the GUI it would also flip the mouse!
New contributor
New contributor
answered 21 mins ago
Walter ZAMBOTTI
1
1
New contributor
New contributor
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f335260%2faccelerometer-screen-rotation-on-non-touchscreen-laptop%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
note: I am not looking to disable or blacklist the accelerometer. I just want the screen to rotate the other direction
– MrWm
Jan 6 '17 at 2:30
First I'd try to find out what is causing the behaviour: BIOS, some system program, .... Does
xrandr
show a rotated screen if the screen is rotated? What kind of events do you get for``evtest /dev/input/event6`? (assuming it's event6 on every boot, check the path).– dirkt
Jan 6 '17 at 6:26
yup,
xrandr
shows that the screen is rotated when the event happens. From what I can tell, it's not a BIOS thing but either a kernel thing or a program thing.– MrWm
Jan 6 '17 at 23:59
Are you using gnome 3.18 or 3.20 in combination with iio-sensor-proxy (comes to gnome by default)?
– George Vasiliou
Jan 7 '17 at 0:17
I'm using cinnamon and yes, I also have iio-sensor-proxy installed.
– MrWm
Jan 7 '17 at 0:22