UDP telemetry - UDP action code 1 always being set in Button event
Description:
In the button Press event, after every button press, UDP_ACTION_1 bit is always set. This seems to be the baseline value that is set after button release. This makes UDP action 1 unusable.
Below are the logs for when I pressed, UP, DOWN, LEFT, RIGHT on my keyboard (issue seen with controller and wheel also). This works as expected in F1 23, but not in F1 25
Platform:
PC, Steam
Steps to reproduce:
Press any mapped button anywhere in the game, doesn't really matter. Monitor UDP telemetry button press event logs.
I Pressed the sequence of UP, DOWN, LEFT, RIGHT. Tried on keyboard, controller and my Moza R5 wheel. Is hardware agnostic.
Below are the button press events that arrive.
2025-11-26 16:43:01 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_UP, UDP_ACTION_1] Raw = (0x00100040)
2025-11-26 16:43:01 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [UDP_ACTION_1] Raw = (0x00100000)
2025-11-26 16:43:02 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_DOWN, UDP_ACTION_1] Raw = (0x00100080)
2025-11-26 16:43:02 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [UDP_ACTION_1] Raw = (0x00100000)
2025-11-26 16:43:03 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_LEFT, UDP_ACTION_1] Raw = (0x00100010)
2025-11-26 16:43:03 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [UDP_ACTION_1] Raw = (0x00100000)
2025-11-26 16:43:04 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_RIGHT, UDP_ACTION_1] Raw = (0x00100020)
2025-11-26 16:43:04 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [UDP_ACTION_1] Raw = (0x00100000)
Expected Behaviour:
The UDP_ACTION_1 bit to be set only when that button is set, not always. This works fine in F1 23 and below are the logs from the same input sequence from F1 23
2025-11-26 16:55:00 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_UP] Raw = (0x00000040)
2025-11-26 16:55:00 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [] Raw = (0x00000000)
2025-11-26 16:55:03 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_DOWN] Raw = (0x00000080)
2025-11-26 16:55:03 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [] Raw = (0x00000000)
2025-11-26 16:55:05 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_LEFT] Raw = (0x00000010)
2025-11-26 16:55:05 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [] Raw = (0x00000000)
2025-11-26 16:55:07 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [DPAD_RIGHT] Raw = (0x00000020)
2025-11-26 16:55:07 [DEBUG] telemetry_handler.py:447 - Button press event: Pressed Buttons: [] Raw = (0x00000000)
As can be seen, on button release, 0 is the value sent.
Report code:
N/A, this is reproduced in main menu.