Skip to content
This repository was archived by the owner on Sep 29, 2021. It is now read-only.
This repository was archived by the owner on Sep 29, 2021. It is now read-only.

[Feature Request] Touchpad as Button zones? #12

@lmachucab

Description

@lmachucab

This software is pretty good, in the first place. I've been using it for a while.

I was wondering if there was the possibility to extend the configurability of this program to allow the user to set sections of the 3DS's Touchpad as virtual Buttons, thus extending the capacity in number of buttons, or even number of axes, that the physical console can provide.

This would be particularly useful in contexts where you want to use your 3DS as a controller for a system that does not have a concept of, or a use for, the touchpad input. Using it as a N64 controller for example would allow to set button zones for the C-directional buttons, or in the PS2/PS3 would allow to set up zones as the L2 / R2 buttons.

In general, this would benefit users of physical "original" 3DS more than "New" 3DS but I would presume the latter could still find some use to it. Users of consoles with more button entries than the 3DS, such as the N64 or the Play Station consoles, would also benefit.

Furthermore, depending on the number of virtual buttons that can be added this would allow ready access to an emulator's functions if the emulator is capable of associating gamepad commands to their own menu options (such as save/load game states, system pause, etc).

For an example of already existing implementation of the concept see the touchpad panels in the Monster Hunter series 3 and 4 for the 3DS, which provide both "action buttons" on the panel and a mirror of the physical D-pad, that can be used on the right side of the screen so players of the 3DS model can access the functions with their right hand. This Siliconera article showcases a touchpad panel with a D-pad control and an action button (the "kick" icon on the screen). Here's the star screenshot reproduced:

Monster Hunter example usage of touchpad panels

I'm unsure how would this be implemented, but I would presume that native touchscreen and "button zones" would be mutually exclusive. The latter could use a (series of) template describing which areas of the screen are converted to what J0x input (IINM, from J0A onward?).

I've taken the liberty of elaborating crappy ASCII mockups for example:

+-----------+----+-----------+
|           |    |           |
|   (J10)   |    |  (J11)    |
+-----------+----+-----------+
|                            |
|                            |
|           (J12)            |
|                            |
+----------------------------+

Users could map eg.:

  • J10 to ZL (Old3DS) or L2 (PS2)
  • J11 to ZR (Old3DS) or R2 (PS2)
  • J12 as is, picked by their emulator to provide a function (eg.: snapshot save/load)

Input on the feasibility of this would be appreciated. Also I have my physical system available for testing.

EDIT: Another mockup~

+--------------------+-------+
|                    |       |
|                    |   A   |
|                    +---+---+
|                    | B | C |
|                    +---+---+
|           E        |   D   |
|                    |       |
+--------------------+-------+

In this example users could map entries A, B, C, D, to the four C↑ C↓ C← C→ buttons of the N64 and could then map E to... who knows, Z?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions