[General Questions and Answers] wlpywd:
i have been working with custom apps development for work, and I think (I HAVE VERY LIMITED KNOWLEDGE DONT QUOTE ME AS AN EXPERT OR CODER) you are right, this should be a one-button widget/one-option setting under 'settings' of a ROM, not an APP, that simply reverses display on the Y - axis (hell, option for x-axis too, don't know if vertical or landscape display wanted/needed, especially with tablets), reverses control functions, and control locations. (ESPECIALLY ICS controls)

My understanding of coding for this, you can't have an app that would effect the output of another app, the only 'system wide' apps, like 'Screen Filter' for example, can control a system-wide "overlay" but not change the actual output of display options.

I am only posting this because we had the same issue come up with something hella specific we were working on, an education in-house app, needed a left-hand and right-hand version, and at first were thinking some kind of library call to either mirror or flip just a specific layer of display within the app, but it turned out it was much much much much easier to just recode a 2nd location for the controls and set it under options within the app to choose which one to use, the 'mirroring' i think proved to be impossible without a custom rom, which most of us would've been ok with but can't add new people or expect to have enterprise control of the app if it was a rom change. See, if you mirror the display, the touch controls work opposite their button location. If you mirror the control buttons as well, the functionality of Left Right becomes reversed too, essentially breaking the app. (think of the old helicopter game controls, only left right instead of up down)

but, not only for HUD, but for left-hand/right hand, disability access, and other various uses, a ROM-wide setting to control reversing the display of both controls layer and app-display layer would be most excellent for custom roms and eventually the Android core code as well (Here is the problem everyone in this thread is ignoring, if the display output is simply reversed, your touch controls, especially for ICS system buttons, functionality would be broken, controls in the dead center would work backwards and controls on the left or right side of axis would still work on the opposite side of where the display shows the button to be, and this would, for the common user, essentially break functionality of the phone itself) --- Am I making sense? someone who is a better developer should be able to rephrase what i'm saying in a better way.

But the app controls would also need to be reversed, and I don't think that can be done via an app, at least not to control the behavior of other apps. An overlay wouldn't work, even if it was a mirrored output of display over a blank overlay of the original display output, because control options can't be manipulated by an additional app for the app you are actively using.

But i agree, this should be easy enough to do for CM10 and other custom roms.

I would just suggest you separate the two within settings, so there is an option to reverse controls only (for left handed, disabled, special situations, etc -- which should really be included in Android core itself) for accessibility, let apps call on the control layout option so can just code once and have it reverse A) location, for handedness, B)functionality, for special use, options, and HUD, and then C) also reverse display, for either HUD or Mirrored projection/video output/special uses. So, if I understand the android programming correctly, you just need to include 3 separate reverse-output libraries for app programmers to call, which could also just be set system-wide within options, they are 1)reverse touchscreen control location based on a flip of y-axis or x-axis in landscape, 2)reverse touchscreen control functionality based on the gyroscope-detected axis, and 3) reverse the display rendering output along the axis, also gyroscope-detected.

I guess I would suggest begging CM folks to incorporate this, and once its in use with enough people out there, maybe by the time Android is at Sweetbread or Truffles it will be incorporated into the main libraries. Either that or a group of disabled and left-handed folks (NOT IMPLYING THE SAME THING BETWEEN THE TWO GROUPS PEOPLE, I HAPPEN TO BE LEFT HANDED MYSELF) sue google class action to include these in the programming libraries under the disabilities act violations for accessibility.

----

of course, if someone else knows a much, much easier way to do this with just a standalone app, please speak up!!!!!!!