aboutsummaryrefslogtreecommitdiff
path: root/src/input_common/input_engine.h
Commit message (Collapse)AuthorAgeFilesLines
* [common] Switch to boost::unordered_flat containers (#4326)crueter2026-08-311-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces all instances of ankerl's unordered map/set with boost's `unordered_flat_*` classes. This uses std::hash since boost::hash is actually a lot slower. Also adds an abstraction layer in `Common` so future changes are quicker and easier. Other implementation details: - ankerl provided hash specializations for tuple and pair, so those were ported here - std::erase_if doesn't work on boost, so just used the ADL'd erase_if This should be about equal or superior performance as unordered_dense for everything except iteration. Signed-off-by: crueter <crueter@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4326 Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [*] change all std::unordered_map and std::unordered_set into ↵lizzie2026-02-101-7/+10
| | | | | | | | | | | | | | | | | | | ankerl::unordered_dense::map/set variants (#3442) mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* android: Play vibrations asynchronouslyt8952024-02-231-0/+5
|
* input_common: Implement native mifare supportNarr the Reg2023-06-211-0/+34
|
* input_common: Use DriverResult on all enginesgerman772023-01-191-8/+11
|
* core: hid: Enable pulling color data from controllersNarr the Reg2023-01-191-0/+6
|
* input_common: Add amiibo applet functionsgerman772022-11-131-1/+1
|
* input_common: cache vibration testsgerman772022-10-211-1/+6
|
* service: nfp: address commentsgerman772022-10-021-1/+2
|
* input_common: Create virtual amiibo drivergerman772022-10-021-0/+16
|
* input_common: Add camera drivergerman772022-07-231-3/+16
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* input_common: Map sticks correctly when mapped sidewaysNarr the Reg2022-03-211-0/+5
|
* Merge pull request #7859 from german77/battery_againbunnei2022-02-241-14/+4
|\ | | | | input_common: Remove battery duplicated struct and update every button press
| * input_common: Remove battery duplicated struct and update every button pressgerman772022-02-061-14/+4
| |
* | general: Rename NewUUID to UUID, and remove the previous UUID implMorph2022-02-051-2/+2
| | | | | | | | This completes the removal of the old UUID implementation.
* | input/hid: Migrate to the new UUID implementationMorph2022-02-051-3/+3
|/
* input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial stateLioncash2022-01-241-1/+1
| | | | | The default constructor of a UUID instance doesn't initialize the underlying array.
* input_common/main: Pass MappingData by const reference in callbacksLioncash2022-01-241-1/+1
| | | | Avoids creating unnecessary 168 byte copies per callback invocation.
* input_engine: Fix typo in TriggerOnAxisChange() parameter nameLioncash2021-12-131-1/+1
|
* input_engine: Simplify PreSet* family of functionsLioncash2021-12-131-9/+9
| | | | | We can make use of try_emplace() to insert values only if they don't already exist.
* input_engine: Remove left-over namespace qualifiersLioncash2021-12-131-3/+3
| | | | These types are part of the InputCommon namespace.
* input_engine: Take BasicMotion by const reference with SetMotion() and ↵Lioncash2021-12-131-2/+3
| | | | | | TriggerOnMotionChange() Copies the BasicMotion instance once instead of twice.
* input_engine: Pass LedStatus by const referenceLioncash2021-12-131-1/+1
| | | | Avoids copies where reasonably applicable
* input_engine: Pass VibrationStatus by const reference in SetRumble()Lioncash2021-12-131-1/+1
| | | | Avoids creating copies of the struct where not necessary.
* input_engine: std::move engine name where applicableLioncash2021-12-131-1/+1
| | | | | We can allow the name to be moved into, allowing allocations to be avoided.
* input_engine: Remove callback clearing in constructorLioncash2021-12-131-3/+1
| | | | | The callback map is a member variable, so this will always be empty on initial construction.
* input_engine: Remove unnecessary semi-colonsLioncash2021-12-131-6/+6
| | | | Silences -Wextra-semi warnings
* input_engine: Remove unnecessary returnLioncash2021-12-131-3/+1
| | | | This is a void function, so it doesn't need this.
* input_common: Move button names to the frontendgerman772021-11-241-2/+3
|
* kraken: Address comments from reviewgerman772021-11-241-1/+1
| | | | Fix compiler bug
* settings: Fix Debug controller type optionsgerman772021-11-241-3/+2
|
* kraken: Address comments from reviewgerman772021-11-241-7/+7
| | | | start lion review
* kraken: Fix errors from rebase and format filesgerman772021-11-241-4/+6
|
* core/hid: Add output devicesgerman772021-11-241-6/+12
|
* input_common: Create input_enginegerman772021-11-241-0/+224