{"id":309,"date":"2011-02-18T18:27:09","date_gmt":"2011-02-18T16:27:09","guid":{"rendered":"http:\/\/www.ceh-photo.de\/blog\/?p=309"},"modified":"2011-03-13T22:50:24","modified_gmt":"2011-03-13T20:50:24","slug":"improvements-on-gyro-auto-rotation-for-acer-1825","status":"publish","type":"post","link":"https:\/\/www.ceh-photo.de\/blog\/?p=309","title":{"rendered":"Improvements on gyro auto rotation for ACER 1825"},"content":{"rendered":"<p>In two old posts I described, how you could use the gyro sensor of the Acer 1825 for auto rotating your screen and how you could enable and disable this feature with a special button.<\/p>\n<p><a href=\"http:\/\/www.ceh-photo.de\/blog\/?p=244\">http:\/\/www.ceh-photo.de\/blog\/?p=244<\/a><\/p>\n<p><a href=\"http:\/\/www.ceh-photo.de\/blog\/?p=186\">http:\/\/www.ceh-photo.de\/blog\/?p=186<\/a><\/p>\n<p>A user (perpe) from <a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=1486671&amp;page=13\">http:\/\/ubuntuforums.org\/showthread.php?t=1486671&amp;page=13<\/a> found out, that in windows the gyro sensor is enabled and disabled with some special keyboard events.<\/p>\n<p>He found these keyboard events after doing a bios update to version 1.3127. Because of some problems I always did this update and could not check if the presented procedure works with older bios.<\/p>\n<p>Make the special key commands usable:<\/p>\n<p>You need to specify the keycodes for these commands in your \/etc\/rc.local<\/p>\n<div id=\"_mcePaste\">#button P<\/div>\n<div id=\"_mcePaste\">#STRG+ALT+NB_ENTF<\/div>\n<div id=\"_mcePaste\">setkeycodes e070 112<\/div>\n<div id=\"_mcePaste\">#button backup<\/div>\n<div id=\"_mcePaste\">#XF86Launch5<\/div>\n<div id=\"_mcePaste\">setkeycodes e062 184<\/div>\n<div id=\"_mcePaste\">#tablet mode key<\/div>\n<div id=\"_mcePaste\">#XF86MenuKB<\/div>\n<div id=\"_mcePaste\">setkeycodes e039 185<\/div>\n<div id=\"_mcePaste\">#laptop mode key<\/div>\n<div id=\"_mcePaste\">#0xb8<\/div>\n<div id=\"_mcePaste\">setkeycodes e001 176<\/div>\n<p>Next update both old scripts:<\/p>\n<p>\/usr\/bin\/gyro-auto-rotate.run<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:70%;height:400px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/>83<br \/>84<br \/>85<br \/>86<br \/>87<br \/>88<br \/>89<br \/>90<br \/>91<br \/>92<br \/>93<br \/>94<br \/>95<br \/>96<br \/>97<br \/>98<br \/>99<br \/>100<br \/>101<br \/>102<br \/>103<br \/>104<br \/>105<br \/>106<br \/>107<br \/>108<br \/><\/div><\/td><td><div class=\"bash codecolorer\"><span class=\"co0\">#!\/bin\/bash<\/span><br \/>\n<span class=\"co0\">#<\/span><br \/>\n<span class=\"re2\">DEBUG<\/span>=<span class=\"st0\">&quot;&quot;<\/span> <span class=\"co0\"># write DEBUG=&quot;1&quot; for debugging<\/span><br \/>\n<br \/>\n<span class=\"co0\">#redirect stdin, stdout and stderr<\/span><br \/>\n<span class=\"br0\">&#91;<\/span> <span class=\"sy0\">!<\/span> <span class=\"st0\">&quot;<span class=\"es3\">${DEBUG}<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <span class=\"kw3\">exec<\/span><span class=\"sy0\">&gt;\/<\/span>dev<span class=\"sy0\">\/<\/span>null <span class=\"nu0\">2<\/span><span class=\"sy0\">&gt;&amp;<\/span><span class=\"nu0\">1<\/span> &nbsp;<span class=\"co0\"># daemonize and exit<\/span><br \/>\n<span class=\"br0\">&#91;<\/span> <span class=\"sy0\">!<\/span> <span class=\"st0\">&quot;<span class=\"es3\">${DEBUG}<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> &nbsp;<span class=\"br0\">&#91;<\/span> <span class=\"re5\">-z<\/span> <span class=\"st0\">&quot;<span class=\"es2\">$PPID<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"re2\">PPID<\/span>=<span class=\"re4\">$$<\/span> <span class=\"re4\">$0<\/span> <span class=\"sy0\">&amp;<\/span> <span class=\"kw3\">exit<\/span> <span class=\"nu0\">0<\/span>; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\ninit<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\nmodprobe i2c-i801 <span class=\"sy0\">&gt;\/<\/span>dev<span class=\"sy0\">\/<\/span>null <span class=\"nu0\">2<\/span><span class=\"sy0\">&gt;&amp;<\/span><span class=\"nu0\">1<\/span><br \/>\nmodprobe i2c-dev <span class=\"sy0\">&gt;\/<\/span>dev<span class=\"sy0\">\/<\/span>null <span class=\"nu0\">2<\/span><span class=\"sy0\">&gt;&amp;<\/span><span class=\"nu0\">1<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\nrotate<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\nxrandr <span class=\"re5\">-o<\/span> <span class=\"re4\">$1<\/span><br \/>\n<span class=\"kw1\">case<\/span> <span class=\"re4\">$1<\/span> <span class=\"kw1\">in<\/span><br \/>\nnormal<span class=\"br0\">&#41;<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Inversion&quot;<\/span> <span class=\"nu0\">0<\/span>, <span class=\"nu0\">0<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axes Swap&quot;<\/span> <span class=\"nu0\">0<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Calibration&quot;<\/span> <span class=\"re1\">$calibx<\/span> <span class=\"re1\">$caliby<\/span><br \/>\n<span class=\"sy0\">;;<\/span><br \/>\ninverted<span class=\"br0\">&#41;<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Inversion&quot;<\/span> <span class=\"nu0\">1<\/span>, <span class=\"nu0\">1<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axes Swap&quot;<\/span> <span class=\"nu0\">0<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Calibration&quot;<\/span> <span class=\"re1\">$calibx<\/span> <span class=\"re1\">$caliby<\/span><br \/>\n<span class=\"sy0\">;;<\/span><br \/>\nleft<span class=\"br0\">&#41;<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Inversion&quot;<\/span> <span class=\"nu0\">1<\/span>, <span class=\"nu0\">0<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axes Swap&quot;<\/span> <span class=\"nu0\">1<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Calibration&quot;<\/span> <span class=\"re1\">$caliby<\/span> <span class=\"re1\">$calibx<\/span><br \/>\n<span class=\"sy0\">;;<\/span><br \/>\nright<span class=\"br0\">&#41;<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Inversion&quot;<\/span> <span class=\"nu0\">0<\/span>, <span class=\"nu0\">1<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axes Swap&quot;<\/span> <span class=\"nu0\">1<\/span><br \/>\nxinput set-prop <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"st0\">&quot;Evdev Axis Calibration&quot;<\/span> <span class=\"re1\">$caliby<\/span> <span class=\"re1\">$calibx<\/span><br \/>\n<span class=\"kw1\">esac<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\nget_orientation<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"kw1\">set<\/span> <span class=\"sy0\">`<\/span>i2c-gsensor <span class=\"nu0\">0<\/span><span class=\"sy0\">`<\/span><br \/>\n<br \/>\n<span class=\"re2\">x<\/span>=<span class=\"re4\">$3<\/span><br \/>\n<span class=\"re2\">y<\/span>=<span class=\"re4\">$6<\/span><br \/>\n<span class=\"re2\">z<\/span>=<span class=\"re4\">$9<\/span><br \/>\n<br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#91;<\/span> <span class=\"br0\">&#40;<\/span> <span class=\"re1\">$x<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">0<\/span> <span class=\"br0\">&#41;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <span class=\"br0\">&#40;<\/span> <span class=\"re1\">$x<\/span> <span class=\"re5\">-lt<\/span> <span class=\"nu0\">60<\/span> <span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#93;<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#91;<\/span> <span class=\"br0\">&#40;<\/span> <span class=\"re1\">$y<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">247<\/span> <span class=\"br0\">&#41;<\/span> <span class=\"sy0\">||<\/span> <span class=\"br0\">&#40;<\/span> <span class=\"re1\">$y<\/span> <span class=\"re5\">-lt<\/span> <span class=\"nu0\">10<\/span> <span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#93;<\/span><span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"kw1\">then<\/span><br \/>\n<span class=\"co0\"># laptop mod = normal tablet mode = inverted<\/span><br \/>\n<span class=\"re2\">new_orientation<\/span>=<span class=\"st0\">&quot;inverted&quot;<\/span><br \/>\n<span class=\"kw1\">elif<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"re1\">$y<\/span> <span class=\"re5\">-lt<\/span> <span class=\"nu0\">248<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"re1\">$y<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">190<\/span> <span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"kw1\">then<\/span><br \/>\n<span class=\"co0\"># laptop mod = right tablet mode = left<\/span><br \/>\n<span class=\"re2\">new_orientation<\/span>=<span class=\"st0\">&quot;left&quot;<\/span><br \/>\n<span class=\"kw1\">elif<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"re1\">$y<\/span> <span class=\"re5\">-lt<\/span> <span class=\"nu0\">60<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"re1\">$y<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">10<\/span> <span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"kw1\">then<\/span><br \/>\n<span class=\"co0\"># laptop mod = left tablet mode = right<\/span><br \/>\n<span class=\"re2\">new_orientation<\/span>=<span class=\"st0\">&quot;right&quot;<\/span><br \/>\n<span class=\"kw1\">else<\/span><br \/>\n<span class=\"co0\"># laptop mod = inverted tablet mode = normal<\/span><br \/>\n<span class=\"re2\">new_orientation<\/span>=<span class=\"st0\">&quot;normal&quot;<\/span><br \/>\n<span class=\"kw1\">fi<\/span><br \/>\n<span class=\"kw3\">echo<\/span> <span class=\"re1\">$new_orientation<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\nloop<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"kw1\">while<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"nu0\">1<\/span> <span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"kw1\">do<\/span><br \/>\n<span class=\"kw2\">sleep<\/span> <span class=\"nu0\">3<\/span><br \/>\nget_orientation<br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"st0\">&quot;<span class=\"es3\">${new_orientation}<\/span>&quot;<\/span> <span class=\"sy0\">!<\/span>= <span class=\"st0\">&quot;<span class=\"es3\">${orientation}<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span><br \/>\n<span class=\"kw1\">then<\/span><br \/>\nrotate <span class=\"co1\">${new_orientation}<\/span><br \/>\n<span class=\"re2\">orientation<\/span>=<span class=\"co1\">${new_orientation}<\/span><br \/>\n<span class=\"kw1\">fi<\/span><br \/>\n<span class=\"kw3\">echo<\/span> <span class=\"st0\">&quot;x: <span class=\"es2\">$x<\/span> y: <span class=\"es2\">$y<\/span> z: <span class=\"es2\">$z<\/span>&quot;<\/span><br \/>\n<span class=\"kw1\">done<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"co0\"># MAIN<\/span><br \/>\n<span class=\"co0\">#-----<\/span><br \/>\n<span class=\"kw3\">trap<\/span> - EXIT<br \/>\n<br \/>\n<span class=\"co0\">#Initialisation<\/span><br \/>\n<span class=\"re2\">PATH<\/span>=<span class=\"st0\">&quot;<span class=\"es2\">$PATH<\/span>:\/usr\/local\/bin:\/sbin:\/bin:\/usr\/sbin:\/usr\/bin&quot;<\/span><br \/>\n<span class=\"re2\">prog<\/span>=<span class=\"sy0\">`<\/span><span class=\"kw2\">basename<\/span> <span class=\"re4\">$0<\/span><span class=\"sy0\">`<\/span><br \/>\n<span class=\"re2\">caliby<\/span>=<span class=\"st0\">&quot;0 10751&quot;<\/span><br \/>\n<span class=\"re2\">calibx<\/span>=<span class=\"st0\">&quot;0 18943&quot;<\/span><br \/>\ninit<br \/>\n<span class=\"br0\">&#91;<\/span> <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">||<\/span> <span class=\"re2\">id<\/span>=<span class=\"st0\">&quot;<span class=\"es5\">`xinput list | grep Cando \\<br \/>\n| sed -n -e's\/.*id=\\([0-9]\\+\\).*\/\\1\/p'`<\/span>&quot;<\/span><br \/>\n<span class=\"br0\">&#91;<\/span> <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">||<\/span> <span class=\"re2\">id<\/span>=<span class=\"st0\">&quot;<span class=\"es5\">`xinput list | grep touchscreen \\<br \/>\n| sed -n -e's\/.*id=\\([0-9]\\+\\).*\/\\1\/p'`<\/span>&quot;<\/span><br \/>\n<span class=\"br0\">&#91;<\/span> <span class=\"st0\">&quot;<span class=\"es2\">$id<\/span>&quot;<\/span> <span class=\"br0\">&#93;<\/span> <span class=\"sy0\">||<\/span> <span class=\"br0\">&#123;<\/span> <span class=\"kw3\">echo<\/span> <span class=\"st0\">&quot; Touch screen not found...&quot;<\/span> <span class=\"sy0\">&amp;<\/span> <span class=\"kw3\">exit<\/span> <span class=\"nu0\">1<\/span>; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"re2\">orientation<\/span>=<span class=\"sy0\">`<\/span>xrandr <span class=\"re5\">--query<\/span> <span class=\"re5\">--verbose<\/span> <span class=\"sy0\">|<\/span> <span class=\"kw2\">awk<\/span> <span class=\"st_h\">' ($1==&quot;LVDS1&quot;) {print $5} '<\/span><span class=\"sy0\">`<\/span><br \/>\n<span class=\"re2\">new_orientation<\/span>=<span class=\"st0\">&quot;<span class=\"es3\">${orientation}<\/span>&quot;<\/span><br \/>\n<br \/>\n<span class=\"co0\">#if got argument do not jump into loop<\/span><br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#91;<\/span> <span class=\"re4\">$#<\/span> <span class=\"re5\">-gt<\/span> <span class=\"nu0\">0<\/span> <span class=\"br0\">&#93;<\/span><span class=\"br0\">&#93;<\/span>;<span class=\"kw1\">then<\/span><br \/>\nrotate <span class=\"re4\">$1<\/span><br \/>\n<span class=\"kw1\">else<\/span><br \/>\nloop<br \/>\n<span class=\"kw1\">fi<\/span><br \/>\n<br \/>\n<span class=\"kw3\">exit<\/span> <span class=\"nu0\">0<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>\/usr\/bin\/gyro-key.run<\/p>\n<div class=\"codecolorer-container bash default\" style=\"overflow:auto;white-space:nowrap;width:70%;height:400px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/><\/div><\/td><td><div class=\"bash codecolorer\"><span class=\"co0\">#!\/bin\/bash<\/span><br \/>\n<span class=\"re2\">pid<\/span>=$<span class=\"br0\">&#40;<\/span> pgrep gyro-auto-rotat <span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#91;<\/span> <span class=\"re4\">$1<\/span> == <span class=\"st0\">&quot;activate&quot;<\/span> <span class=\"br0\">&#93;<\/span><span class=\"br0\">&#93;<\/span>;<span class=\"kw1\">then<\/span><br \/>\n<span class=\"co0\">#DO NOT START TWICE<\/span><br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"st0\">&quot;<span class=\"es2\">$pid<\/span>&quot;<\/span> == <span class=\"st0\">&quot;&quot;<\/span> <span class=\"br0\">&#93;<\/span> ;<span class=\"kw1\">then<\/span><br \/>\ngyro-auto-rotate.run <span class=\"sy0\">&amp;<\/span><br \/>\n<span class=\"kw1\">fi<\/span><br \/>\nnotify-send <span class=\"st0\">&quot;gyro auto rotation enabled --&gt; tablet mode&quot;<\/span><br \/>\n<span class=\"kw1\">else<\/span><br \/>\n<br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#91;<\/span> <span class=\"re4\">$1<\/span> == <span class=\"st0\">&quot;deactivate&quot;<\/span> <span class=\"br0\">&#93;<\/span><span class=\"br0\">&#93;<\/span>;<span class=\"kw1\">then<\/span><br \/>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#91;<\/span> <span class=\"st0\">&quot;<span class=\"es2\">$pid<\/span>&quot;<\/span> <span class=\"sy0\">!<\/span>= <span class=\"st0\">&quot;&quot;<\/span> <span class=\"br0\">&#93;<\/span> ;<span class=\"kw1\">then<\/span><br \/>\n<span class=\"kw2\">kill<\/span> <span class=\"re5\">-9<\/span> <span class=\"re1\">$pid<\/span><br \/>\n<span class=\"co0\">#reset screen to default<\/span><br \/>\ngyro-auto-rotate.run normal<br \/>\n<span class=\"kw1\">fi<\/span><br \/>\nnotify-send <span class=\"st0\">&quot;gyro auto rotation disabled --&gt; laptop mode&quot;<\/span><br \/>\n<span class=\"kw1\">else<\/span><br \/>\nnotify-send <span class=\"st0\">&quot;No param&quot;<\/span><br \/>\n<span class=\"kw1\">fi<\/span><br \/>\n<span class=\"kw1\">fi<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>I use a tool for displaying me desktop notifications if gyro rotations is enabled or disabled. If you want to use it, you need to install the package libnotify-bin with<\/p>\n<p>sudo apt-get install libnotify-bin<\/p>\n<p>if you don&#8217;t want the feature please uncomment all lines with notify-send.<\/p>\n<p>After that you need to update your key-bindings in gnome-keybinding-properties.<\/p>\n<p>Take a look at my configuration:<br \/>\n<a href=\"http:\/\/www.ceh-photo.de\/blog\/wp-content\/plugins\/downloads-manager\/upload\/\/gnome-keybindings.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-310\" title=\"gnome-keybindings-properties\" src=\"http:\/\/www.ceh-photo.de\/blog\/wp-content\/plugins\/downloads-manager\/upload\/\/gnome-keybindings.png\" alt=\"\" width=\"833\" height=\"418\" srcset=\"https:\/\/www.ceh-photo.de\/blog\/wp-content\/plugins\/downloads-manager\/upload\/gnome-keybindings.png 833w, https:\/\/www.ceh-photo.de\/blog\/wp-content\/plugins\/downloads-manager\/upload\/gnome-keybindings-300x150.png 300w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/a><\/p>\n<p>you need to call the script gyro-key.run one time with parameter deactivate and one time with activate to enable and disable the gyro auto rotation. See example on the screenshot.<\/p>\n<p>The backup-button is now free for other commands. I use it as button for fullscreen-mode.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In two old posts I described, how you could use the gyro sensor of the Acer 1825 for auto rotating your screen and how you could enable and disable this feature with a special button. http:\/\/www.ceh-photo.de\/blog\/?p=244 http:\/\/www.ceh-photo.de\/blog\/?p=186 A user (perpe) from http:\/\/ubuntuforums.org\/showthread.php?t=1486671&amp;page=13 found out, that in windows the gyro sensor is enabled and disabled with [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,46],"tags":[56,63,59,40,57],"class_list":["post-309","post","type-post","status-publish","format-standard","hentry","category-it","category-linux-it-2","tag-acer-1825","tag-gnome","tag-gyro","tag-linux","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=309"}],"version-history":[{"count":9,"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/309\/revisions"}],"predecessor-version":[{"id":313,"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/309\/revisions\/313"}],"wp:attachment":[{"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ceh-photo.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}