Allow JavaScript and users the ability to create shortcuts that are programmable.
There should likely be 3 shortcuts categories:
-
General Shortcuts. These can be called from the MENU, or any core running, or any other location. They can receive an optional
coreand could do any actions that are allowed in the permissions for the script.
Examples:
- Start a specific core and a game.
- Take a screenshot.
- Reboot the device. -
Core Shortcuts. These require a core to be loaded.
Examples:
- Save the current savestate to the filesystem, shutdown the system.
- Send a macro of keys/buttons to the core. -
Core-specific Shortcuts. These can only be run in a list of supported cores. The system guarantees that the core will be loaded. Maybe they could also require that a game be running.
Examples:
- Change the status bits for some fields, e.g. the aspect ratio.
These shortcuts should have a unique name (or ID) and their key/button combination should be set by the system.