Rotate
From Openmoko
(New page: Here's a quick and simple C program that reads a packet from the accelerometer once per second, and rotates the screen to a new orientation if the orientation has changed. I do...) |
|||
(25 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Languages|Rotate}} | ||
+ | |||
Here's a quick and simple C program that reads a packet from the | Here's a quick and simple C program that reads a packet from the | ||
accelerometer once per second, and rotates the screen to a new | accelerometer once per second, and rotates the screen to a new | ||
− | orientation if the orientation has changed. | + | orientation if the orientation has changed. |
− | I don't mean this to conflict with Paul's excellent work on Gestures; | + | I don't mean this to conflict with Paul's excellent work on [[Gestures]]; |
my reason for writing it is so that it can be used as an always-on | my reason for writing it is so that it can be used as an always-on | ||
daemon in the OM distributions. (Full gesture interpretation is more | daemon in the OM distributions. (Full gesture interpretation is more | ||
Line 10: | Line 12: | ||
The code is: | The code is: | ||
− | + | http://github.com/cjb/freerunner-rotate/tree/master/rotate.c?raw=true | |
There's an ARM binary here (chmod a+x rotate && ./rotate): | There's an ARM binary here (chmod a+x rotate && ./rotate): | ||
− | + | http://dev.laptop.org/~cjb/rotate | |
+ | |||
+ | == rotated == | ||
+ | * author: Kurt Van Dijck <kurt.van.dijck_at_skynet.be> | ||
+ | * [http://www.ecirc.net/openmoko/rotated_0.9_armv4t.ipk] ipkg for 2008.12 | ||
+ | * [http://www.ecirc.net/openmoko/rotated.tgz] for sources | ||
+ | |||
+ | I found that rotating the desktop area in landscape (using xrandr) makes the XGlamo eat the CPU on my GTA-02 | ||
+ | system. | ||
+ | |||
+ | Rotating the display head (xrandr --output default ...) works without major CPU load. | ||
+ | |||
+ | By using no libxrandr, but invoking xrandr commands, it only depends on the accelerometer. | ||
+ | |||
+ | == omnewrotate at code.google.com == | ||
+ | |||
+ | * author: Rui Miguel Silva Seabra <rms_ghaaaNoSpamPlease_at_1407_org> | ||
+ | * related blog posts: | ||
+ | ** http://blog.1407.org/tag/rotate | ||
+ | ** [http://blog.1407.org/2008/09/20/openmoko-rotate-now-using-libxrandr/ Patch for using libxrandr] instead of system+xrandr | ||
+ | * source codes http://code.google.com/p/omnewrotate/ (there are [https://admin-trac.openmoko.org/trac/ticket/1563 problems with projects.openmoko.org] ) | ||
+ | * Arm [http://files.1407.org/openmoko/rotate/ releases built] | ||
+ | |||
+ | == accel-rotate at projects.openmoko.org == | ||
+ | |||
+ | <onlyinclude> | ||
+ | {{ApplicationBox| | ||
+ | Name=[[Rotate]]| | ||
+ | Description=Rotates the screen according to the position of the Neo FreeRunner. | | ||
+ | Screenshot=No-screenshot.png| | ||
+ | Homepage=http://projects.openmoko.org/projects/accell-rotate/| | ||
+ | TestedOn=FSO, ASU, QtExtended| | ||
+ | PackageName=accel-rotate (external download) | ||
+ | }} | ||
+ | </onlyinclude> | ||
+ | * Om2008.x package: | ||
+ | <pre>opkg install http://projects.openmoko.org/frs/download.php/455/accel-rotate_0.41_armv4t.ipk</pre> | ||
+ | * Qt Extended 4.4.1 package: | ||
+ | <pre>opkg install http://projects.openmoko.org/frs/download.php/456/accel-rotate-qte_0.41_armv4t.ipk</pre> | ||
+ | * Source codes are in subversion, developers are welcome | ||
+ | * TODO: | ||
+ | ** better heuristics - any ideas how to do this well? please use discussion on this wiki. | ||
+ | ** disabling on screensaver | ||
+ | * [http://joejoe.blog.root.cz/2008/09/23/akcelerometry-v-openmoku/] how to display data from accelerometers on Desktop with gnuplot (there is a few of czech text, but there is also youtube video). | ||
+ | |||
+ | == Simple-rotate == | ||
+ | |||
+ | {{ApplicationBox| | ||
+ | Name=[[Simple-Rotate]]| | ||
+ | Description=Rotates the screen according to the position of the Neo FreeRunner. | | ||
+ | Screenshot=No-screenshot.png| | ||
+ | Homepage=http://projects.openmoko.org/projects/simple-rotate/| | ||
+ | TestedOn=ASU, Debian| | ||
+ | PackageName=simple-rotate (external download) | ||
+ | }} | ||
+ | |||
+ | Author: Miguel Angel Vilchez Lopez | ||
+ | |||
+ | * Debian package: | ||
+ | <pre>wget http://projects.openmoko.org/frs/download.php/584/simple-rotate.deb | ||
+ | dpkg -i simple-rotate.deb</pre> | ||
+ | |||
+ | * ASU binary:(Sorry, but still i have no ipkg package) | ||
− | + | <pre> | |
− | + | wget http://projects.openmoko.org/plugins/scmsvn/viewcvs.php/*checkout*/opkg/simple-rotate?rev=4&root=simple-rotate | |
+ | chmod +x simple-rotate | ||
+ | ./simple-rotate & | ||
+ | </pre> | ||
− | + | == See also == | |
− | + | ||
− | + | ||
− | + | ||
− | + | * [http://lists.openmoko.org/nabble.html#nabble-td1108285 October 13th version]. | |
− | + | [[Category:System Applications]] | |
− | + | [[Category:Accelerometer]] | |
− | + |
Latest revision as of 14:00, 11 January 2009
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
Here's a quick and simple C program that reads a packet from the
accelerometer once per second, and rotates the screen to a new
orientation if the orientation has changed.
I don't mean this to conflict with Paul's excellent work on Gestures; my reason for writing it is so that it can be used as an always-on daemon in the OM distributions. (Full gesture interpretation is more CPU heavy and requires reading data more often than once per second, so perhaps that will be done on-demand instead of always-on.)
The code is: http://github.com/cjb/freerunner-rotate/tree/master/rotate.c?raw=true
There's an ARM binary here (chmod a+x rotate && ./rotate): http://dev.laptop.org/~cjb/rotate
Contents |
[edit] rotated
I found that rotating the desktop area in landscape (using xrandr) makes the XGlamo eat the CPU on my GTA-02 system.
Rotating the display head (xrandr --output default ...) works without major CPU load.
By using no libxrandr, but invoking xrandr commands, it only depends on the accelerometer.
[edit] omnewrotate at code.google.com
- author: Rui Miguel Silva Seabra <rms_ghaaaNoSpamPlease_at_1407_org>
- related blog posts:
- http://blog.1407.org/tag/rotate
- Patch for using libxrandr instead of system+xrandr
- source codes http://code.google.com/p/omnewrotate/ (there are problems with projects.openmoko.org )
- Arm releases built
[edit] accel-rotate at projects.openmoko.org
Rotate
Rotates the screen according to the position of the Neo FreeRunner.
|
- Om2008.x package:
opkg install http://projects.openmoko.org/frs/download.php/455/accel-rotate_0.41_armv4t.ipk
- Qt Extended 4.4.1 package:
opkg install http://projects.openmoko.org/frs/download.php/456/accel-rotate-qte_0.41_armv4t.ipk
- Source codes are in subversion, developers are welcome
- TODO:
- better heuristics - any ideas how to do this well? please use discussion on this wiki.
- disabling on screensaver
- [3] how to display data from accelerometers on Desktop with gnuplot (there is a few of czech text, but there is also youtube video).
[edit] Simple-rotate
Simple-Rotate
Rotates the screen according to the position of the Neo FreeRunner.
|
Author: Miguel Angel Vilchez Lopez
- Debian package:
wget http://projects.openmoko.org/frs/download.php/584/simple-rotate.deb dpkg -i simple-rotate.deb
- ASU binary:(Sorry, but still i have no ipkg package)
wget http://projects.openmoko.org/plugins/scmsvn/viewcvs.php/*checkout*/opkg/simple-rotate?rev=4&root=simple-rotate chmod +x simple-rotate ./simple-rotate &