So… following up on my patch for a better xrandr rotation on Rotate, I’ve been learning how to read the accelerometers, and it’s a lot of fun, actually. I’m so thrilled… I really missed programming ๐
Now, the good news is that in a couple of days (hopefully) I’ll be posting a completely new Rotate. I’m collecting some positioning data from the second accelerometer, and right now I already know a few positions, at least my little test program is guessing some positions quite right…
s/guess position/libxrandr rotate/ and you get the new Rotate ๐
All this without running the risk of seeing this software banned (like the iDictatorPhone), where it seems some programmer got his application banned on the iDictatorPhone because it competed with Mail.App. Nice one, Apple, you’re only proving us, Free Software activists, right. Again. ๐
The following is the current output as I pick it up from the table and place it from turned up into turned down.
Postion (90,90,1026): horizontal turnedUp Postion (90,72,990): horizontal turnedUp Postion (36,54,990): horizontal turnedUp Postion (-36,36,990): horizontal turnedUp Postion (18,18,972): horizontal turnedUp Postion (18,936,0): upsideDown Postion (18,36,882): horizontal turnedUp Postion (36,36,900): horizontal turnedUp Postion (18,18,1008): horizontal turnedUp Postion (-36,1080,0): upsideDown Postion (-36,-36,1080): horizontal turnedUp Postion (72,1134,0): Postion (54,18,1314): horizontal Postion (54,54,1386): horizontal Postion (18,144,1404): horizontal Postion (-36,198,1386): horizontal Postion (-72,234,1296): Postion (-54,108,1152): horizontal Postion (-396,-72,936): horizontal turnedUp Postion (-864,-198,1080): horizontal left turnedUp Postion (-504,-36,918): horizontal turnedUp Postion (-504,54,1026): horizontal turnedUp Postion (-414,54,1098): horizontal turnedUp Postion (18,-54,774): horizontal Postion (234,-288,378): Postion (180,-666,18): Postion (414,-720,216): Postion (-36,-1080,0): vertical Postion (90,-774,-72): Postion (126,-270,-216): Postion (234,702,360): Postion (-360,378,-2304): Postion (864,1170,-918): right turnedDown Postion (126,702,-1800): Postion (288,558,-1494): Postion (270,288,-1314): Postion (54,108,-1206): horizontal Postion (108,162,-1098): horizontal turnedDown Postion (288,108,-882): horizontal turnedDown Postion (342,162,-792): horizontal Postion (270,72,-828): horizontal turnedDown Postion (306,36,-972): horizontal turnedDown Postion (306,90,-1188): horizontal Postion (270,324,-1332): Postion (180,396,-1278): Postion (126,450,-1386): Postion (-36,522,-1674): Postion (36,270,-1404): Postion (180,90,-1080): horizontal turnedDown Postion (72,72,-1044): horizontal turnedDown Postion (54,90,-1044): horizontal turnedDown Postion (-18,72,-1080): horizontal turnedDown Postion (18,72,-1026): horizontal turnedDown Postion (18,36,-1080): horizontal turnedDown Postion (18,36,-1134): horizontal Postion (36,36,-1098): horizontal turnedDown Postion (54,36,-1098): horizontal turnedDown Postion (90,54,-1080): horizontal turnedDown
You might want to take a look at the gestures application which was created during the last GSoC. (http://wiki.openmoko.org/wiki/Gesture). Maybe it is more wisely to make use of the dbus signals the gesture recognitition sends out, instead of implementing it all over again. I think it would be great to have a central daemon which detects all of the movement, which can be queried by any application to retrieve the requested information. The gestures application seems to be perfect for this. Furthermore it seems to be more future proof to me than letting every application implent the detections on their own.
Nevertheless I am really looking forward to your rotation application. No matter what kind of detection scheme is used :).
grettings
Jakob
You are right, but I don’t run FSO. Are dbus signals sent on Om200x.y? I thought that was only in FSO, but maybe I understood wrongly?
Since I need my OpenMoko as a daily usage phone and FSO isn’t ready enough yet (for me), for the moment Om200x.y where I’m coding…
ITS ROTATING!
Sounds great ๐
please also consider cases when the freerunners angle to the earth is very low. eg if it is lying on a table or if you are using the freerunner while lying on the sofa/bed
imho in such cases the rotation should be 0
There should be no problem using dbus with 2007.x or 2008.x. The only thing you need to make sure is, that the dbus daemon is installed and running. There should be packages of it in the buildhost repositories. I don’t see any reason why it should not work, as dbus is only the message bus used. It is no speciality of the FSO image.
greetings
Jakob
But the accelerometer data is being fed into the dbus system on those versions? I thought not.
if the gestures daemon is installed and running. You can simple register to its dbus signals. Your application will then be notified if the orientation changes
greetings
Jakob
Really? That would be nice, specially in terms of integration, I’ll have to check it out later…