Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow one GPIO pin to trigger 2+ buttons #724

Merged
merged 10 commits into from
Jun 17, 2024

Commits on Jun 11, 2024

  1. have getProfilePinMappings return whole GpioMappingInfos

    before it returned just the actions, which was fine, but now we're
    adding more stuff to the infos, so return the whole struct rather than
    just the GpioAction within it
    bsstephan committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    f10505d View commit details
    Browse the repository at this point in the history
  2. define a custom button combo to a GPIO pin

    this expands GpioMappingInfo to include dpad and button masks and uses
    those masks when setting up the button maps in Gamepad. this allows for
    a GPIO pin to trigger any arbitrary set of buttons
    bsstephan committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    cbd0ace View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5880ecb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bd0e46e View commit details
    Browse the repository at this point in the history
  5. Squashed commit of Pelsin/one-pin-multiple-buttons-ui-revamp:

    commit 16c34b6
    Merge: 3b21858 8b915e0
    Author: ian <ian@vidales.se>
    Date:   Sat Jun 8 18:14:42 2024 +0200
    
        Merge branch 'main' into one-pin-multiple-buttons-ui-revamp
    
        # Conflicts:
        #	proto/config.proto
        #	www/package-lock.json
        #	www/package.json
        #	www/src/Addons/Wii.tsx
        #	www/src/Pages/InputMacroAddonPage.tsx
    
    commit 3b21858
    Author: ian <ian@vidales.se>
    Date:   Sat May 4 20:59:19 2024 +0200
    
        Simplify type juggling by making separate components for base pin and profiles mappings
    
    commit 77c30d6
    Author: ian <ian@vidales.se>
    Date:   Sat May 4 18:59:17 2024 +0200
    
        Remove old multi mapping path
    
    commit 2f0892f
    Author: ian <ian@vidales.se>
    Date:   Sat May 4 18:48:01 2024 +0200
    
        Fix merge issue
    
    commit 12ed309
    Merge: be460f9 22ed9a7
    Author: ian <ian@vidales.se>
    Date:   Sat May 4 18:37:50 2024 +0200
    
        Merge branch 'main' into one-pin-multiple-buttons-ui-revamp
    
        # Conflicts:
        #	www/package-lock.json
        #	www/src/Locales/en/Index.jsx
        #	www/src/Pages/InputMacroAddonPage.tsx
    
    commit be460f9
    Author: ian <ian@vidales.se>
    Date:   Sat May 4 18:19:54 2024 +0200
    
        Implement UX for multi selection for base profile and single selection for profiles
    
    commit 7dd59ce
    Author: ian <ian@vidales.se>
    Date:   Fri Apr 26 13:34:20 2024 +0200
    
        Evaluate if css grids is suitable for the pin mapping page, add nav pills for profiles
    
    commit 0e120b3
    Author: ian <ian@vidales.se>
    Date:   Mon Apr 22 22:38:24 2024 +0200
    
        WIP make pin mappping page handle masks
    
    commit 5712845
    Author: ian <ian@vidales.se>
    Date:   Mon Apr 22 22:25:40 2024 +0200
    
        Add lodash types
    
    commit 9d10afb
    Author: ian <ian@vidales.se>
    Date:   Thu Apr 18 10:09:36 2024 +0200
    
        Remove multmapping page and start merging it with pinMapping page
    
    commit 5f3fa47
    Merge: 2e040a4 d384d8e
    Author: ian <ian@vidales.se>
    Date:   Wed Apr 17 18:08:56 2024 +0200
    
        Merge branch 'main' into one-pin-multiple-buttons-ui-revamp
    
    commit 2e040a4
    Merge: c4a3c78 7fb30b9
    Author: ian <ian@vidales.se>
    Date:   Sun Apr 14 23:43:49 2024 +0200
    
        Merge branch 'main' into one-pin-multiple-buttons-ui-revamp
    
        # Conflicts:
        #	proto/enums.proto
        #	www/src/Data/Pins.ts
        #	www/src/Locales/en/PinMapping.jsx
        #	www/src/Pages/InputMacroAddonPage.jsx
        #	www/src/Pages/PinMapping.tsx
        #	www/src/Pages/SettingsPage.jsx
    
    commit c4a3c78
    Author: Brian S. Stephan <bss@incorporeal.org>
    Date:   Fri Mar 22 16:53:27 2024 -0500
    
        fix usage of button masks for hotkeys
    
        I probably introduced this in a bad rebase
    
    commit 580eb5e
    Author: Brian S. Stephan <bss@incorporeal.org>
    Date:   Sat Mar 9 15:20:06 2024 -0600
    
        add a disclaimer about multi mapping only working on Profile 1
    
    commit 7aef83e
    Author: Pelsin <ian@vidales.se>
    Date:   Sat Mar 9 21:16:55 2024 +0100
    
        multi mapping page (#7)
    
        * remove double initialization of gamepad GPIOs
    
        * have getProfilePinMappings return whole GpioMappingInfos
    
        before it returned just the actions, which was fine, but now we're
        adding more stuff to the infos, so return the whole struct rather than
        just the GpioAction within it
    
        * define a custom button combo to a GPIO pin
    
        this expands GpioMappingInfo to include dpad and button masks and uses
        those masks when setting up the button maps in Gamepad. this allows for
        a GPIO pin to trigger any arbitrary set of buttons
    
        * Add a WIP multi mapping page
    
        * have getProfilePinMappings return whole GpioMappingInfos
    
        before it returned just the actions, which was fine, but now we're
        adding more stuff to the infos, so return the whole struct rather than
        just the GpioAction within it
    
        * define a custom button combo to a GPIO pin
    
        this expands GpioMappingInfo to include dpad and button masks and uses
        those masks when setting up the button maps in Gamepad. this allows for
        a GPIO pin to trigger any arbitrary set of buttons
    
        * implement get/setPinMappingsV2 which includes the new masks
    
        * Start moving to new payload structure, new endpoint, translation keys
    
        * Set action if mask is set
    
        * Multi-mapping route added to webconfig, start adding customDpadMask
    
        * Revert endpoint test for v2
    
        * fix issue where setPinMappingsV2 was actually ignoring input
    
        * Rename BUTTON_MASK -> BUTTON_MASK_OPTIONS to prepare for multi mapping data
    
        * Removed some unused imports
    
        * Add support for dpad mask
    
        * Add text for assigned to multi mapping on pin mapping page
    
        * Add support for swapping button labels
    
        * Update pins after setting multi pin
    
        * Set correct default in multi mapping, disables selection on non selectable actions
    
    commit f842e25
    Author: Brian S. Stephan <bss@incorporeal.org>
    Date:   Wed Feb 28 18:28:27 2024 -0600
    
        fix issue where setPinMappingsV2 was actually ignoring input
    
    commit a2853d8
    Author: Brian S. Stephan <bss@incorporeal.org>
    Date:   Thu Feb 22 16:28:06 2024 -0600
    
        implement get/setPinMappingsV2 which includes the new masks
    
    commit 26bbcbe
    Author: Brian S. Stephan <bss@incorporeal.org>
    Date:   Wed Dec 27 00:44:22 2023 -0600
    
        define a custom button combo to a GPIO pin
    
        this expands GpioMappingInfo to include dpad and button masks and uses
        those masks when setting up the button maps in Gamepad. this allows for
        a GPIO pin to trigger any arbitrary set of buttons
    
    commit 55fb9e5
    Author: Brian S. Stephan <bss@incorporeal.org>
    Date:   Wed Dec 27 00:25:10 2023 -0600
    
        have getProfilePinMappings return whole GpioMappingInfos
    
        before it returned just the actions, which was fine, but now we're
        adding more stuff to the infos, so return the whole struct rather than
        just the GpioAction within it
    
    Co-authored-by: ian <ian@vidales.se>
    Co-authored-by: Pelsin <ian@vidales.se>
    bsstephan and Pelsin committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    288b876 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6a6fa34 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. move get/setPinMappingsV2 into the original method

    upon conversations with Pelsin, we don't need this distinction anymore
    (if we ever did), and the React side will be updated to accommodate. the
    same treatment will be done to get/setProfileOptions, which need to be
    updated to accept the masks in order to allow the multiselect to work on
    profiles 2-4
    bsstephan committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    93e0c1f View commit details
    Browse the repository at this point in the history
  2. add the button and dpad masks to get/setProfileOptions

    this will allow the webconfig to do multiselect buttons on all the
    profiles, not just profile 1
    bsstephan committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    ff3afad View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. Configuration menu
    Copy the full SHA
    8400734 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    721d563 View commit details
    Browse the repository at this point in the history