, still its great for menus, and Enstone uses it in his menu (Revolution V1) that's why you cant hold the DPAD to scroll 
public static uint G_Client(int clientIndex)
{
return (0x1780F28 + ((uint)(clientIndex * 0x580
));
}
public static UInt32
DPADUp = 0x34,
DPADDown = 0x38,
DPADLeft = 0x3C,
DPADRight = 0x40;
public static bool DetectButton(int clientIndex, uint Button)
{
Int32 ButtonIndex = PS3.Extensions.ReadInt32(0x94641C + Button);
Int32 B1 = PS3.Extensions.ReadInt32(G_Client(clientIndex) + 0x56B
;
Int32 B2 = PS3.Extensions.ReadInt32(G_Client(clientIndex) + 0x56A0);
if ((B1 == ButtonIndex) || (B2 == ButtonIndex))
return true;
return false;
}
DetectButton(clientIndex, Button);
while (true)
if (DetectButton(0, DPADUp))
MessageBox.Show("Client 0 Pressed DPAD UP!");
, still its great for menus, and Enstone uses it in his menu (Revolution V1) that's why you cant hold the DPAD to scroll 
public static uint G_Client(int clientIndex)
{
return (0x177E928 + ((uint)(clientIndex * 0x580
));
}
public static UInt32
DPADUp = 0x34,
DPADDown = 0x38,
DPADLeft = 0x3C,
DPADRight = 0x40;
public static bool DetectButton(int clientIndex, uint Button)
{
Int32 ButtonIndex = PS3.Extensions.ReadInt32(0x94640C + Button);
Int32 B1 = PS3.Extensions.ReadInt32(G_Client(clientIndex) + 0x56B
;
Int32 B2 = PS3.Extensions.ReadInt32(G_Client(clientIndex) + 0x56A0);
if ((B1 == ButtonIndex) || (B2 == ButtonIndex))
return true;
return false;
}
DetectButton(clientIndex, Button);
while (true)
if (DetectButton(0, DPADUp))
MessageBox.Show("Client 0 Pressed DPAD UP!");
Copyright © 2026, NextGenUpdate.
All Rights Reserved.