The defense is in charge of prescribing HRT?
InputPlumber is basically the same thing.
OpenGamepadUI uses it in order to remap inputs, similar to how steam uses steam input.

GitHub - ShadowBlip/InputPlumber: Open source input router and remapper daemon for Linux
Open source input router and remapper daemon for Linux - GitHub - ShadowBlip/InputPlumber: Open source input router and remapper daemon for Linux
GitHubCrows are smart. Look at them and toss some unsalted peanuts in their general direction and they’ll understand what you’re doing. After a couple of visits they’ll recognize you and slowly get more relaxed around you. They each have their own personalities, where some will be easier to befriend than others, so just give them space and time.
My crow bro, Kenny. Most days I go for a walk after work and meet up with him to feed him some peanuts or dog food.
Unless you happen to be 2 meters tall, yes, you would give your height in cm. You might round it, but you’d never say you’re 1.8m tall.
Even if I had a createOrUpdate function I would still have an explicit create function so that I can have a permission model that allows for creating but not updating. For meetings maybe it doesn't matter, but I worked in a financial setting where a very unfortunate design decision was made early on in the development of a ledger where it was crucial that transactions couldn't be updated, but the database was designed in such a way that there wasn't a way to give the application permission to create new transactions without also allowing it to update existing ones. Required quite a bit of work to build around this limitation and have a way to prove that a series of transactions hadn't been altered.
My girlfriend has a similar complaint. Hours upon hours poured into Civilization VI, but after long sessions her arms get tired from holding it up due to the weight. Haven't heard any complaints about reach though, but maybe that's not as big of a deal as the weight.