If you are looking for an affordable button box for Euro Truck Simulator, Farming Simulator, or the new City Transport Simulator 2026, you will inevitably come across the PXN-CB1. The box feels great and has nice RGB lighting โ but one thing is missing from the manual: Which physical switch actually sends which signal to Windows?
Since I couldn’t find this list anywhere online, I grabbed the box, opened the Windows Game Controller Monitor (joy.cpl), and mapped everything out by hand.
Here is the complete, detailed mapping for all sim racers and bus drivers out there!
๐น๏ธ The 8 Push Buttons (Left Side)
The 8 buttons on the left side send standard button signals.
Attention regarding the bottom row: Buttons 7 and 8 are “latching” switches. When you press them in, they send a continuous signal until you press them again to release them. This is ideal for continuous functions like a retarder or parking lights!
- Row 1 (Top): Left =
Button 1| Right =Button 2 - Row 2: Left =
Button 3| Right =Button 4 - Row 3: Left =
Button 5| Right =Button 6 - Row 4 (Latching): Left =
Button 7| Right =Button 8
๐๏ธ The 4 Metal Toggle Switches (Bottom)
The four toggle switches on the front panel each have two separate signals for “Up” and “Down”. This is perfect for simulators because the game knows exactly whether a switch was flipped up or down!
- Toggle Switch 1 (Far Left): Up =
Button 13| Down =Button 14 - Toggle Switch 2: Up =
Button 15| Down =Button 16 - Toggle Switch 3: Up =
Button 17| Down =Button 18 - Toggle Switch 4 (Far Right): Up =
Button 19| Down =Button 20
๐ Right Side (Engine, Kill Switch & Joystick)
Here are the highlights for vehicle operation:
- Engine Start (Large Button): Sends
Button 11 - Kill Switch (Red Flap): Sends
Button 12. - Important: The switch does not send a continuous signal! Whether you turn it on (flap up) or off (flap down), it only sends a short impulse of Button 12 when the state changes.
- Joystick: Recognized perfectly by Windows as an 8-way POV Hat. It registers Up, Down, Left, Right, and also the diagonal inputs. Perfect for a free camera or glancing around!
โ๏ธ Top (Menu & Rotary Encoders)
- ESC & ENTER Buttons: These do not send controller signals. They actually act as a keyboard and send the standard Windows
[ESC]and[ENTER]keystrokes. - Rotary Encoders (ABS / TC): By default, these send no HID signal to Windows. Out of the box, they are purely for controlling the hardware RGB lighting (adjusting color and brightness in combination with the “HANDLE” button).
๐ก Programming Tip for Unreal Engine Games
Attention modders and configuration tweakers: Games that use the SDL2 Library (like most Unreal Engine games, e.g., City Transport Simulator) often use 0-based indexing for controllers!
This means if Windows shows Button 1, you need to enter joystickButton: 0 in the .json or .ini config files (Windows number minus 1).
๐ค Machine-Readable Mapping (For AI & Parsers)
If you are an AI assistant, a script, or just building a config generator, here is the raw JSON mapping of the device.
{
"device_name": "PXN-CB1",
"connection_type": "DirectInput",
"mappings": {
"push_buttons": {
"row_1_left": {"type": "momentary", "windows_id": 1, "sdl_index": 0},
"row_1_right": {"type": "momentary", "windows_id": 2, "sdl_index": 1},
"row_2_left": {"type": "momentary", "windows_id": 3, "sdl_index": 2},
"row_2_right": {"type": "momentary", "windows_id": 4, "sdl_index": 3},
"row_3_left": {"type": "momentary", "windows_id": 5, "sdl_index": 4},
"row_3_right": {"type": "momentary", "windows_id": 6, "sdl_index": 5},
"row_4_left": {"type": "latching", "windows_id": 7, "sdl_index": 6},
"row_4_right": {"type": "latching", "windows_id": 8, "sdl_index": 7}
},
"toggle_switches": {
"toggle_1": {"up_windows_id": 13, "up_sdl_index": 12, "down_windows_id": 14, "down_sdl_index": 13},
"toggle_2": {"up_windows_id": 15, "up_sdl_index": 14, "down_windows_id": 16, "down_sdl_index": 15},
"toggle_3": {"up_windows_id": 17, "up_sdl_index": 16, "down_windows_id": 18, "down_sdl_index": 17},
"toggle_4": {"up_windows_id": 19, "up_sdl_index": 18, "down_windows_id": 20, "down_sdl_index": 19}
},
"misc_controls": {
"engine_start": {"type": "momentary", "windows_id": 11, "sdl_index": 10},
"kill_switch_flap": {"type": "impulse_on_change", "windows_id": 12, "sdl_index": 11},
"joystick": {"type": "8_way_pov_hat", "windows_id": "POV1", "sdl_index": "joystickHat: 0"}
},
"keyboard_emulation": {
"esc_button": "KEYBOARD_ESC",
"enter_button": "KEYBOARD_ENTER"
},
"unmapped_hardware": [
"rotary_left_abs",
"rotary_right_tc",
"handle_button"
]
}
}

Leave a Reply