diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 88217f019..db842caf0 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,36 +1,35 @@ --- -name: Feature request -about: Suggest an idea for this project +name: Feature Request +about: Suggest an idea for this project. title: '' -labels: '' +labels: ['enhancement'] assignees: '' --- -### Have you checked the GP2040-CE documentation [HERE](https://gp2040-ce.info/) to confirm this feature doesn't already exist? +> Please read these quoted sections before submitting, and remove them (including this one) when you have provided what +> is asked, in order to make addressing the issue easier for everyone. Thank you! +> +> Be sure to: +> * Check the documentation [HERE](https://gp2040-ce.info/) to answer many questions on firmware capabilities and usage. +> * Make sure that your idea has not already been filed [HERE](https://github.com/OpenStickCommunity/GP2040-CE/issues). +> * Confirm the feature does not exist in the latest version of the firmware, found + [HERE](https://github.com/OpenStickCommunity/GP2040-CE/releases). -Yes/No +### Problem -### Which problem is this feature request solving? +> Which problem is this feature request solving? +> +> Provide a clear and concise description of what the problem is. For example, "I'm always frustrated when..." -Provide a clear and concise description of what the problem is. For example, "I'm always frustrated when..." +### Solution +> Describe the solution you would like to see +> +> Provide a clear and concise description of what you want to happen. Let us know about other solutions you've tried or +> researched. -### Describe the solution you would like to see +### Do you plan to work on this feature yourself? -Provide a clear and concise description of what you want to happen. - - -### Describe alternatives you've considered - -Let us know about other solutions you've tried or researched. - - -### Can you submit a pull request? - -Yes/No. - - -### Are you planning on working on this feature yourself? - -Yes/No. +> Beyond a simple yes or no, we are also willing to help with partial solutions or to refine a proof of concept, if you +> are able to contribute. diff --git a/.github/ISSUE_TEMPLATE/general-questions.md b/.github/ISSUE_TEMPLATE/general-questions.md deleted file mode 100644 index 58bb53dbe..000000000 --- a/.github/ISSUE_TEMPLATE/general-questions.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: General Questions -about: Please do not use this section -title: '' -labels: '' -assignees: '' - ---- - -Please do not use GitHub for asking general questions. Please use the [OpenStick Discord #support channel](https://discord.gg/K6sNzuJR). The maintainers and other community members can provide help and answer your questions there. - -If you've discovered a bug or would like to propose a change please use one of the other issue templates. - -Thanks! diff --git a/.github/ISSUE_TEMPLATE/hardware-bug-report.md b/.github/ISSUE_TEMPLATE/hardware-bug-report.md new file mode 100644 index 000000000..133c421b2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/hardware-bug-report.md @@ -0,0 +1,47 @@ +--- +name: Hardware Bug Report +about: Report an issue with supported hardware running GP2040-CE. +title: '' +labels: ['bug'] +assignees: '' + +--- + +> Please read these quoted sections before submitting, and remove them (including this one) when you have provided what +> is asked, in order to make addressing the issue easier for everyone. Thank you! +> +> Be sure to: +> * Check the documentation [HERE](https://gp2040-ce.info/) to answer many questions on hardware requirements and usage. +> * Make sure that your issue has not already been filed [HERE](https://github.com/OpenStickCommunity/GP2040-CE/issues). + +### Expected Behavior + +> Please describe the behaviour you are expecting. + +### Current Behavior + +> What is the current behaviour? If this is something that worked in the past, be sure to include the conditions in +> which it did. + +### Context + +> Please provide all relevant information about your setup. This is important in case the issue is not reproducible +> except under certain conditions. Important elements include: +> +> * Name of device +> * Link to where you purchased the device +> * Firmware version +> * Available schematics, designs, etc., especially for custom hardware +> * Similar hardware (e.g. if it has the same GPIO-to-button assignments as a Pico) + +### Steps to Reproduce + +> Please provide detailed steps for reproducing the issue. +> +> 1. Step 1 +> 2. Step 2 +> 3. ETC... + +### Screenshots & Files + +> Please include any relevant screenshots or files here, including photos of the front and back of the board. diff --git a/.github/ISSUE_TEMPLATE/issue---bug-report.md b/.github/ISSUE_TEMPLATE/issue---bug-report.md index 84732ce87..e9763d85c 100644 --- a/.github/ISSUE_TEMPLATE/issue---bug-report.md +++ b/.github/ISSUE_TEMPLATE/issue---bug-report.md @@ -1,52 +1,52 @@ --- -name: Issue / Bug report -about: Create a report to help us improve +name: Firmware Bug Report +about: Report an issue with the GP2040-CE firmware. title: '' -labels: '' +labels: ['bug'] assignees: '' --- -### Prerequisites - -Please check the following before posting an issue / bug report. - -- [ ] I am running the latest version of the firmware found [HERE](https://github.com/OpenStickCommunity/GP2040-CE/releases) -- [ ] I have checked the documentation [HERE](https://gp2040-ce.info/) and found no answer -- [ ] I checked to make sure that this issue has not already been filed [HERE](https://github.com/OpenStickCommunity/GP2040-CE/issues) -- [ ] I am reporting the issue to the correct repository - -### Context - -Please provide all relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. - -* Firmware Version: -* Name of device: -* Link to where you purchased the device: -* Is this a custom build?: -* Operating System: -* Browser: - +> Please read these quoted sections before submitting, and remove them (including this one) when you have provided what +> is asked, in order to make addressing the issue easier for everyone. Thank you! +> +> Be sure to: +> * Check the documentation [HERE](https://gp2040-ce.info/) to answer many questions on firmware capabilities and usage. +> * Make sure that your issue has not already been filed [HERE](https://github.com/OpenStickCommunity/GP2040-CE/issues). +> * Confirm your issue exists on the latest version of the firmware, found + [HERE](https://github.com/OpenStickCommunity/GP2040-CE/releases). ### Expected Behavior -Please describe the behaviour you are expecting. - +> Please describe the behaviour you are expecting. ### Current Behavior -What is the current behaviour? - +> What is the current behaviour? If this is something that worked in the past, be sure to include the conditions in +> which it did (prior version of the firmware, a different GP2040-CE device where it works, etc.). -### Steps to Reproduce +### Context -Please provide detailed steps for reproducing the issue. +> Please provide all relevant information about your setup. This is important in case the issue is not reproducible +> except under certain conditions. Important elements include: +> +> * Firmware version +> * Name of device +> * Link to where you purchased the device +> +> If your issue is with the web configurator, also include: +> +> * Operating System +> * Browser -1. Step 1 -2. Step 2 -3. ETC... +### Steps to Reproduce +> Please provide detailed steps for reproducing the issue. +> +> 1. Step 1 +> 2. Step 2 +> 3. ETC... ### Screenshots & Files -Please include any relevant screenshots or files here. If you are having issues with a board please include images of the front and back of the board. +> Please include any relevant screenshots, photos/recordings, or files here. diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 9a68813be..0f1626fa3 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - GP2040_BOARDCONFIG: [Pico, PicoW, BentoBox, FightboardV3, FightboardV3Mirrored, FlatboxRev4, FlatboxRev5, FlatboxRev5RGB, FlatboxRev5Southpaw, KB2040, KeyboardConverter, Haute42, Liatris, Mavercade, OpenCore0, OpenCore0WASD, PicoFightingBoard, RanaTadpole, ReflexCtrlSNES, ReflexEncodeV1.2, ReflexEncodeV2.0, RP2040AdvancedBreakoutBoard, RP2040AdvancedBreakoutBoardUSBPassthrough, RP2040MiniBreakoutBoard, SparkFunProMicro, WaveshareZero, Stress, SGFBridget, SGFFaust] + GP2040_BOARDCONFIG: [Pico, PicoW, BentoBox, FightboardV3, FightboardV3Mirrored, FlatboxRev4, FlatboxRev5, FlatboxRev5RGB, FlatboxRev5Southpaw, KB2040, KeyboardConverter, Haute42, Liatris, Mavercade, OpenCore0, OpenCore0WASD, PicoAnn, PicoFightingBoard, RanaTadpole, ReflexCtrlSNES, ReflexEncodeV1.2, ReflexEncodeV2.0, RP2040AdvancedBreakoutBoard, RP2040AdvancedBreakoutBoardUSBPassthrough, RP2040MiniBreakoutBoard, SparkFunProMicro, WaveshareZero, Stress, SGFBridget, SGFFaust] steps: #Global Setup diff --git a/configs/Pico/BoardConfig.h b/configs/Pico/BoardConfig.h index 422c661b4..af4237461 100644 --- a/configs/Pico/BoardConfig.h +++ b/configs/Pico/BoardConfig.h @@ -53,4 +53,38 @@ #define KEY_BUTTON_A2 HID_KEY_F2 // A2 | ~ | Capture | ~ | 14 | ~ | #define KEY_BUTTON_FN -1 // Hotkey Function | +#define TURBO_ENABLED 1 +#define GPIO_PIN_14 GpioAction::BUTTON_PRESS_TURBO +#define TURBO_LED_PIN 15 + +#define BOARD_LEDS_PIN 28 +#define LED_BRIGHTNESS_MAXIMUM 100 +#define LED_BRIGHTNESS_STEPS 5 +#define LED_FORMAT LED_FORMAT_GRB +#define LEDS_PER_PIXEL 1 + +#define LEDS_DPAD_LEFT 0 +#define LEDS_DPAD_DOWN 1 +#define LEDS_DPAD_RIGHT 2 +#define LEDS_DPAD_UP 3 +#define LEDS_BUTTON_B3 4 +#define LEDS_BUTTON_B4 5 +#define LEDS_BUTTON_R1 6 +#define LEDS_BUTTON_L1 7 +#define LEDS_BUTTON_B1 8 +#define LEDS_BUTTON_B2 9 +#define LEDS_BUTTON_R2 10 +#define LEDS_BUTTON_L2 11 +#define LEDS_BUTTON_A1 12 +#define LEDS_BUTTON_L3 13 +#define LEDS_BUTTON_R3 14 +#define LEDS_BUTTON_A2 15 + +#define HAS_I2C_DISPLAY 1 +#define I2C0_ENABLED 1 +#define I2C0_PIN_SDA 0 +#define I2C0_PIN_SCL 1 +#define BUTTON_LAYOUT BUTTON_LAYOUT_STICKLESS +#define BUTTON_LAYOUT_RIGHT BUTTON_LAYOUT_STICKLESSB + #endif \ No newline at end of file diff --git a/configs/PicoAnn/BoardConfig.h b/configs/PicoAnn/BoardConfig.h new file mode 100644 index 000000000..ad44ebeb0 --- /dev/null +++ b/configs/PicoAnn/BoardConfig.h @@ -0,0 +1,96 @@ +/* + * SPDX-License-Identifier: MIT + * SPDX-FileCopyrightText: Copyright (c) 2021 Jason Skuby (mytechtoybox.com) + */ + +#ifndef PICOANN_CONFIG_H_ +#define PICOANN_CONFIG_H_ + +#include "enums.pb.h" + +#define BOARD_CONFIG_LABEL "Pico Ann" + +// Main pin mapping Configuration +// // GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | +#define GPIO_PIN_01 GpioAction::BUTTON_PRESS_UP // UP | UP | UP | UP | UP | UP | +#define GPIO_PIN_02 GpioAction::BUTTON_PRESS_DOWN // DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | +#define GPIO_PIN_03 GpioAction::BUTTON_PRESS_RIGHT // RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | +#define GPIO_PIN_00 GpioAction::BUTTON_PRESS_LEFT // LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | +#define GPIO_PIN_11 GpioAction::BUTTON_PRESS_B1 // B1 | A | B | Cross | 2 | K1 | +#define GPIO_PIN_12 GpioAction::BUTTON_PRESS_B2 // B2 | B | A | Circle | 3 | K2 | +#define GPIO_PIN_13 GpioAction::BUTTON_PRESS_R2 // R2 | RT | ZR | R2 | 8 | K3 | +#define GPIO_PIN_14 GpioAction::BUTTON_PRESS_L2 // L2 | LT | ZL | L2 | 7 | K4 | +#define GPIO_PIN_07 GpioAction::BUTTON_PRESS_B3 // B3 | X | Y | Square | 1 | P1 | +#define GPIO_PIN_08 GpioAction::BUTTON_PRESS_B4 // B4 | Y | X | Triangle | 4 | P2 | +#define GPIO_PIN_09 GpioAction::BUTTON_PRESS_R1 // R1 | RB | R | R1 | 6 | P3 | +#define GPIO_PIN_10 GpioAction::BUTTON_PRESS_L1 // L1 | LB | L | L1 | 5 | P4 | +#define GPIO_PIN_06 GpioAction::BUTTON_PRESS_S1 // S1 | Back | Minus | Select | 9 | Coin | +#define GPIO_PIN_05 GpioAction::BUTTON_PRESS_S2 // S2 | Start | Plus | Start | 10 | Start | +#define GPIO_PIN_21 GpioAction::BUTTON_PRESS_L3 // L3 | LS | LS | L3 | 11 | LS | +#define GPIO_PIN_22 GpioAction::BUTTON_PRESS_R3 // R3 | RS | RS | R3 | 12 | RS | +#define GPIO_PIN_04 GpioAction::BUTTON_PRESS_A1 // A1 | Guide | Home | PS | 13 | ~ | +#define GPIO_PIN_20 GpioAction::BUTTON_PRESS_A2 // A2 | ~ | Capture | ~ | 14 | ~ | + +// Keyboard Mapping Configuration +// // GP2040 | Xinput | Switch | PS3/4/5 | Dinput | Arcade | +#define KEY_DPAD_UP HID_KEY_ARROW_UP // UP | UP | UP | UP | UP | UP | +#define KEY_DPAD_DOWN HID_KEY_ARROW_DOWN // DOWN | DOWN | DOWN | DOWN | DOWN | DOWN | +#define KEY_DPAD_RIGHT HID_KEY_ARROW_RIGHT // RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | RIGHT | +#define KEY_DPAD_LEFT HID_KEY_ARROW_LEFT // LEFT | LEFT | LEFT | LEFT | LEFT | LEFT | +#define KEY_BUTTON_B1 HID_KEY_SHIFT_LEFT // B1 | A | B | Cross | 2 | K1 | +#define KEY_BUTTON_B2 HID_KEY_Z // B2 | B | A | Circle | 3 | K2 | +#define KEY_BUTTON_R2 HID_KEY_X // R2 | RT | ZR | R2 | 8 | K3 | +#define KEY_BUTTON_L2 HID_KEY_V // L2 | LT | ZL | L2 | 7 | K4 | +#define KEY_BUTTON_B3 HID_KEY_CONTROL_LEFT // B3 | X | Y | Square | 1 | P1 | +#define KEY_BUTTON_B4 HID_KEY_ALT_LEFT // B4 | Y | X | Triangle | 4 | P2 | +#define KEY_BUTTON_R1 HID_KEY_SPACE // R1 | RB | R | R1 | 6 | P3 | +#define KEY_BUTTON_L1 HID_KEY_C // L1 | LB | L | L1 | 5 | P4 | +#define KEY_BUTTON_S1 HID_KEY_5 // S1 | Back | Minus | Select | 9 | Coin | +#define KEY_BUTTON_S2 HID_KEY_1 // S2 | Start | Plus | Start | 10 | Start | +#define KEY_BUTTON_L3 HID_KEY_EQUAL // L3 | LS | LS | L3 | 11 | LS | +#define KEY_BUTTON_R3 HID_KEY_MINUS // R3 | RS | RS | R3 | 12 | RS | +#define KEY_BUTTON_A1 HID_KEY_9 // A1 | Guide | Home | PS | 13 | ~ | +#define KEY_BUTTON_A2 HID_KEY_F2 // A2 | ~ | Capture | ~ | 14 | ~ | +#define KEY_BUTTON_FN -1 // Hotkey Function | + +#define TURBO_ENABLED 1 +#define GPIO_PIN_28 GpioAction::BUTTON_PRESS_TURBO + +#define BOARD_LEDS_PIN 15 + +#define LED_BRIGHTNESS_MAXIMUM 50 +#define LED_BRIGHTNESS_STEPS 5 +#define LED_FORMAT LED_FORMAT_GRB +#define LEDS_PER_PIXEL 1 + +#define LEDS_DPAD_LEFT 0 +#define LEDS_DPAD_DOWN 1 +#define LEDS_DPAD_RIGHT 2 +#define LEDS_DPAD_UP 3 +#define LEDS_BUTTON_B3 4 +#define LEDS_BUTTON_B4 5 +#define LEDS_BUTTON_R1 6 +#define LEDS_BUTTON_L1 7 +#define LEDS_BUTTON_B1 8 +#define LEDS_BUTTON_B2 9 +#define LEDS_BUTTON_R2 10 +#define LEDS_BUTTON_L2 11 + +#define PLED_TYPE PLED_TYPE_PWM +#define PLED1_PIN 16 +#define PLED2_PIN 17 +#define PLED3_PIN 18 +#define PLED4_PIN 19 + +#define HAS_I2C_DISPLAY 0 +#define I2C_SDA_PIN 26 +#define I2C_SCL_PIN 27 +#define I2C_BLOCK i2c1 + +#define BUTTON_LAYOUT BUTTON_LAYOUT_STICK +#define BUTTON_LAYOUT_RIGHT BUTTON_LAYOUT_VEWLIX +#define SPLASH_MODE SPLASH_MODE_NONE +#define SPLASH_CHOICE SPLASH_CHOICE_MAIN +#define SPLASH_DURATION 7500 // Duration in milliseconds + +#endif \ No newline at end of file diff --git a/configs/PicoAnn/README.md b/configs/PicoAnn/README.md new file mode 100644 index 000000000..840b4f171 --- /dev/null +++ b/configs/PicoAnn/README.md @@ -0,0 +1,5 @@ +# GP2040-CE Configuration for PicoAnn firmware boards + +![Pin Mapping](assets/PinMapping_PicoAnn.png) + +Basic pin setup for boards that were running PicoAnn firmware like the Pico Advanced Breakout Board v3.0. diff --git a/configs/PicoAnn/assets/PinMapping_PicoAnn.png b/configs/PicoAnn/assets/PinMapping_PicoAnn.png new file mode 100644 index 000000000..6ba9ceff5 Binary files /dev/null and b/configs/PicoAnn/assets/PinMapping_PicoAnn.png differ diff --git a/headers/buttonlayouts.h b/headers/buttonlayouts.h index cf0452980..a891543b7 100644 --- a/headers/buttonlayouts.h +++ b/headers/buttonlayouts.h @@ -392,70 +392,6 @@ {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ } -#define BUTTON_LAYOUT_SUNGA12KEYA {\ - {GP_ELEMENT_DIR_BUTTON, { 8, 23, 7, 7, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {24, 23, 7, 7, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {38, 30, 7, 7, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {46, 55, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}}\ -} - -#define BUTTON_LAYOUT_SUNGA13KEYA {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA14KEYLRA {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA14KEYUDA {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA17KEYA {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA17KEYAALT {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA18KEYA {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA18KEYAALT {\ - {GP_ELEMENT_DIR_BUTTON, { 18, 26, 52, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 18, 32, 52, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ -} - -#define BUTTON_LAYOUT_SUNGA18KEYADUALUP {\ - {GP_ELEMENT_DIR_BUTTON, { 8, 31, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {22, 31, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {34, 38, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {27, 17, 6, 6, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {40, 53, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {47, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {50, 26, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {50, 40, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}}\ -} - -#define BUTTON_LAYOUT_SUNGA18KEYAPREF {\ - {GP_ELEMENT_DIR_BUTTON, { 8, 31, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {22, 31, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {34, 38, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_DIR_BUTTON, {27, 17, 6, 6, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {40, 53, 8, 8, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {47, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {50, 26, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ - {GP_ELEMENT_BTN_BUTTON, {50, 40, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}}\ -} - #define BUTTON_GROUP_DANCEPAD_DDR_RIGHT {\ {GP_ELEMENT_BTN_BUTTON, { 69, 29, 84, 44, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_SQUARE}},\ {GP_ELEMENT_BTN_BUTTON, { 86, 46, 101, 61, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_SQUARE}},\ @@ -525,6 +461,13 @@ {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ } +#define BUTTON_LAYOUT_SUNGA12KEYA {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 23, 7, 7, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {24, 23, 7, 7, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {38, 30, 7, 7, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {46, 55, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}}\ +} + #define BUTTON_LAYOUT_SUNGA12KEYB {\ {GP_ELEMENT_BTN_BUTTON, { 58, 24, 7, 7, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ {GP_ELEMENT_BTN_BUTTON, { 74, 17, 7, 7, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ @@ -542,34 +485,183 @@ {GP_ELEMENT_BTN_BUTTON, {120, 54, 3, 3, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}}\ } +#define BUTTON_LAYOUT_SUNGA13KEYA {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 31, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 31, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 37, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {41, 55, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {26, 16, 6, 6, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {43, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}}\ +} + #define BUTTON_LAYOUT_SUNGA13KEYB {\ - {GP_ELEMENT_DIR_BUTTON, { 75, 26, 109, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ + {GP_ELEMENT_BTN_BUTTON, { 58, 24, 7, 7, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 74, 17, 7, 7, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 90, 17, 7, 7, 1, 1, GAMEPAD_MASK_R1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 17, 7, 7, 1, 1, GAMEPAD_MASK_L1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 58, 40, 7, 7, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 74, 33, 7, 7, 1, 1, GAMEPAD_MASK_B2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 90, 33, 7, 7, 1, 1, GAMEPAD_MASK_R2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 33, 7, 7, 1, 1, GAMEPAD_MASK_L2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 14, 3, 3, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 22, 3, 3, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 30, 3, 3, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 38, 3, 3, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 46, 3, 3, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA14KEYLRA {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 26, 7, 7, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, { 24, 26, 7, 7, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, { 38, 33, 7, 7, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, { 46, 56, 7, 7, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 16, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 26, 13, 3, 3, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 36, 13, 3, 3, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 26, 54, 7, 7, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}}\ } #define BUTTON_LAYOUT_SUNGA14KEYLRB {\ - {GP_ELEMENT_DIR_BUTTON, { 75, 26, 109, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ + {GP_ELEMENT_BTN_BUTTON, { 58, 24, 7, 7, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 74, 17, 7, 7, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 90, 17, 7, 7, 1, 1, GAMEPAD_MASK_R1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 17, 7, 7, 1, 1, GAMEPAD_MASK_L1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 58, 40, 7, 7, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 74, 33, 7, 7, 1, 1, GAMEPAD_MASK_B2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 90, 33, 7, 7, 1, 1, GAMEPAD_MASK_R2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 33, 7, 7, 1, 1, GAMEPAD_MASK_L2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 52, 13, 3, 3, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 66, 54, 7, 7, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA14KEYUDA {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 31, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 31, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 37, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {41, 55, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {26, 16, 6, 6, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {43, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}}\ } #define BUTTON_LAYOUT_SUNGA14KEYUDB {\ - {GP_ELEMENT_DIR_BUTTON, { 75, 26, 109, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ + {GP_ELEMENT_BTN_BUTTON, { 58, 24, 7, 7, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 74, 17, 7, 7, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 90, 17, 7, 7, 1, 1, GAMEPAD_MASK_R1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 17, 7, 7, 1, 1, GAMEPAD_MASK_L1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 58, 40, 7, 7, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 74, 33, 7, 7, 1, 1, GAMEPAD_MASK_B2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 90, 33, 7, 7, 1, 1, GAMEPAD_MASK_R2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 33, 7, 7, 1, 1, GAMEPAD_MASK_L2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 72, 52, 6, 6, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 14, 3, 3, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 22, 3, 3, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 30, 3, 3, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 38, 3, 3, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 46, 3, 3, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA17KEYA {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 23, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 23, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 30, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {40, 53, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {37, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA17KEYAALT {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 37, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 37, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 44, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {27, 23, 6, 6, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {37, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}}\ } #define BUTTON_LAYOUT_SUNGA17KEYB {\ - {GP_ELEMENT_DIR_BUTTON, { 75, 26, 109, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ + {GP_ELEMENT_BTN_BUTTON, { 59, 34, 6, 6, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 73, 26, 6, 6, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 87, 26, 6, 6, 1, 1, GAMEPAD_MASK_R1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {101, 26, 6, 6, 1, 1, GAMEPAD_MASK_L1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 59, 48, 6, 6, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 73, 40, 6, 6, 1, 1, GAMEPAD_MASK_B2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 87, 40, 6, 6, 1, 1, GAMEPAD_MASK_R2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {101, 40, 6, 6, 1, 1, GAMEPAD_MASK_L2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 59, 20, 6, 6, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 73, 54, 6, 6, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 94, 14, 6, 6, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {108, 14, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {114, 33, 3, 3, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}}\ } #define BUTTON_LAYOUT_SUNGA17KEYBPREF {\ - {GP_ELEMENT_DIR_BUTTON, { 75, 26, 109, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ + {GP_ELEMENT_BTN_BUTTON, { 59, 34, 6, 6, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 73, 26, 6, 6, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 87, 26, 6, 6, 1, 1, GAMEPAD_MASK_R1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {101, 26, 6, 6, 1, 1, GAMEPAD_MASK_L1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 59, 48, 6, 6, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 73, 40, 6, 6, 1, 1, GAMEPAD_MASK_B2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 87, 40, 6, 6, 1, 1, GAMEPAD_MASK_R2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {101, 40, 6, 6, 1, 1, GAMEPAD_MASK_L2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 59, 20, 6, 6, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 73, 54, 6, 6, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 94, 14, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {108, 14, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {114, 33, 3, 3, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA18KEYA {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 20, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 20, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 27, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {40, 53, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {47, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 26, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 40, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA18KEYAALT {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 37, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 37, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 44, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {27, 23, 6, 6, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {47, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 26, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 40, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA18KEYADUALUP {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 31, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 31, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 38, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {27, 17, 6, 6, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {40, 53, 8, 8, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {47, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 26, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 40, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}}\ +} + +#define BUTTON_LAYOUT_SUNGA18KEYAPREF {\ + {GP_ELEMENT_DIR_BUTTON, { 8, 31, 6, 6, 1, 1, GAMEPAD_MASK_LEFT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {22, 31, 6, 6, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {34, 38, 6, 6, 1, 1, GAMEPAD_MASK_RIGHT, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_DIR_BUTTON, {27, 17, 6, 6, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {40, 53, 8, 8, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {47, 13, 3, 3, 1, 1, GAMEPAD_MASK_A1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 26, 6, 6, 1, 1, GAMEPAD_MASK_S1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {50, 40, 6, 6, 1, 1, GAMEPAD_MASK_S2, GP_SHAPE_ELLIPSE}}\ } #define BUTTON_LAYOUT_SUNGA18KEYB {\ - {GP_ELEMENT_DIR_BUTTON, { 75, 26, 109, 30, 1, 1, GAMEPAD_MASK_DOWN, GP_SHAPE_SQUARE, 0, 0, 0}},\ - {GP_ELEMENT_DIR_BUTTON, { 75, 32, 109, 36, 1, 1, GAMEPAD_MASK_UP, GP_SHAPE_SQUARE, 0, 0, 0}},\ + {GP_ELEMENT_BTN_BUTTON, { 64, 34, 6, 6, 1, 1, GAMEPAD_MASK_L3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 78, 28, 6, 6, 1, 1, GAMEPAD_MASK_B3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 92, 20, 6, 6, 1, 1, GAMEPAD_MASK_B4, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 20, 6, 6, 1, 1, GAMEPAD_MASK_R1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 22, 6, 6, 1, 1, GAMEPAD_MASK_L1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 64, 48, 6, 6, 1, 1, GAMEPAD_MASK_R3, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 78, 42, 6, 6, 1, 1, GAMEPAD_MASK_B1, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 92, 34, 6, 6, 1, 1, GAMEPAD_MASK_B2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {106, 34, 6, 6, 1, 1, GAMEPAD_MASK_R2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, {120, 36, 6, 6, 1, 1, GAMEPAD_MASK_L2, GP_SHAPE_ELLIPSE}},\ + {GP_ELEMENT_BTN_BUTTON, { 78, 14, 6, 6, 1, 1, GAMEPAD_MASK_A2, GP_SHAPE_ELLIPSE}}\ } #define BUTTON_LAYOUT_SUNGA18KEYBPREF {\