//#include // Script to use a Zuiki Switch controller with Densha de GO! games for the PS1/PS2 on emulators or real hardware // Written by Marc Riera, 2022 // D-Pad is mapped to left stick and X is mapped to L3 for use with for use with PS2 cheats: // https://marcriera.github.io/ddgo-controller-docs/adapters/#playstation-2-cheat-codes-for-playstation-1-controllers unmap HID_XINPUT_1; unmap PS4_PS; remap PS4_RX -> PS4_LX; remap PS4_RY -> PS4_LY; unmap PS4_RX; unmap PS4_RY; main { // Teal light set_led(LED_1, 1); set_led(LED_2, 0); set_led(LED_3, 1); // X button if (get_val(HID_BUTTON_14) == 100) { set_val(PS4_L3, 100); } // D-Pad if (get_val(HID_BUTTON_10) == 100) { // UP set_val(PS4_RY, -100); } if (get_val(HID_BUTTON_11) == 100) { // DOWN set_val(PS4_RY, 100); } if (get_val(HID_BUTTON_12) == 100) { // LEFT set_val(PS4_RX, -100); } if (get_val(HID_BUTTON_13) == 100) { // RIGHT set_val(PS4_RX, 100); } // Handle if (get_val(HID_STICK_2_Y) == -100) { // EB set_val(PS4_L1, 0); set_val(PS4_L2, 0); set_val(PS4_R1, 0); set_val(PS4_R2, 0); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -96) { // B8 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 0); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -85) { // B7 set_val(PS4_L1, 100); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 0); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -74) { // B6 set_val(PS4_L1, 0); set_val(PS4_L2, 0); set_val(PS4_R1, 0); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -63) { // B5 set_val(PS4_L1, 100); set_val(PS4_L2, 0); set_val(PS4_R1, 0); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -52) { // B4 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 0); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -42) { // B3 set_val(PS4_L1, 100); set_val(PS4_L2, 100); set_val(PS4_R1, 0); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -31) { // B2 set_val(PS4_L1, 0); set_val(PS4_L2, 0); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == -20) { // B1 set_val(PS4_L1, 100); set_val(PS4_L2, 0); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == 0) { // N set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == 24) { // P1 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 0); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 100); } if (get_val(HID_STICK_2_Y) == 43) { // P2 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 0); set_val(PS4_RIGHT, 100); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == 61) { // P3 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 0); set_val(PS4_TRIANGLE, 100); } if (get_val(HID_STICK_2_Y) == 80) { // P4 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 100); set_val(PS4_RIGHT, 0); set_val(PS4_TRIANGLE, 0); } if (get_val(HID_STICK_2_Y) == 100) { // P5 set_val(PS4_L1, 0); set_val(PS4_L2, 100); set_val(PS4_R1, 100); set_val(PS4_R2, 100); set_val(PS4_LEFT, 0); set_val(PS4_RIGHT, 0); set_val(PS4_TRIANGLE, 100); } set_val(PS4_UP, 100); set_val(PS4_DOWN, 100); }