Mad wrote:Mate I relayed some information from J2K, I don't have a Playstation yet I kept following up with him asking for you guys and he had a working prototype, nothing ever came of it for whatever reason.
Mad, if you're still in touch with Jefferson, could you relay a request for updated G29 emulation on PS5? I find the DualSense steering in Gran Turismo 7 really slow, so I use a script that translates 432° of G29 steering to leftstick:
- Code: Select all
#define LS STICK_2_X
if(get_val(LS) > -4.0 && get_val(LS) < 4.0) set_val(STICK_1_X, 0);
else if(get_val(LS) <= -4.0) set_val(STICK_1_X, get_val(LS) * 0.50 + 2.0);
else if(get_val(LS) >= 4.0) set_val(STICK_1_X, get_val(LS) * 0.50 - 2.0);
The full 900° is too twitchy for a stick, and I find 400+ enough for hairpins in most cars. Deadzone will obviously vary between DualSenses.
I've no idea if the T2 hardware can do what the Drive Hub can (also authenticates with Hori Mini), but for now I manually resync with:
- Code: Select all
if(event_active(BUTTON_2)) {
set_val(BUTTON_2, 0);
port_disconnect();
port_connect(PORT_USB_C, PROTOCOL_WHEEL);
}
And I've never been able to get rumble to work to warn me when I'm 30 seconds away from a timeout. I'd love it if this could be updated at some point.
[edit]
Should anyone want to use my code with rightstick for accelerate/brake:
- Code: Select all
#define RS STICK_1_Y
#define L2 BUTTON_8
#define R2 BUTTON_5
if(get_val(RS) > -4.0 && get_val(RS) < 4.0) {
set_val(L2, 0);
set_val(R2, 0);
}
else if(get_val(RS) <= -4.0 && get_val(RS) > -99.0) set_val(R2, (inv(get_val(RS)) - 4.0));
else if(get_val(RS) <= -99.0) set_val(R2, inv(get_val(RS)));
else if(get_val(RS) >= 4.0 && get_val(RS) < 99.0) set_val(L2, (clamp(get_val(RS), 0.0, 100.0) - 4.0));
else if(get_val(RS) >= 99.0) set_val(L2, clamp(get_val(RS), 0.0, 100.0));
I'm not the best coder, but that works. When accelerate/brake hits 95% it suddenly jumps to 100, dropping the deadzone correction that assigns 0% to +/- 4.0 on the stick, but GT7 isn't granular enough to notice it. You can also still use L2/R2 with:
- Code: Select all
if(get_val(L2) > 0.0) {
set_val(BUTTON_8, 0);
set_val(BUTTON_11, 100);
}
if(get_val(R2) > 0.0) {
set_val(BUTTON_5, 0);
set_val(BUTTON_15, 100);
}
L2 for d-pad down and R2 for handbrake, in this case.