[Xperia Play Android Development] farenheith:
Mark, I have a tip for you :P.

I didn't test your ROM directly yet, but I tested the MIUI that is based on it, and the touchpad was not working on the Max Payne. The problem is that the game is checking the android SDK version and, if it's greater than 13, it's not activating the touchpads. if it's happening on your ROM too, a workaround to it is change the framework.jar, specifically the method dispatchGenericMotionEvent of the View.smali, to something like this (changes in red):

.method public dispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z
.locals 6
.parameter "event"

.prologue
const/4 v3, 0x0

const/4 v2, 0x1

.line 5637
iget-boolean v4, p0, Landroid/view/View;->mProcessGenericMotionAsPointer:Z

[COLOR="red"] if-eqz v4, :cond_8

:cond_9
[/COLOR] invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I

move-result v4

const v5, 0x100008

and-int/2addr v4, v5

if-eqz v4, :cond_1

.line 5639
invoke-virtual {p0, p1}, Landroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z

move-result v2

.line 5669
:cond_0
:goto_0
return v2

.line 5642
:cond_1
iget-object v4, p0, Landroid/view/View;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;

if-eqz v4, :cond_2

.line 5643
iget-object v4, p0, Landroid/view/View;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;

invoke-virtual {v4, p1, v3}, Landroid/view/InputEventConsistencyVerifier;->onGenericMotionEvent(Landroid/view/MotionEvent;I)V

.line 5646
:cond_2
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I

move-result v1

.line 5647
.local v1, source:I
and-int/lit8 v4, v1, 0x2

if-eqz v4, :cond_7

.line 5648
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

move-result v0

.line 5649
.local v0, action:I
const/16 v4, 0x9

if-eq v0, v4, :cond_3

const/4 v4, 0x7

if-eq v0, v4, :cond_3

const/16 v4, 0xa

if-ne v0, v4, :cond_6

.line 5652
:cond_3
invoke-virtual {p0, p1}, Landroid/view/View;->dispatchHoverEvent(Landroid/view/MotionEvent;)Z

move-result v4

if-nez v4, :cond_0

.line 5662
.end local v0 #action:I
:cond_4
invoke-direct {p0, p1}, Landroid/view/View;->dispatchGenericMotionEventInternal(Landroid/view/MotionEvent;)Z

move-result v4

if-nez v4, :cond_0

.line 5666
iget-object v2, p0, Landroid/view/View;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;

if-eqz v2, :cond_5

.line 5667
iget-object v2, p0, Landroid/view/View;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;

invoke-virtual {v2, p1, v3}, Landroid/view/InputEventConsistencyVerifier;->onUnhandledEvent(Landroid/view/InputEvent;I)V

:cond_5
move v2, v3

.line 5669
goto :goto_0

.line 5655
.restart local v0 #action:I
:cond_6
invoke-virtual {p0, p1}, Landroid/view/View;->dispatchGenericPointerEvent(Landroid/view/MotionEvent;)Z

move-result v4

if-eqz v4, :cond_4

goto :goto_0

.line 5658
.end local v0 #action:I
:cond_7
invoke-virtual {p0, p1}, Landroid/view/View;->dispatchGenericFocusedEvent(Landroid/view/MotionEvent;)Z

move-result v4

if-eqz v4, :cond_4

goto :goto_0

[COLOR="Red"] :cond_8
const/4 v0, 0x0

const-string/jumbo v1, "mod.touchpad.activated"

invoke-static {v1, v0}, Landroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I

move-result v0

if-nez v0, :cond_9
goto :cond_1[/COLOR]
.end method

Then, you can use this app to make the touchpad be always activated (or not). If it's always activated, Max payne will work with it (and maybe other games that it's not right now)