Author Topic: How do alternative layout users who use programmable KB deal with playing games?  (Read 14525 times)

0 Members and 1 Guest are viewing this topic.

Offline knowsnokb

  • Thread Starter
  • Posts: 35
How do people who have programmable keyboards who have programmed their keyboard with an alternative layout, whether Coleman, Dvorak, Workman, custom layout deal with playing games?
Please describe your layout and how it affects your game playing or how you've adjusted for games.

Offline xtrafrood

  • formerly csmertx
  • * Elevated Elder
  • Posts: 2715
  • Location: Gainesville, FL
  • wildling
I've only used dvorak for a few weeks or so. I use 0% keyboard firmware. For me everything is handled in Windows 10. I set up my additional layout in Windows and I cycle between Dvorak/QWERTY with Winkey + spacebar. One could remap all the alpha keys in the game menu but um, not me no thank you.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Apps either let you remap key bindings, or they don't. If the latter is the case, ignore the game, send the developers a bug report (or an angry e-mail), or make an ad-hoc custom keymap, if any of the former isn't an option (although it ignorance is always an option). Developers, that don't let you rebind keys in-game, are noobs or idiots. It has nothing to do with alternative layouts. AZERTY and sometimes QWERTZ users are affected in the first place, for example.

I don't understand why the OP is about programmable keyboards though. I hear some games surpass OS-side keymap and read raw low-level data (from the keyboard). That would be a problem with a *non-programmable* keyboard. I haven't stumbled upon such a game yet, though… I suspect it might be a property of console ports, but I've always boycotted those, because the developers/publishers push cost-saving on the customer at the cost of poor/dumbed-down design.

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
I don't understand why the OP is about programmable keyboards though. I hear some games surpass OS-side keymap and read raw low-level data (from the keyboard).
It depends. For example Direct input takes raw data, but the programmer could also program his own keyboard listener, which would/can take OS keyboard. A lot of games actually take OS keyboard, which is stupid, because taking raw input would solve so many problems.


Offline bocahgundul

  • a seal
  • * Esteemed Elder
  • Posts: 1842
  • Location: sell me your 5k ples
I really want to know this too cause I use dvorak and Its kinda hard for me to chat to team in game cause I always forgot to switch back to dvorak when in chat

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
A lot of games actually take OS keyboard, which is stupid, because taking raw input would solve so many problems.
It's not stupid, it's the correct way to do it. Raw input is a nasty workaround and generally giving up on internationalization, because it means the developers are reimplementing the keymap—poorly, as a rule of thumb, thus discriminate everyone but stock US QWERTY users. Problems arise, whenever
  • key positions/labels are communicated (in-game key names don't correspond to keycap legends, or the user has a physical layout different from the one presented in-game),
  • typing (chat/notes/…) is used within the game (either OS has to regain control for such inputs, or the game has to provide some workaround, but it usually doesn't do so).
« Last Edit: Sat, 12 March 2016, 06:45:51 by davkol »

Offline knowsnokb

  • Thread Starter
  • Posts: 35
I don't understand why the OP is about programmable keyboards though.

Because in my mind, if I just change to Dvorak or Colemak using the Windows/Linux/OSX settings, I can always switch back to Qwerty by changing those settings to play games.
But if I set up my keyboard with Dvorak, Colemak, or some customs settings, then I can just go a click some settings inside my operating system settings to go back to Qwerty for games.My logic could be completely wrong though of course, but that's how I see it. And I do use a programmable keyboard, so that's why I'm asking about users who use programmable keyboards specifically.
« Last Edit: Sat, 12 March 2016, 06:50:27 by knowsnokb »

Offline iaeen

  • Posts: 13
  • Location: Controlling your thoughts
Most truly programmable keyboards use firmware that is based on stackable layers. On my ErgoDox, I simply have a games layer. One press of a button, and my board is ready to go.

This is actually easier than switching OS mapping back and forth since I can get to my Dvorak layout in-game if I need to do some typing or if I forget to switch before I launch the game. In my experience, it is difficult to get to the OS KB selection once a game is launched.
ErgoDox Infinity

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
A lot of games actually take OS keyboard, which is stupid, because taking raw input would solve so many problems.
It's not stupid, it's the correct way to do it. Raw input is a nasty workaround and generally giving up on internationalization, because it means the developers are reimplementing the keymap—poorly, as a rule of thumb, thus discriminate everyone but stock US QWERTY users. Problems arise, whenever
  • key positions/labels are communicated (in-game key names don't correspond to keycap legends, or the user has a physical layout different from the one presented in-game),
  • typing (chat/notes/…) is used within the game (either OS has to regain control for such inputs, or the game has to provide some workaround, but it usually doesn't do so).

Giving up internationalization? Quite the opposite actually. All standard keyboards send the same scan codes in the same physical location of the key. Doesn't matter what language. If you make a game where you move with WASD and use the raw input, a German can use the same keys in the same location without the need to remap. Similarly I could play the game without remapping, as I use Colemak.
Take Fallout 4 as an example, where all actions are not re-mapable, forcing me to switch my Colemak layout to QWERTY. Had it used scan codes there would be zero problem.

A "properly" programmed game could display the OS keys in a tutorial, but still take scan codes for the generic actions. If a game needs more specific input, like typing, they can easily implement two different ways to pick up key presses. That's hardly an argument against my point.

Offline vvp

  • Posts: 886
Either redefine key bindings in game or define a special layer for (each) game.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
A lot of games actually take OS keyboard, which is stupid, because taking raw input would solve so many problems.
It's not stupid, it's the correct way to do it. Raw input is a nasty workaround and generally giving up on internationalization, because it means the developers are reimplementing the keymap—poorly, as a rule of thumb, thus discriminate everyone but stock US QWERTY users. Problems arise, whenever
  • key positions/labels are communicated (in-game key names don't correspond to keycap legends, or the user has a physical layout different from the one presented in-game),
  • typing (chat/notes/…) is used within the game (either OS has to regain control for such inputs, or the game has to provide some workaround, but it usually doesn't do so).
Giving up internationalization? Quite the opposite actually.
That's completely wrong.

All standard keyboards send the same scan codes in the same physical location of the key.
Depends what you mean by "standard". Regardless, keyboards with Windows, Mac and Unix layouts have certain keys (codes) swapped around, not to mention programmable keyboards as mentioned by OP.


Doesn't matter what language. If you make a game where you move with WASD and use the raw input, a German can use the same keys in the same location without the need to remap. Similarly I could play the game without remapping, as I use Colemak.
That's precisely the utter failure: the game has to communicate its bindings to the user. It can display labels (such as WASD) or positions on a keyboard scheme (highlighted keys on a picture of a keyboard). Neither works universally.

labels: Consider so-called WASD. That's ZQSD on AZERTY. If the game assumes US QWERTY by default and tells the user to press WASD, and the user doesn't know US QWERTY and orients themselves by the labels on their localized keyboard, they'll be pressing the wrong keys (QWERTY ZQSD).

picture: That's obvious. Even "Mac"/"Windows" keyboards have swapped Alt and Cmd/Win positions, not to mention compact or programmable keyboards and various gaming keypads (e.g., Razer Nostromo/Orbweaver).

Furthermore, what if the user wants to use accents (or even non-latin alphabet) in their in-game nickname, notes, chat…?

Take Fallout 4 as an example, where all actions are not re-mapable, forcing me to switch my Colemak layout to QWERTY.
Thanks for providing an example of developers' (a) incompetency or (b) poor development model (typically for business reasons).

If a game needs more specific input, like typing, they can easily implement two different ways to pick up key presses. That's hardly an argument against my point.
See above.

Because in my mind, if I just change to Dvorak or Colemak using the Windows/Linux/OSX settings, I can always switch back to Qwerty by changing those settings to play games.
Of course.

But if I set up my keyboard with Dvorak, Colemak, or some customs settings, then I can just go a click some settings inside my operating system settings to go back to Qwerty for games.
No?

If you set your keyboard firmware to DSK or Colemak, you're permuting the codes sent by the keyboard, thus you'll get expected results, only when the host system is set to US QWERTY. If you compose the permutations, you're basically guaranteed to get a new/mangled layout. Thus, you either have to have multiple layouts (permutations) in firmware (as iaeen noted), or still mess with OS-side keymap anyway.

Offline xtrafrood

  • formerly csmertx
  • * Elevated Elder
  • Posts: 2715
  • Location: Gainesville, FL
  • wildling
I was thinking why a game might bypass any macro program and just take the raw input. From a fair play point of view that seems relatively fair. I wonder what difference custom firmware would make. I would imagine only a low percentage of people would be willing to program macros in the firmware for botting etc. If that is even possible.

Say I have a programmable QFR, Majestouch or ErgoDox that has layered layouts, would those raw input games still function the same way?

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Plenty of gaming mice/keyboards store and execute macros in the device itself. At least some roccats and logitechs IME.

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
@davkol:
Giving up internationalization? Quite the opposite actually.
That's completely wrong.
Care to elaborate? I'm not necessarily addressing the OPs issue. The OP asks an irrelevant question. Basically he asks how to manage gaming with a non-standard keyboard. If you use a non-standard keyboard you are on your own, and always need to remap keys withing the game if you use other than QWERTY (or use secondary layer as suggested). In your case you also need to remap keys if you use non-QWERTY keyboard. In my example it doesn't matter if you use QWERTY, AZERTY, dvorak, colemak... Truly universal, but yet you insist it's un-international? By standard I mean the agreed-upon scan codes that keyboards send to the computer. There's a reason we call them ISO (International Organization for Standardization) keyboards. That's because they are all the same. Yes. You buy a keyboard form all countries that use ISO keyboard, take off the key caps, scramble the keyboards, put back key caps and they all work as expected. The real magic happens in the OS keybord layout. All keyboards send the same scan codes, irrelevant what country, if they didn't it would be a real mess. Your computer pics up that scan code, or raw input, and interprets it using the currently installed OS keyboard layout. Did you know that ANSI right alt and ISO altgr have the same scan code? They only behave differently because of the OS keyboard layout, which is external from the keyboard itself. You can try this for yourself if you use ANSI keybaord: install the UK-ISO keyboard layout and use an AltGr combination using your right alt, whazam, it works! If you use a completely different OS with their own standard of scan codes, of which I'm not aware of, because keyboards are completely external from OS - unless Apple has come up with some proprietary POS - you simply take those into account as well. If it's standardized, it can be programmed.

That's precisely the utter failure: the game has to communicate its bindings to the user. It can display labels (such as WASD) or positions on a keyboard scheme (highlighted keys on a picture of a keyboard). Neither works universally.

labels: Consider so-called WASD. That's ZQSD on AZERTY. If the game assumes US QWERTY by default and tells the user to press WASD, and the user doesn't know US QWERTY and orients themselves by the labels on their localized keyboard, they'll be pressing the wrong keys (QWERTY ZQSD).

picture: That's obvious. Even "Mac"/"Windows" keyboards have swapped Alt and Cmd/Win positions, not to mention compact or programmable keyboards and various gaming keypads (e.g., Razer Nostromo/Orbweaver).

Furthermore, what if the user wants to use accents (or even non-latin alphabet) in their in-game nickname, notes, chat…?
Did you even read my post? I explained how to get around that. The game asks the OS for the current layout and prints the corresponding characters to the player, in DirectX there even is a function for that. I'd assume other interface systems have as well. It's quite easy actually. The problem is most game devs don't bother with it because it's a rare case or are even aware they could do that. If you use a programmable keyboard it's not inherently bad either. Say you buy the infinity ergodox, and want to try out dvorak. What do you do? If you only use the keyboard in your home, you don't change the keys in the online editor (except for function and layer keys). Then you download keyboard layout creator or similar and make dvorak using that. To recap: you leave your keyboards on-board scan codes close to international standards, but then make your own OS keyboard layout, because the game doesn't have to give two ****s about what your actual layout is. Scan codes are used precicely to get the physical key you pressed, for international purposes, and that's what I'm telling games should use, OS keyboard layouts are used to interpret what character you wanted to type, this is irrelevant for generic actions within games, such as moving, so it should't care about these. Of course, as I have repeatedly said, the game can ask for the OS keyboard layout and print the characters that are (or are not depending on the case) visible on the players physical keyboard. Sounds complicated, but that's the standardized way. If you use the online editor to get dvorak, it may work with other computer more easily, but then you are using non-standard scan codes, which means you are on your own, because there is no way to ask for they keyboards layout. Irrelevant case in other words. Also if you took that keyboard then to a German friends house and plugged it in, some of the keys wouldn't work as expected, because your custom layout is still dependant on OS keyboard layout interpretation.
It's obvious to me you have never programmed a game. Nor does it seem you know the difference of a scan code and keyboard layout.

Thanks for providing an example of developers' (a) incompetency or (b) poor development model (typically for business reasons).
My point                                       Your head. Maybe try to read my comment again. In case it was unclear, my point was that using my method would easily solve the problem. Even if all actions were mappable in Fallout 4, that would still mean that (a) I have to always switch to QWERTY for the game (b) remap all keys within the game on my first time playing. This is what you are suggesting and you call it international? I'm saying, it's the complete opposite.
In my example both above actions would be unnecessary as explained in great detail in my post. I don't get it why you argue against me. Or why you say my method is not international. I use colemak, I play games, I've programmed games, I of all people should know the pain of using non-standard layouts within games. As I have multiple times said, my method takes all keyboard layouts into account, the only condition being that you would at least use the standardized scan codes (you can look up a picture online). If you go against standards, it's unfortunately outside of what a programmer can do for you.

If a game needs more specific input, like typing, they can easily implement two different ways to pick up key presses. That's hardly an argument against my point.
See above.
Read again?
« Last Edit: Sat, 12 March 2016, 19:07:35 by LuX »

Offline knowsnokb

  • Thread Starter
  • Posts: 35
The OP asks an irrelevant question. Basically he asks how to manage gaming with a non-standard keyboard. If you use a non-standard keyboard you are on your own, and always need to remap keys withing the game if you use other than QWERTY (or use secondary layer as suggested).
Irrelevant to you but it's relevant to me, that's why I was asking.

Looks to be relevant to one other person too at least.
I really want to know this too cause I use dvorak and Its kinda hard for me to chat to team in game cause I always forgot to switch back to dvorak when in chat

And I wasn't really asking how I should manage gaming with non-standard keyboard but more of ideas or opinions on how other people deal with playing games: Do they just not play games anymore, do they have multiple layers, do they skips games that they can't remap, etc...
 Anyway, not picking an argument. just a simple question from a simple person seeking wisdom from the experience of others.  :thumb: Peace
« Last Edit: Sat, 12 March 2016, 20:24:16 by knowsnokb »

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
Hi knowsnokb, my comment wasn't directed at your question, because I found it was answered by others. By 'irrelevant', I meant irrelevant from my point, which was "how a game can handle different keyboard layouts", a solution that will work for everyone.
As I have stated regular keyboards send standardized scan codes to your computer, what the key cap says doesn't matter. As I have many times said keyboards behave differently because of the software side. Programmable keyboards should send scan codes as well. So you want to try some alternate layout like dvorak/colemak? If you only use the keyboard at home, leave the keyboard at QWERTY. You can add layers and do other fun stuff with it, but leave the basic layer as a QWERTY keyboard. Next, download a keyboard layout creator and make your dvorak/colemak using that. This might sound stupid, because you just bought a programmable keyboard, and thought finally I'm able to use those layouts, but that's against the standards. You can't buy a proprietary flash drive, and then cry because it doesn't fit in a USB slot.

The other option is to do what you said in your OP. Use the programmability to change the layout. This way the keyboard will for the most time work on other computers. Of course then your keyboard still depends on the computers using the same layout within the OS. If it doesn't, your keyboard will not work properly, and it becomes a hassle to make it work.

I think the problem here is that people are confused how keyboards (should) work in the first place. There are of course other ways, but generally manufacturers and OS devs have agreed on using what is known as "Set 2" scan codes.

Consider you buy an English keyboard on English computer. You plug it in and press the key cap that says "A". The keyboard senses this, and sends your computer the scan code "1e". In itself 1e hardly says anything, so within software this will often be translated to "A", and this is what confuses people, because the keyboard is not literally sending "A" to the computer, it's only saying "hey, computer, this guy pressed '1e'". Your computer listens and thinks "hmm... 1e... yes that's the key on the fourth row, second place. Let's ask the OS keyboard layout what that means... Hey, keyboard layout, what's the key on the fourth row, second place?" Then the OS puts up it's reading glasses and reads form the sheet op paper "Let's see... Yes... this guy wants to type the letter 'a'... Hey, active window! The used wants to type the letter 'a'" Now the active window, in this case for example Words listens and says "Ok, I hear you, simsalabim, the letter 'a' shall appear in the text".

Now imagine your a German typing on AZERTY. On that layout the letter Q is where the A is on QWERTY. So once again:
German keyboard, German computer: press "Q": "1e" (translation: 'A') -> Computer -> OS keyboard layout "q" -> active window "q"
English keyboard, English computer:  press "A": "1e" (translation: 'A') -> Computer -> OS keyboard layout "a" -> active window "a"

German keyboard, English computer: press "Q": "1e" (translation: 'A') -> Computer -> OS keyboard layout "a" -> active window "a"
English keyboard, German computer:  press "A": "1e" (translation: 'A') -> Computer -> OS keyboard layout "q" -> active window "q"

If a game used my explained method, it would go from Computer straight to software, skipping the OS keyboard layout interpretation. That way we can use the "translation" part, because that will be the same for all standard keyboards. Davkols argument against that was that games then cannot print the correct key on screen. For example that the tutorial tells everyone to press "A" to walk left. This may be the case for poorly made games, but I already explained you can, within software, demand to see the OS keyboard layout and thus print out "Q" instead of "A", if the user uses the German layout, or what ever else based on the layout for that matter. If you go about messing up the scan codes on your keyboard, ie. use the programmability to get dvorak/colemak, this becomes totally impossible.
« Last Edit: Sun, 13 March 2016, 05:42:50 by LuX »

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
wall of text
You've completely avoided addressing user-interface-design concerns.

ad remapping: A game *must* provide remapping functionality, because (1) the bindings are application-specific, and (2) there are users with special needs (even as simple as WASD/ESDF/arrows/tenkey preference or left-handed mousing).

ad keyboard handling
  • Yes, the app/game may make use of both raw input and OS-side keymap. It may help avoid problems with, e.g., dead keys (any of their variants). OTOH it introduces additional complexity, that's usually poorly handled. For instance, I've helped backtrack a French [AZERTY] user their problem with DOTA2, in which case the game detected the OS-side keymap only on the first run, but then left the user in confusion after they changed their setup, while the game still communicated old binded "labels". Similarly, I've had countless issues with in-game text areas, where developers forgot to allow usage of OS-side keymap (thus accents or AltGraph chords). In other words, you're making the assumption, that software is correct, although it nearly always is not.
  • No, the OS-side keymap doesn't only map symbols to scancodes. XKB is a prime example of this. The user may swap around modifier positions on this level, create an extension layer (similar to whatever modern 60% keyboard provide in firmware) or perhaps use accessibility features. Of course, that may or may not cause problems with controls in game, but again, that's a matter of consistency, expected behavior system-wide and enabling various accessibility enhancements.

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
wall of text
You've completely avoided addressing user-interface-design concerns.
I think I haven't? In fact I repeated it multiple times how to avoid your user-interface-design concerns. If someone uses a non-standard keyboard, a programmer cannot help you, even if they used the method described by yourself. If I don't get your point for what ever reason, maybe link me to some place that would explain it in greater detail?

ad remapping: A game *must* provide remapping functionality, because (1) the bindings are application-specific, and (2) there are users with special needs (even as simple as WASD/ESDF/arrows/tenkey preference or left-handed mousing).
I was never against remapping. I'm against discrimination of non QWERTY keyboard layouts.

ad keyboard handling
  • Yes, the app/game may make use of both raw input and OS-side keymap. It may help avoid problems with, e.g., dead keys (any of their variants). OTOH it introduces additional complexity, that's usually poorly handled. For instance, I've helped backtrack a French [AZERTY] user their problem with DOTA2, in which case the game detected the OS-side keymap only on the first run, but then left the user in confusion after they changed their setup, while the game still communicated old binded "labels". Similarly, I've had countless issues with in-game text areas, where developers forgot to allow usage of OS-side keymap (thus accents or AltGraph chords). In other words, you're making the assumption, that software is correct, although it nearly always is not.
To cite yourself: "Thanks for providing an example of developers' (a) incompetency or (b) poor development model (typically for business reasons)."
I never claimed this is how all games work. In fact I've never seen a game work like I've described. I'm saying it's what should be used. It may not work in 100% of cases, but at least if work in more than using your method. I still don't understand how you dare to claim it being international, while mine isn't, if it's designed primarily for QWERTY users, with everyone else left to work around it.
I don't see how your method of using OS keymap would have been any better in those examples. Software is correct if people use standards as I've said.

If a game stores scan codes for movement, and then loads the keymap into memory each time they play as reference to the player, your friend would not have had any problems, once again poor programming, not what I suggested to use anyway.

  • No, the OS-side keymap doesn't only map symbols to scancodes. XKB is a prime example of this. The user may swap around modifier positions on this level, create an extension layer (similar to whatever modern 60% keyboard provide in firmware) or perhaps use accessibility features. Of course, that may or may not cause problems with controls in game, but again, that's a matter of consistency, expected behavior system-wide and enabling various accessibility enhancements.
Unfortunately I only have experience with the Windows side of things. If Linux uses their own standards, then there must be sufficient documentation to take that into account as well, if the game is run on Linux.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
What's the downside of using an OS-side keymap again? That the game isn't a special snowflake anymore, and has to adhere to the same rules as the rest of the system? The same implications exist in window management and what not.

If there's anything, that discriminates users of non-QWERTY layouts, in this regard, it's Microsoft's very own policy for tying states, languages and keyboard layouts together (thus DSK is included in MS Windows only because it's an US standard, but Colemak isn't; meanwhile, some ethnic minorities have had trouble getting their localization, incl. input methods, into stock MS Windows).

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
What's the downside of using an OS-side keymap again? That the game isn't a special snowflake anymore, and has to adhere to the same rules as the rest of the system? The same implications exist in window management and what not.
Did you even read any of my posts? I know they are a huge wall of text, but if you did you wouldn't have to ask that. Change you OS keymap to something other than QWERTY, open a game and see what I mean. Imagine if anyone could just open up a game and play without the need of remapping everything to accommodate to your own layout. That's the problem.

If there's anything, that discriminates users of non-QWERTY layouts, in this regard, it's Microsoft's very own policy for tying states, languages and keyboard layouts together (thus DSK is included in MS Windows only because it's an US standard, but Colemak isn't; meanwhile, some ethnic minorities have had trouble getting their localization, incl. input methods, into stock MS Windows).

Colemak, if I understood correctly is copyright protected, and cannot be added, I don't remember the exact reasoning why it hasn't been made available freely. As for other minorities that's unfortunate. What was your solution again? Allow users to create their own layouts? It's almost as if I've suggested that already. You can create your own layouts for windows, using an application provided by microsoft. You seem to refuse to answer any of my critique and instead bring up things off point. If you don't care, that's fine, but don't claim you do and then belittle others who actually do care.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Change you OS keymap to something other than QWERTY, open a game and see what I mean.
That's what nearly everyone outside the US does.

Colemak, if I understood correctly is copyright protected, and cannot be added
Colemak is public domain (in the US, where public domain exists).

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Anyway, your problem seems to be that the developers create a default control scheme based on relative physical positions of keys, but it looks different on different keyboard layouts.

Well, that always happens. The famous ZXCV is actually YXCV on QWERTZ and WXCV on AZERTY, thus users of localized systems have to overreach for Z in case of Ctrl-Z. Even worse, if you switch between QWERTY and, say, AZERTY, different environments behave differently (some keep shortcuts in their former positions, others change them according to the current active layout).

Problems like this will exist as long as keyboards are "dumb" and send scancodes instead of actual symbols (control sequences, whatever).

Offline LuX

  • Posts: 132
  • Location: Finland
  • 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️ 🖲️
Change you OS keymap to something other than QWERTY, open a game and see what I mean.
That's what nearly everyone outside the US does.
Apparently watching paint dry is more productive than responding to you.

Anyway, your problem seems to be that the developers create a default control scheme based on relative physical positions of keys, but it looks different on different keyboard layouts.
Um... No? That was your problem earlier. Wow. Using relative physical positions is exactly what I'd want. You were the one complaining about how the keyboard labels do not supposedly match the character told in-game if this method was used. A thing that I said was avoidable. Scan codes for physical keys is same as per standard, keyboard layout is what's different for people, and this difference happens in the software side of things.

Well, that always happens. The famous ZXCV is actually YXCV on QWERTZ and WXCV on AZERTY, thus users of localized systems have to overreach for Z in case of Ctrl-Z. Even worse, if you switch between QWERTY and, say, AZERTY, different environments behave differently (some keep shortcuts in their former positions, others change them according to the current active layout).

Problems like this will exist as long as keyboards are "dumb" and send scancodes instead of actual symbols (control sequences, whatever).
Again off my point.

Keyboards are not dumb, they are just built that way because it's the simplest way. What do you expect? That all keyboards must have an on board dedicated processor? : D
The way keyboards are now is good enough, no need to make things complicated on the hardware side. Especially when it's easier to handle on the software side within the computer. As long as there is some transferring, interpretation has to happen anyway, there's no easy way around that.

I think I'm pretty much done here.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Keyboards are not dumb, they are just built that way because it's the simplest way. What do you expect? That all keyboards must have an on board dedicated processor? : D
Terminal keyboards used to be exactly like that several decades back.

Offline oneproduct

  • Posts: 859
  • Location: Montreal, Canada
  • @Ubisoft
To try to help since people don't seem to understand what LuX is saying:



A keyboard doesn't actually have any letters on it in terms of raw input. Pretend this section of the keyboard sends the codes 1-9. A typical WASD movement scheme would be 2456.

By using raw input, 2456 would be WASD on a US English layout and ZQSD on an AZERTY keyboard.

So you program the game to listen to raw input and it will work for all keyboards because all keyboards use the same standard for what codes certain positions on the keyboard send. You can also provide rebinding so that the raw input for "forward" changes from 2 (W on QWERTY and Z on AZERTY) to anything else you want, like 1 for example.

When you need to display it on screen, you ask the OS what the corresponding translation of the raw input is, which would display the raw input as the correct human output for your keyboard.
« Last Edit: Sun, 13 March 2016, 09:20:50 by oneproduct »
Layout: Colemak
Fastest typing speed: 131 WPM on typeracer, 136 WPM on 10fastfingers.
Daily driver: Filco Tenkeyless MX Brown with ergonomically weighted, lubed springs.
Ergo keyboards: Truly Ergonomic, Kinesis Advantage, Ergodox

Offline knowsnokb

  • Thread Starter
  • Posts: 35
Hi knowsnokb, my comment wasn't directed at your question, because I found it was answered by others. By 'irrelevant', I meant irrelevant from my point, which was "how a game can handle different keyboard layouts", a solution that will work for everyone.
As I have stated.......
Oh, my mistake. But thank you. I appreciate the insight in your posts, the posts of others, and the discussion. I'm learning something I didn't know before. :)
« Last Edit: Sun, 13 March 2016, 10:50:28 by knowsnokb »

Offline xtrafrood

  • formerly csmertx
  • * Elevated Elder
  • Posts: 2715
  • Location: Gainesville, FL
  • wildling
To try to help since people don't seem to understand what LuX is saying:

Show Image


A keyboard doesn't actually have any letters on it in terms of raw input. Pretend this section of the keyboard sends the codes 1-9. A typical WASD movement scheme would be 2456.

By using raw input, 2456 would be WASD on a US English layout and ZQSD on an AZERTY keyboard.

So you program the game to listen to raw input and it will work for all keyboards because all keyboards use the same standard for what codes certain positions on the keyboard send. You can also provide rebinding so that the raw input for "forward" changes from 2 (W on QWERTY and Z on AZERTY) to anything else you want, like 1 for example.

When you need to display it on screen, you ask the OS what the corresponding translation of the raw input is, which would display the raw input as the correct human output for your keyboard.
So in theory if you switch your native language in game, a raw input game should show you the characters of your language in a tutorial. And for non-standard layouts the tutorial will show the corresponding language's raw input characters?

With all this in mind I guess the answer would be to keep a layer dedicated to a standard layout. If you can edit raw input then keep that standard as well. 

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Yup. The problem with such raw input is that it surpasses layers or any other layout extensions implemented outside keyboard firmware (e.g., DreymaR's Extend layer).

Offline xtrafrood

  • formerly csmertx
  • * Elevated Elder
  • Posts: 2715
  • Location: Gainesville, FL
  • wildling
Good stuff to know  :)

Offline Oobly

  • * Esteemed Elder
  • Posts: 3929
  • Location: Finland
I use a version of AdNW and always rebind in-game. It means I can chat without switching layouts and doesn't affect anything else in my system. It's just where it should be, from a logical and system perspective.

-Edit- forgot to mention, the layout is implemented in the keyboard firmware, but it makes no difference to how I would do things in games if it were in a custom KLE layout for instance.
« Last Edit: Mon, 14 March 2016, 03:07:52 by Oobly »
Buying more keycaps,
it really hacks my wallet,
but I must have them.

Offline xtrafrood

  • formerly csmertx
  • * Elevated Elder
  • Posts: 2715
  • Location: Gainesville, FL
  • wildling
I use a version of AdNW and always rebind in-game. It means I can chat without switching layouts and doesn't affect anything else in my system. It's just where it should be, from a logical and system persepctive.
Good to know  :) Once upon a game. I played, and it was infested with bots. It's good to know that raw input is not affecting native tongues... wait.. wth is AdNW?

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994

Offline xtrafrood

  • formerly csmertx
  • * Elevated Elder
  • Posts: 2715
  • Location: Gainesville, FL
  • wildling
http://lmgtfy.com/?q=adnw
Yea, I have a family. The LMGTFY sticker is in my bookmarks  :rolleyes:. Bing, Google, Yahoo, hotbot, they all failed me.

Edit - Yahoo Wins! I found the Neo layout!

Edit, Edit - Hmmm.. I'm not sure this is what adnw is..

Edit, Edit, Edit - Oh, that link you sent finally did the search. Lawd, that LMGTFY took forever. Thank you!  :-*
« Last Edit: Mon, 14 March 2016, 04:30:05 by csmertx »

Offline dustpuppy

  • Posts: 19
How do people who have programmable keyboards who have programmed their keyboard with an alternative layout, whether Coleman, Dvorak, Workman, custom layout deal with playing games?
Please describe your layout and how it affects your game playing or how you've adjusted for games.

Dvorak and gaming is a constant pain  even if you just use a software layout. But I finally have a working solution. My windows layout is qwerty. My Ergodox EZ is hardware-mapped to dvorak, and then I have a Pok3r mapped to qwerty to handle my gaming needs. I game occasionally and it was important for me to not have to remap default qwerty layouts for every game I try.