It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Or maybe it's just too difficult for them and they are lazy.

I've just bought one of such games here on GOG and I'm requesting a refund immediately.

The reason of course being that I can't remap my keys.

It's such a fundamental necessity than one shouldn't wonder whether a game has that option or not - IT SHOULD ALWAYS BE AVAILABLE.
avatar
ChrisGriffin: It's such a fundamental necessity than one shouldn't wonder whether a game has that option or not - IT SHOULD ALWAYS BE AVAILABLE.
Thread title is a rather direct way of wording it but I completely agree. Even 64KB DOS, Commodore 64, ZX Spectrum, etc, 1980's games had that, so when modern 100,000 to 1 million times larger games lack them seemingly having learned nothing whatsoever about basic ergonomics after 30 years of "evolution", it looks absurd.

For the benefit of any game developers reading this now or in future, there are plenty of objective reasons why rebindable keys are required beyond personal preference, including:-

1. Non QWERTY keyboards (eg, AZERTY) that "hard-bind" to WASD end up with messed up backward controls where move forward (W) key is a row below move backward (S) and left (A) and right (D) aren't on the same row.

2. For right handers, when the mouse is to the right of the keyboard the natural left-hand placement is over WASD (that's why "WASD" became a defacto standard in the first place and not "IJKL"). But for left-handers, when the mouse is to the left of the keyboard the natural right-hand placement is over the cursor keys. It's good convention to simply mirror them (along with supporting keys like left CTRL & SHIFT onto Right CTRL & SHIFT) and allowing nearby WASD supporting keys (Q/E/F, etc) to be rebound on nearby cursor supporting keys (eg, Del / End / Pg Dn, Numpad, etc).

3. I know one disabled person with arthritis in their fingers who can't play either WASD or cursor keys because the keys are too close together, but can manage it when they're spaced further apart, eg, EACG.

4. Enhanced premium gaming mice / disability device compatibility. From things like premium 9-button gamer mice (eg, Logitech G300S) to disability aid input devices (eg, shifting weight in pressure sensitive chair, pressing L/R foot pedals, blow tubes, eye tracking, voice activated, etc), many of these devices have a compatibility mode where the device will "present" itself to Windows as a standard USB keyboard and then translate however it receives input into a virtual "key-press" to which you simply remap the keys in-game to match desired function). This allows them to work with any games without the game having to be aware of the devices. But in order to work, it does require that games have the basic ability to rebind keys.

Part of this is on the games devs themselves (their first game can be allowed for "learning experience" but when their 2nd, 3rd, etc, game comes out with exactly the same issues even after people point it out in forums, that's is indeed laziness / wilful ignorance). It's also partly on game engine designers like Epic Games for having the most absurd default cursor key controls. Unreal 4 seems particularly bad in that their stupid defaults get leftover in many games (eg, Obduction) often uses AD to strafe and yet cursor keys "turn" instead (like an early pre-mouselook FPS from 1992), so left-handers (mouse in left hand, cursor keys on right) end up with the ability to turn in each hand but can't actually strafe / move sideways in either, and this somehow passes their "QA" testing...)
Post edited March 26, 2020 by AB2012
I agree that games should allow key rebinding, as it is indeed an accessibility issue.

One thing that isn't mentioned is laptops that lack a numeric keypad; if essential functions are mapped to it, that can be a problem. (Final Fantasy 7 PC (1998 release) has this issue, for example.)

(Another issue I have is games requiring mouse input, which is awqward when playing on a laptop without a flat surface handy.)
avatar
AB2012: Unreal 4 seems particularly bad in that their stupid defaults get leftover in many games (eg, Obduction) often uses AD to strafe and yet cursor keys "turn" instead (like an early pre-mouselook FPS from 1992), so left-handers (mouse in left hand, cursor keys on right) end up with the ability to turn in each hand but can't actually strafe / move sideways in either, and this somehow passes their "QA" testing...)
Turning is more important than strafing, so being unable to turn would be a bigger issue than beign unable to strafe.
avatar
AB2012: 4. Enhanced premium gaming mice / disability device compatibility. From things like premium 9-button gamer mice (eg, Logitech G300S) to disability aid input devices (eg, shifting weight in pressure sensitive chair, pressing L/R foot pedals, blow tubes, eye tracking, voice activated, etc), many of these devices have a compatibility mode where the device will "present" itself to Windows as a standard USB keyboard and then translate however it receives input into a virtual "key-press" to which you simply remap the keys in-game to match desired function). This allows them to work with any games without the game having to be aware of the devices. But in order to work, it does require that games have the basic ability to rebind keys.
Shouldn't the device offer the ability to specify which button presents as which key here?

(Side note: I have an Adafruit PyBadge, and it's possible to program it to act as a USB keyboard, and you can easily program an arbitrary mapping from buttons to keyboard keys.)
Post edited March 26, 2020 by dtgreene
avatar
dtgreene: Shouldn't the device offer the ability to specify which button presents as which key here?
Most do but "double bindings" can break that, plus it's simply the hassle of having to remap a default template (that works by default in 100 other games) just for one game. Eg, I have a Logitech G300 mouse. The 6 extra buttons on it can mimic keyboard presses, and by mapping one to "M" and one to "I", etc, it's possible to have the same button instantly pull up a Map or Inventory in a multitude of different games needing only one profile by rebinding them in-game. If one game insists on hard-coding an Inventory to say "Y" it's possible to go into Logitech Software and remap it, but still a hassle to have to create a custom mouse profile for just that game, plus remember to map it back afterwards.

Likewise, double bindings screw everything up. By this I mean this is usually the point where someone says "Just use Autohotkey". The problem with this is I've seen plenty of games where WASD is hard-coded as the only way to move around in-game (forward / back / strafe L&R) whilst cursor keys are hard-coded as the only way to move U/D/L/R in an inventory screen or main menu and the developers couldn't be bothered to allow mouse support for menu selection. By using AutoHotkey to overwrite WASD onto cursor keys, you gain the ability to move around with the cursor keys but then lose the ability to navigate in menu's, inventory, etc, rendering the game unplayable. Some virtual keyboard software does not allow mapping a programmable mouse or disability devices to press two buttons at once (eg, W and Up Cursor), so you'll be ALT-TABBing back & forth to change it if the device lacks the required amount of buttons to have two lots of U/D/L/R controls, whilst for some games where even if that were possible, you can then get complications like, eg, if the game hears "move forward and Menu Up" at the same time, decides to rapidly open / close the inventory every time you move forward.

The simplest and most accessible thing is for game devs to simply allow rebinding (which has to be one of the easiest and most reusable pieces of code to create yet) and I'm pretty sure many engines already have that already coded in (eg, Unreal stores bindings in .ini files going all the way back to UE1) yet for some devs, merely enabling that seems to be on par with scaling Mount Everest...
i often use a controller because using the normal wasd + mouse is painful for me because of an injury. (Side note, if you can use the keyboard for FPS games, esdf is way better than wasd. That's where the left hand normally rests when typing and it gives you more keys on the left side of the hand to bind.

Anyway, I recently played a game that had controller support, but they wouldn't let me rebind the controller controls. It wouldn't have been an issue, but there's a bug in game so that when I use the flashlight, it re-enables the hud (which I don't like). The keyboard doesn't have that issue though. So, somehow that button on the controller was bound to turning the flashlight on/off, but also turning the hud on. Since I coudn't rebind it, I have to keep turning the hud off manually with the keyboard controls every time I need to use the flashlight (which is annoying often because the game doesn't have enough lighting to eliminate the need for a flashlight).
Yeah, not being able to rebind keys is ridiculous. Luckily in the genres I play this is very, very rarely an issue. In fact I can't even think of an example.
avatar
AB2012: ... I've seen plenty of games where WASD is hard-coded as the only way to move around in-game (forward / back / strafe L&R) whilst cursor keys are hard-coded as the only way to move U/D/L/R in an inventory screen or main menu and the developers couldn't be bothered to allow mouse support for menu selection. ...
I've never encountered a FPP game with hard-coded WASD (ZQSD here) keys, but that's just my experience - maybe it's just a coincidence that alternative keys were possible for all games I was interested in. I've always played them with the cursor keys (because that's what I like, no explanation needed). I'm right-handed btw.

Nowadays, I play all modern(ish) FPP games with a controller. I don't care for (twitchy) shooters, so speed and exact aiming isn't very important to me.
I get where the OP is coming from but I'd like to point out that, yes, keyboard remapping should always be there BUT if developers are called lazy if they don't implement it then shouldn't we called lazy as well to complain about that and not even try to adapt an put some effort in it?

Clearly I'm not referring to people who are forced to use a fixed controls set.
Post edited March 31, 2020 by Judicat0r
avatar
ChrisGriffin: Or maybe it's just too difficult for them
No, that's really simple...
avatar
ChrisGriffin: and they are lazy.
Or underpaid...
avatar
ChrisGriffin: It's such a fundamental necessity than one shouldn't wonder whether a game has that option or not - IT SHOULD ALWAYS BE AVAILABLE.
True. I mean, I've relearned keys all my life, until WASD was a thing. And even today I prefer my Use on F, Crouch on Ctrl Quicksave on F5 and so on... but for left-handed people (like my daughter, for instance) the usual layouts are completely shite.
avatar
AB2012: 3. I know one disabled person with arthritis in their fingers who can't play either WASD or cursor keys because the keys are too close together, but can manage it when they're spaced further apart, eg, EACG.
personally, I use QWES

...and ive also recently written on this in an industry zine regading accesibility (no, i wont be linking it).
Here is a programming exercise that will teach you how much (or how little) work implementing rebindable controls is.

1. Write a program that displays something on the screen (or window) that can be moved by pressing the arrow keys. The program should exit when the user presses the escape key.

Then, once you've done that and have tested and made sure it's working:

2. Modify the program so that the user can re-binding the keys. The user should be able to re-bind the keys without having to modify the source code.

Performing task 2 should give you an idea of what it takes to impllement rebindable controls.

(Incidentally, my biggest pet peeve with controls is games that can't be played with just the keyboard, but need mouse inputs for some things; makes it annoying to play those games on a laptop without a surface.)
Just no games closing with single press of Esc please...

Also well i totally agree with the topic title because handling inputs with DirectX or SDL is super easy. Adding menu that reads inputs and changes the value accordingly is like next step after hello world.

The worst offenders so far are fighing games on PC. They either default to very weird layouts or even hardcode a layout that more suitable for an alien with 20000 tentacles than a human being (cough-cough... DoA5-6... cough-cough...)

Also even those that allow remapping often make it extremely painful, like if you want ASDFZXCV + arrows on player one you need to rebind player two first then bind player two. Why not just warn the user then unbind player 2 controls? Because they are super lazy. Another stupid decision - hardcode both WASD and arrows as player 1 movement. Every key should be usable. If someone wants to bind arrows as action buttons and WASD/IJKL/4568 on numpad etc for movement - it should be possible. Also i remember one game released in 2017 that was suffering from "Amiga syndrome" - hardcoded jump on up. And it was a platformer. Come on, Super Mario Bros was released in 1985 and made it clear that a dedicated jump button is far superior than pressing up to jump.
avatar
dtgreene: Performing task 2 should give you an idea of what it takes to impllement rebindable controls.
I think what I find most absurd is the sheer disparity of the effort put in between those that do vs don't. Eg, you get games like Banished which despite being a "one-man dev" (the whole game was written almost entirely by one single person), it was a completely custom-made engine written from scratch with full rebindable controls each with primary and secondary keys. And then the next minute you get off-the-shelf Unreal / Unity engine stuff where the engines already have key-rebindings pre-coded and where "coding it in" = it literally consists of adding a pre-made template in the toolkit that adds a pre-made Input Main Menu that stores settings into a pre-configured file, by a developer with a whole team of people and the excuse is "it's too much effort for us"...
Another thing re. bindings that irritates me is games that think some keys are Very Special and thus don't allow you to bind anything to that key. IIRC quake engine (for instance) doesn't allow you to bind to semicolon (unless you do it manually via config file?). Many games don't allow binding to apostrophe. Many games don't allow you to bind to backspace. Many games don't allow you to bind to function keys. Many games don't alow you to bind to mouse thumb buttons..
Post edited March 27, 2020 by clarry
avatar
clarry: Another thing re. bindings that irritates me is games that think some keys are Very Special and thus don't allow you to bind anything to that key. IIRC quake engine (for instance) doesn't allow you to bind to semicolon (unless you do it manually via config file?). Many games don't allow binding to apostrophe. Many games don't allow you to bind to backspace. Many games don't allow you to bind to function keys. Many games don't allow you to bind to mouse thumb buttons..
ELEX is a PRIME example of this, Mouse 2 can't be rebound nor can wasd

I CAN'T F@CKING play it with wasd IT HURTS my PERMANENTLY DISLOCATED FINGERS!
avatar
AB2012: then the next minute you get off-the-shelf Unreal / Unity engine stuff where the engines already have key-rebindings pre-coded and where "coding it in" = it literally consists of adding a pre-made template in the toolkit that adds a pre-made Input Main Menu that stores settings into a pre-configured file, by a developer with a whole team of people and the excuse is "it's too much effort for us"...
Aww... well it's too much effort for me to BUY YOUR DAMN GAME THEN, is my answer to that!

It should be made a CRIMINAL OFFENCE not to have re-mappable keys!
Post edited March 27, 2020 by fr33kSh0w2012