syntax = "proto2"; import "nanopb.proto"; enum ButtonLayout { option (nanopb_enumopt).long_names = false; BUTTON_LAYOUT_STICK = 0; BUTTON_LAYOUT_STICKLESS = 1; BUTTON_LAYOUT_BUTTONS_ANGLED = 2; BUTTON_LAYOUT_BUTTONS_BASIC = 3; BUTTON_LAYOUT_KEYBOARD_ANGLED = 4; BUTTON_LAYOUT_KEYBOARDA = 5; BUTTON_LAYOUT_DANCEPADA = 6; BUTTON_LAYOUT_TWINSTICKA = 7; BUTTON_LAYOUT_BLANKA = 8; BUTTON_LAYOUT_VLXA = 9; BUTTON_LAYOUT_FIGHTBOARD_STICK = 10; BUTTON_LAYOUT_FIGHTBOARD_MIRRORED = 11; BUTTON_LAYOUT_CUSTOMA = 12; BUTTON_LAYOUT_OPENCORE0WASDA = 13; BUTTON_LAYOUT_STICKLESS_13 = 14; BUTTON_LAYOUT_STICKLESS_16 = 15; BUTTON_LAYOUT_STICKLESS_14 = 16; BUTTON_LAYOUT_DANCEPAD_DDR_LEFT = 17; BUTTON_LAYOUT_DANCEPAD_DDR_SOLO = 18; BUTTON_LAYOUT_DANCEPAD_PIU_LEFT = 19; BUTTON_LAYOUT_POPN_A = 20; BUTTON_LAYOUT_TAIKO_A = 21; BUTTON_LAYOUT_BM_TURNTABLE_A = 22; BUTTON_LAYOUT_BM_5KEY_A = 23; BUTTON_LAYOUT_BM_7KEY_A = 24; BUTTON_LAYOUT_GITADORA_FRET_A = 25; BUTTON_LAYOUT_GITADORA_STRUM_A = 26; BUTTON_LAYOUT_BOARD_DEFINED_A = 27; } enum ButtonLayoutRight { option (nanopb_enumopt).long_names = false; BUTTON_LAYOUT_ARCADE = 0; BUTTON_LAYOUT_STICKLESSB = 1; BUTTON_LAYOUT_BUTTONS_ANGLEDB = 2; BUTTON_LAYOUT_VEWLIX = 3; BUTTON_LAYOUT_VEWLIX7 = 4; BUTTON_LAYOUT_CAPCOM = 5; BUTTON_LAYOUT_CAPCOM6 = 6; BUTTON_LAYOUT_SEGA2P = 7; BUTTON_LAYOUT_NOIR8 = 8; BUTTON_LAYOUT_KEYBOARDB = 9; BUTTON_LAYOUT_DANCEPADB = 10; BUTTON_LAYOUT_TWINSTICKB = 11; BUTTON_LAYOUT_BLANKB = 12; BUTTON_LAYOUT_VLXB = 13; BUTTON_LAYOUT_FIGHTBOARD = 14; BUTTON_LAYOUT_FIGHTBOARD_STICK_MIRRORED = 15; BUTTON_LAYOUT_CUSTOMB = 16; BUTTON_LAYOUT_KEYBOARD8B = 17; BUTTON_LAYOUT_OPENCORE0WASDB = 18; BUTTON_LAYOUT_STICKLESS_13B = 19; BUTTON_LAYOUT_STICKLESS_16B = 20; BUTTON_LAYOUT_STICKLESS_14B = 21; BUTTON_LAYOUT_DANCEPAD_DDR_RIGHT = 22; BUTTON_LAYOUT_DANCEPAD_PIU_RIGHT = 23; BUTTON_LAYOUT_POPN_B = 24; BUTTON_LAYOUT_TAIKO_B = 25; BUTTON_LAYOUT_BM_TURNTABLE_B = 26; BUTTON_LAYOUT_BM_5KEY_B = 27; BUTTON_LAYOUT_BM_7KEY_B = 28; BUTTON_LAYOUT_GITADORA_FRET_B = 29; BUTTON_LAYOUT_GITADORA_STRUM_B = 30; BUTTON_LAYOUT_BOARD_DEFINED_B = 31; } enum SplashMode { option (nanopb_enumopt).long_names = false; SPLASH_MODE_STATIC = 0; SPLASH_MODE_CLOSEIN = 1; SPLASH_MODE_CLOSEINCUSTOM = 2; SPLASH_MODE_NONE = 3; } enum SplashChoice { option (nanopb_enumopt).long_names = false; SPLASH_CHOICE_MAIN = 0; SPLASH_CHOICE_X = 1; SPLASH_CHOICE_Y = 2; SPLASH_CHOICE_Z = 3; SPLASH_CHOICE_CUSTOM = 4; SPLASH_CHOICE_LEGACY = 5; } enum OnBoardLedMode { option (nanopb_enumopt).long_names = false; ON_BOARD_LED_MODE_OFF = 0; ON_BOARD_LED_MODE_MODE_INDICATOR = 1; ON_BOARD_LED_MODE_INPUT_TEST = 2; ON_BOARD_LED_MODE_PS_AUTH = 3; } enum InputMode { option (nanopb_enumopt).long_names = false; INPUT_MODE_XINPUT = 0; INPUT_MODE_SWITCH = 1; INPUT_MODE_HID = 2; INPUT_MODE_KEYBOARD = 3; INPUT_MODE_PS4 = 4; INPUT_MODE_XBONE = 5; INPUT_MODE_MDMINI = 6; INPUT_MODE_NEOGEO = 7; INPUT_MODE_PCEMINI = 8; INPUT_MODE_EGRET = 9; INPUT_MODE_ASTRO = 10; INPUT_MODE_PSCLASSIC = 11; INPUT_MODE_XBOXORIGINAL = 12; INPUT_MODE_PS5 = 13; INPUT_MODE_CONFIG = 255; } enum InputModeAuthType { option (nanopb_enumopt).long_names = false; INPUT_MODE_AUTH_TYPE_NONE = 0; INPUT_MODE_AUTH_TYPE_KEYS = 1; INPUT_MODE_AUTH_TYPE_USB = 2; INPUT_MODE_AUTH_TYPE_I2C = 3; } enum DpadMode { option (nanopb_enumopt).long_names = false; DPAD_MODE_DIGITAL = 0; DPAD_MODE_LEFT_ANALOG = 1; DPAD_MODE_RIGHT_ANALOG = 2; } enum InvertMode { option (nanopb_enumopt).long_names = false; INVERT_NONE = 0; INVERT_X = 1; INVERT_Y = 2; INVERT_XY = 3; } enum SOCDMode { option (nanopb_enumopt).long_names = false; SOCD_MODE_UP_PRIORITY = 0; // U+D=U, L+R=N SOCD_MODE_NEUTRAL = 1; // U+D=N, L+R=N SOCD_MODE_SECOND_INPUT_PRIORITY = 2; // U>D=D, L>R=R (Last Input Priority, aka Last Win) SOCD_MODE_FIRST_INPUT_PRIORITY = 3; // U>D=U, L>R=L (First Input Priority, aka First Win) SOCD_MODE_BYPASS = 4; // U+D=UD, L+R=LR (No cleaning applied) } enum GpioAction { option (nanopb_enumopt).long_names = false; // the lowest value is the default, which should be NONE; // reserving some numbers in case we need more not-mapped type values NONE = -10; RESERVED = -5; ASSIGNED_TO_ADDON = 0; BUTTON_PRESS_UP = 1; BUTTON_PRESS_DOWN = 2; BUTTON_PRESS_LEFT = 3; BUTTON_PRESS_RIGHT = 4; BUTTON_PRESS_B1 = 5; BUTTON_PRESS_B2 = 6; BUTTON_PRESS_B3 = 7; BUTTON_PRESS_B4 = 8; BUTTON_PRESS_L1 = 9; BUTTON_PRESS_R1 = 10; BUTTON_PRESS_L2 = 11; BUTTON_PRESS_R2 = 12; BUTTON_PRESS_S1 = 13; BUTTON_PRESS_S2 = 14; BUTTON_PRESS_A1 = 15; BUTTON_PRESS_A2 = 16; BUTTON_PRESS_L3 = 17; BUTTON_PRESS_R3 = 18; BUTTON_PRESS_FN = 19; BUTTON_PRESS_DDI_UP = 20; BUTTON_PRESS_DDI_DOWN = 21; BUTTON_PRESS_DDI_LEFT = 22; BUTTON_PRESS_DDI_RIGHT = 23; SUSTAIN_DP_MODE_DP = 24; SUSTAIN_DP_MODE_LS = 25; SUSTAIN_DP_MODE_RS = 26; SUSTAIN_SOCD_MODE_UP_PRIO = 27; SUSTAIN_SOCD_MODE_NEUTRAL = 28; SUSTAIN_SOCD_MODE_SECOND_WIN = 29; SUSTAIN_SOCD_MODE_FIRST_WIN = 30; SUSTAIN_SOCD_MODE_BYPASS = 31; BUTTON_PRESS_TURBO = 32; BUTTON_PRESS_MACRO = 33; BUTTON_PRESS_MACRO_1 = 34; BUTTON_PRESS_MACRO_2 = 35; BUTTON_PRESS_MACRO_3 = 36; BUTTON_PRESS_MACRO_4 = 37; BUTTON_PRESS_MACRO_5 = 38; BUTTON_PRESS_MACRO_6 = 39; } enum GamepadHotkey { option (nanopb_enumopt).long_names = false; HOTKEY_NONE = 0; HOTKEY_DPAD_DIGITAL = 1; HOTKEY_DPAD_LEFT_ANALOG = 2; HOTKEY_DPAD_RIGHT_ANALOG = 3; HOTKEY_HOME_BUTTON = 4; HOTKEY_CAPTURE_BUTTON = 5; HOTKEY_SOCD_UP_PRIORITY = 6; HOTKEY_SOCD_NEUTRAL = 7; HOTKEY_SOCD_LAST_INPUT = 8; HOTKEY_INVERT_X_AXIS = 9; HOTKEY_INVERT_Y_AXIS = 10; HOTKEY_SOCD_FIRST_INPUT = 11; HOTKEY_SOCD_BYPASS = 12; HOTKEY_TOGGLE_4_WAY_MODE = 13; HOTKEY_TOGGLE_DDI_4_WAY_MODE = 14; HOTKEY_LOAD_PROFILE_1 = 15; HOTKEY_LOAD_PROFILE_2 = 16; HOTKEY_LOAD_PROFILE_3 = 17; HOTKEY_LOAD_PROFILE_4 = 18; HOTKEY_L3_BUTTON = 19; HOTKEY_R3_BUTTON = 20; HOTKEY_TOUCHPAD_BUTTON = 21; HOTKEY_REBOOT_DEFAULT = 22; HOTKEY_B1_BUTTON = 23; HOTKEY_B2_BUTTON = 24; HOTKEY_B3_BUTTON = 25; HOTKEY_B4_BUTTON = 26; HOTKEY_L1_BUTTON = 27; HOTKEY_R1_BUTTON = 28; HOTKEY_L2_BUTTON = 29; HOTKEY_R2_BUTTON = 30; HOTKEY_S1_BUTTON = 31; HOTKEY_S2_BUTTON = 32; HOTKEY_A1_BUTTON = 33; HOTKEY_A2_BUTTON = 34; } // This has to be kept in sync with LEDFormat in NeoPico.hpp enum LEDFormat_Proto { LED_FORMAT_GRB = 0; LED_FORMAT_RGB = 1; LED_FORMAT_GRBW = 2; LED_FORMAT_RGBW = 3; } enum ShmupMixMode { option (nanopb_enumopt).long_names = false; SHMUP_MIX_MODE_TURBO_PRIORITY = 0; SHMUP_MIX_MODE_CHARGE_PRIORITY = 1; } enum PLEDType { option (nanopb_enumopt).long_names = false; PLED_TYPE_NONE = -1; PLED_TYPE_PWM = 0; PLED_TYPE_RGB = 1; }; enum ForcedSetupMode { option (nanopb_enumopt).long_names = false; FORCED_SETUP_MODE_OFF = 0; FORCED_SETUP_MODE_LOCK_MODE_SWITCH = 1; FORCED_SETUP_MODE_LOCK_WEB_CONFIG = 2; FORCED_SETUP_MODE_LOCK_BOTH = 3; }; enum DualDirectionalCombinationMode { option (nanopb_enumopt).long_names = false; MIXED_MODE = 0; GAMEPAD_MODE = 1; DUAL_MODE = 2; NONE_MODE = 3; } enum PS4ControllerType { option (nanopb_enumopt).long_names = false; PS4_CONTROLLER = 0; PS4_ARCADESTICK = 7; } enum MacroType { option (nanopb_enumopt).long_names = false; ON_PRESS = 1; ON_HOLD_REPEAT = 2; ON_TOGGLE = 3; }; enum GPElement { option (nanopb_enumopt).long_names = false; GP_ELEMENT_WIDGET = 0; GP_ELEMENT_SCREEN = 1; GP_ELEMENT_BTN_BUTTON = 2; GP_ELEMENT_DIR_BUTTON = 3; GP_ELEMENT_PIN_BUTTON = 4; GP_ELEMENT_LEVER = 5; GP_ELEMENT_LABEL = 6; GP_ELEMENT_SPRITE = 7; GP_ELEMENT_SHAPE = 8; }; enum GPShape_Type { option (nanopb_enumopt).long_names = false; GP_SHAPE_ELLIPSE = 0; GP_SHAPE_SQUARE = 1; GP_SHAPE_DIAMOND = 2; GP_SHAPE_POLYGON = 3; GP_SHAPE_ARC = 4; }; enum RotaryEncoderPinMode { option (nanopb_enumopt).long_names = false; ENCODER_MODE_NONE = 0; ENCODER_MODE_LEFT_ANALOG_X = 1; ENCODER_MODE_LEFT_ANALOG_Y = 2; ENCODER_MODE_RIGHT_ANALOG_X = 3; ENCODER_MODE_RIGHT_ANALOG_Y = 4; ENCODER_MODE_LEFT_TRIGGER = 5; ENCODER_MODE_RIGHT_TRIGGER = 6; ENCODER_MODE_DPAD_X = 7; ENCODER_MODE_DPAD_Y = 8; };