| Both sides previous revision Previous revision Next revision | Previous revision |
| evmapy [2022/04/11 09:46] – consistency atari | evmapy [2022/04/14 06:38] (current) – header overhaul atari |
|---|
| |
| [[https://github.com/kempniu/evmapy|Evmapy]] is a tool used by Batocera to map inputs from the controller to a virtual keyboard (although, its capable of quite a bit more than that). Refer to [[https://github.com/kempniu/evmapy/blob/master/README.rst|evmapy's readme]] for more information. This is primarily used to enable the use of the emulator's shortcuts if it does not natively support hotkey binding onto the controller's buttons (for example, [[emulators:dolphin|Dolphin]] does not use evmapy). | [[https://github.com/kempniu/evmapy|Evmapy]] is a tool used by Batocera to map inputs from the controller to a virtual keyboard (although, its capable of quite a bit more than that). Refer to [[https://github.com/kempniu/evmapy/blob/master/README.rst|evmapy's readme]] for more information. This is primarily used to enable the use of the emulator's shortcuts if it does not natively support hotkey binding onto the controller's buttons (for example, [[emulators:dolphin|Dolphin]] does not use evmapy). |
| | |
| | ===== Setting up the makefile ===== |
| |
| The emulator's "keys" file, if used, is located at ''package/batocera/<emulators or ports>/<emulator or port>/<system shortname>.<emulator>.keys''. This file must then be copied from ''%%$(BR2_EXTERNAL_BATOCERA_PATH)/package/batocera/<emulators or ports>/<emulator or port>/<system shortname>.<emulator>.keys%%'' to ''%%$(TARGET_DIR)/usr/share/evmapy%%'' in its makefile. For example, with Citra (the 3DS emulator): | The emulator's "keys" file, if used, is located at ''package/batocera/<emulators or ports>/<emulator or port>/<system shortname>.<emulator>.keys''. This file must then be copied from ''%%$(BR2_EXTERNAL_BATOCERA_PATH)/package/batocera/<emulators or ports>/<emulator or port>/<system shortname>.<emulator>.keys%%'' to ''%%$(TARGET_DIR)/usr/share/evmapy%%'' in its makefile. For example, with Citra (the 3DS emulator): |
| CITRA_POST_INSTALL_TARGET_HOOKS = CITRA_EVMAP | CITRA_POST_INSTALL_TARGET_HOOKS = CITRA_EVMAP |
| </code> | </code> |
| | |
| | ===== "Keys" file syntax ===== |
| |
| Evmapy uses a simple syntax for its events, and indentation/spacing is not enforced (but it's still recommended for readability). First, everything must be inside of a curly bracket: | Evmapy uses a simple syntax for its events, and indentation/spacing is not enforced (but it's still recommended for readability). First, everything must be inside of a curly bracket: |
| </code> | </code> |
| |
| ===== Input triggers ===== | ==== Input triggers ==== |
| |
| Batocera uses ''es_input'''s generic terms to refer to its controller's inputs. Though not everything is intuitive, is a list of the human-readable inputs against the ''"trigger"'' code they use in the keys file: | Batocera uses ''es_input'''s generic terms to refer to its controller's inputs. Though not everything is intuitive, is a list of the human-readable inputs against the ''"trigger"'' code they use in the keys file: |
| | ''[R3]'' (RS click-in) | ''r3'' | | | ''[R3]'' (RS click-in) | ''r3'' | |
| |
| This is but the tip of the iceberg of events that evmapy can parse. Refer to [[https://github.com/kempniu/evmapy/blob/master/README.rst|its documentation]] for more details. | This is but the tip of the iceberg of triggers that evmapy can parse. Refer to [[https://github.com/kempniu/evmapy/blob/master/README.rst|its documentation]] for more details. |
| |
| ===== Output events ===== | ==== Output events ==== |
| |
| ==== Keys ==== | === Keys === |
| |
| The bread and butter of events evmapy will be sending out. Type in the name of the key desired to be pressed. If multiple keys are needed, separate them with commas in a list. | The bread and butter of events evmapy will be sending out. Type in the name of the key desired to be pressed. If multiple keys are needed, separate them with commas in a list. |
| <-- | <-- |
| |
| ==== Execute ==== | === Execute === |
| |
| In case the emulator in question supports no keyboard shortcuts to perform actions, evmapy is capable of running commands directly. This should only be used as a last-resort, and typically only to kill the emulator. | In case the emulator in question supports no keyboard shortcuts to perform actions, evmapy is capable of running commands directly. This should only be used as a last-resort, and typically only to kill the emulator. |